programing

맨 레포를 업데이트하려면 어떻게 해야 합니까?

oldcodes 2023. 8. 17. 21:52
반응형

맨 레포를 업데이트하려면 어떻게 해야 합니까?

저장소를 게시하기 위해 기본 저장소를 만들었지만 기본 저장소의 현재 상태로 기본 저장소를 업데이트하는 방법을 알 수 없습니다.

기본 레포에서 모든 개체를 복제하려면 기본 레포 내에서 다음 작업을 수행합니다.

git push --all <url-of-bare-repo>

또는 베어 레포 내부에서 가져오기를 수행합니다.

git fetch <url-of-main-repo>

풀이 다음과 병합하려고 하므로 풀을 수행할 수 없습니다.HEAD그것은 맨 레포에게는 없는 것입니다.

다음과 같이 원격으로 추가하여 나중에 입력 내용을 저장할 수 있습니다.

git remote add <whatever-name> <url-of-other-repo>

그러면 간단하게 할 수 있습니다.

git push --all <whatever-name>

또는

git fetch <whatever-name>

당신이 어떤 상황에 처해 있느냐에 따라. 만약에.<whatever-name>이라origin당신은 심지어 그것을 아예 생략할 수도 있습니다.


고지 사항:저는 기트 구루가 아닙니다.내가 잘못 말했다면, 나는 깨우치고 싶어요!

업데이트: 댓글을 읽어보세요!

2022-10-10 업데이트: 베어 깃 레포 안으로 가져오려면 아마도 해야 할 입니다.git fetch origin master:master그렇지 않으면 당신의git log새 커밋을 표시하지 않습니다. 사용git fetch origin *:*모든 로컬 분기를 업데이트합니다.자세한 내용은 주석을 참조하십시오.

다음 명령을 사용하여 리포지토리를 만들었습니다.

git clone --bare <remote_repo>

그런 다음 토마스의 답변을 사용하여 맨 클론을 업데이트하려고 했지만, 제게 효과가 없었습니다.기본 저장소를 업데이트하려면(Let_Me_Be가 요청한 것으로 생각됨) 미러 저장소를 생성해야 했습니다.

git clone --mirror <remote_repo>

그런 다음 미러링된 리포지토리에서 다음 명령을 실행하여 기본 리포지토리의 업데이트를 가져올 수 있습니다.

git fetch --all

Mirrora Git Repository By Pulling을 읽고 이 솔루션을 발견했습니다.

로 재창조하는 것 외에 유일한 해결책은git clone --mirror그레고르가 보낸 것입니다.

git config remote.origin.fetch 'refs/heads/*:refs/heads/*'

그러면 할 수 있습니다.git fetch업데이트 내용을 볼 수 있습니다.더 이상한 것은 이 전에, 비록 그것이 있습니다만.remote구성됨, 에 나열된 분기가 없습니다.git branch -a.

가정:

$ git clone --bare https://github.com/.../foo.git

가져오기:

$ git --git-dir=foo.git fetch origin +refs/heads/*:refs/heads/* --prune

참고:--git-dir=foo.git필요하지 않습니다.cd먼저 디렉토리로 이동합니다.

한참을 빈둥거리다가 이것이 나에게 효과가 있다는 것을 알게 되었습니다.

한 번:

git clone --mirror ssh://git@source.address:2000/repo
git remote add remote_site ssh://git@remote_site.address/repo
git config remote.origin.fetch 'refs/heads/*:refs/heads/*'

동기화할 때마다:

cd /home/myhome/repo.git
git --bare fetch ssh://git@source.address:2000/repo
git  fetch ssh://git@source.address:2000/repo
git push --mirror remote_site

기본 리포지토리를 원격 리포지토리로 추가한 다음 사용git push.

나에게 이 조합은 효과가 있었습니다.

git remote add remote_site https://github.com/project/repo.git
git fetch -u remote_site +refs/heads/*:refs/heads/*
git fetch -u remote_site +refs/tags/*:refs/tags/*
git push --mirror

fetch에 대한 -u 매개 변수가 필요했습니다. 그렇지 않으면 "현재 branch refs/heads/master of non-branch refs/master of non-branch repository"(https://stackoverflow.com/a/19205680/4807875) 참조)라는 오류 메시지가 표시됩니다.

언급URL : https://stackoverflow.com/questions/3382679/how-do-i-update-my-bare-repo

반응형