베어 리포지토리를 어떻게 업데이트합니까? 기본 리포지토리의 현재 상태로

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



답변

기본 리포지토리의 모든 개체를 복제하려면 기본 리포지토리에서이 작업을 수행하십시오.

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

또는 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>

당신이있어. 만약이 REPO 내용에 따라 <whatever-name>입니다 origin, 당신도 전부를 생략 할 수 있습니다.

면책 조항 : 나는 자식 전문가가 아닙니다. 내가 잘못 말하면 깨달음을 원합니다!

업데이트 : 의견을 읽으십시오!


답변

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

git clone --bare <remote_repo>

그런 다음 Thomas의 답변을 사용하여 베어 클론을 업데이트하려고 시도했지만 작동하지 않았습니다. 베어 리포지토리를 업데이트하려면 (Let_Me_Be가 요청한 것으로 생각) 미러 리포지토리를 만들어야했습니다.

git clone --mirror <remote_repo>

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

git fetch --all

Git 리포지토리 미러링을 읽어서이 솔루션 을 보았습니다.


답변

로 다시 이외의 유일한 해결책은 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

답변

Bare 저장소를 원격 저장소로 추가 한 다음을 사용하십시오 git push.


답변

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

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

가져 오기에 대한 -u 매개 변수가 필요했습니다. 그렇지 않으면 “비 베어 리포지토리의 현재 분기 참조 / 헤드 / 마스터로 가져 오기 거부”( https://stackoverflow.com/a/19205680/4807875 참조 ) 오류 메시지가 나타납니다.