1 개의 저장소를 다른 저장소에 연결하는 방법은 무엇입니까?1 개의 git 저장소를 다른 저장소에 연결하는 방법은 무엇입니까?
/var/Common.git
/var/Project1.git
/var/Project2.git
:
내가 다음 저장소를 가정 이제 Common.git을 다른 리포지토리에 사용하고 싶습니다. 내가 어떻게 해 ?1 개의 저장소를 다른 저장소에 연결하는 방법은 무엇입니까?1 개의 git 저장소를 다른 저장소에 연결하는 방법은 무엇입니까?
/var/Common.git
/var/Project1.git
/var/Project2.git
:
내가 다음 저장소를 가정 이제 Common.git을 다른 리포지토리에 사용하고 싶습니다. 내가 어떻게 해 ?당신은 아마 submodules 찾고 :
서브 모듈은 외국 저장소는 소스 트리의 전용 서브 디렉토리에 포함 할 수 있도록, 항상 커밋에게 특정 지적했다.
핵심 단어 임베디드이 : Common.git의 실제 복제는 다른 프로젝트의 각각의 내부에 내장 될 것이다. 이것은 일반적으로 다른 프로젝트에서 수정하지 않고 하나의 버전 만 사용하고 원래의 Common.git에서 그 버전을 업데이트 할 때 유용합니다. 서브 모듈의 경로가 저장소에 커밋 위하여려고하고있다
가# add Common.git as a submodule at the path "common" inside this repo
git submodule add /var/Common.git common
# initialize it, clone, and check out a copy
git submodule update --init
# commit the addition of the submodule
git commit
주, 그래서 당신은 공개적으로 사용 가능한 URL을 사용한다 : 당신은 같은 것을 할 것입니다. 로컬로 사용자 정의하려면 git submodule init
을 실행하고 .git/config에서 URL을 편집 한 다음 git submodule update
을 실행하십시오. 추가 질문이있는 경우 맨 페이지를 참조하거나 SO를 검색하십시오. 여기에는 서브 모듈에 관한 많은 질문들이 있습니다.
반면에 각 프로젝트 내에서 Common.git의 내용을 편집하려는 경우 을 사용하는 것이 좋습니다. git의 하위 트리 병합 기능은 친숙한 래퍼입니다. 그러면 common.git의 내용을 각 프로젝트 내부의 추적 된 내용으로 간주 할 수 있지만 커밋을 자체에 병합하고 Common.git 자체에 병합하고 Common.git에 대한 업데이트를 프로젝트에 병합 할 수 있습니다 .
이 git submodule
설계된있는 완벽한 경우가 다음 Project1의 및 Project2에 내 http://git-scm.com/docs/git-submodule
, 당신은 공통의 서브 모듈을 추가 할 수 있습니다. 그리고 나서 당신 git submodule checkout
복제 된 저장소에는 Common git의 해시 만 저장합니다. 그래서 너 git submodule init
과 체크 아웃.
https://git.wiki.kernel.org/index.php/GitSubmoduleTutorial –