2014-12-01 5 views
1

저장소 A에는 우리가 작성한 사용자 정의 양식 탐색 엔진 (예로서)과 많은 다른 코드가 있습니다. 리포지토리 B는 동일한 양식 탐색 엔진을 사용하려는 별도의 프로젝트입니다. 우리는 코드의 복사본을 두 곳에 보관하고 싶지 않습니다. 단지 Repo B의 프로젝트에서 Repo A의 커밋을 보길 원합니다. Git의 서브 모듈의 경우입니까? 그렇지 않은 경우 다른 Repo의 코드를 참조하는 데 권장되는 방법은 무엇입니까? 감사합니다Git 저장소는 다른 git 저장소의 코드를 참조합니다.

+2

하위 모듈 또는 하위 트리를 사용하십시오. http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/ – three

답변

0

이 시나리오에서는 하위 모듈과 하위 트리 병합을 모두 사용합니다. 하위 모듈은 로얄 PITA이므로 하위 트리로 이동합니다. 질문의 코멘트에서 @ 3의 링크를 참조하십시오. 우수한 읽기. 인기 요청에 따라

은 : 서브 모듈은 몇 년 동안 왕실의 피타

  • 에게 왜 서브 모듈을 제거 할 명령이 없었다. 아직 없니? 3 곳에서 서브 모듈의 URL
  • 중복 저장 : 주요 프로젝트 .gitmodules, 주요 프로젝트 설정, 서브 모듈 설정의 필요성을 결과
  • 간단한 체크 아웃 작업이 악몽이 될 모든 시간 submodule update 특히 한 가지가 서브 모듈이있는 경우, 하지만 다른 사람이 아니야
  • 사람은 재귀 적 푸시가 있다고 가정하지만 하위 모듈은 읽기 전용 URL에서 온 것일 수 있으므로
  • 메인 레포 전에 서브 모듈을 푸는 것을 잊었습니까? 공개 메인 repo가 ​​깨졌습니다.

위의 모든 문제는 하위 트리 병합으로 사라집니다. 가격 : 서브 프로젝트의 업스트림으로 푸시하는 것은 간단합니다.

+0

업데이트를 참조하십시오. 서브 모듈로 정기적으로 작업하는 개발자의 결과. 아무런 문제없이. – SzG

+0

하위 트리 합병 트릭, 감사합니다! http://www.codeproject.com/Articles/562950/GitplusSubtreeplusMergeplus-e-TheplusQuickpl – dt1000

관련 문제