git clone –mirror를 업데이트하는 방법? 저장소)를 미러링하기 위해 git 저장소를 만들었습니다. git clone

라이브 사이트 (비 베어 git 저장소)를 미러링하기 위해 git 저장소를 만들었습니다.

git clone --mirror ssh://user@example.com/path/to/repo

이제이 미러 클론을 원격 원점의 모든 변경 사항으로 업데이트하려면 어떤 명령을 사용해야합니까?

커밋, 심판, 후크, 분기 등 모든 것을 최신 상태로 유지하고 싶습니다.

감사!



답변

이것은 미러에서 실행해야하는 명령입니다.

git remote update

답변

커밋, 심판, 브랜치 및 ” et cetera ” 와 관련하여 Magnus 답변은 작동합니다 (git remote update ).

그러나 불행히도 후크clone/ 미러 / 후크하는 방법은 없습니다update 내가 원한 것처럼 …

후크 복제 / 미러링에 대한이 흥미로운 스레드를 발견했습니다.

http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread

나는 배웠다:

  • 후크는 저장소 내용의 일부로 간주되지 않습니다.

  • .git/description폴더와 같이 후크처럼 복제되지 않는 더 많은 데이터가 있습니다 .

  • hooks디렉토리에 나타나는 기본 후크 는TEMPLATE_DIR

  • template자식 에이 흥미로운 기능 이 있습니다 .

따라서 저는이 “복제 고리 (clone the hooks thing)”를 무시하거나 rsync내 거울의 목적에 따라 전략을 시도 할 수 있습니다 (다른 클론의 백업 + 소스 만 해당).

글쎄 … 난 그냥 후크 복제를 잊고 git remote update길을 고수합니다 .

  • Sehe는 “후크”가 clone/ update프로세스에 의해 관리 될 뿐만 아니라 스 태쉬, 재 호출 등도 수행 한다는 것을 지적했다 . 따라서 엄격한 백업 rsync이나 그에 상응하는 것이 실제로 갈 길이다. 필자가 말한 것처럼 (내가 후크, 숨김 등을 가질 여유가 없기 때문에) 실제로는 필요하지 않기 때문에 remote update.

감사! 내 자신의 “git-fu”조금 개선 : 🙂


답변

여기를 보아라: Git은 후속 클론의 모든 분기를 복제하지 않습니까?

당신이 정말로 대신에 가지를 당겨서 이것을 원한다면 push --mirror 여기를 살펴볼 수 있습니다.

git bare 저장소의 “fetch –all”은 로컬 브랜치를 원격 브랜치와 동기화하지 않습니다.

이 답변은 비교적 쉽게 달성하는 방법에 대한 자세한 단계를 제공합니다.