2017-09-09 16 views
0

우리는 Bitbucket에서 크기가 큰 솔루션 (약 1.5GB)을 가지고 있는데, resx 개의 파일이 3 개의 별도 폴더에 있습니다. 이 저장소에서 resx 개의 파일을 모두 다른 저장소 (예 : 번역 저장소)로 푸시하고 싶습니다.주 저장소에서 하위 리포지토리 생성하기

번역사가 이러한 파일을 별도로 작업하여 (격리되어) 원래의 저장소에 다시 병합 할 수 있습니다.

초기 생각은 응답 here에 따라 .gitignore이라는 두 번째 저장소를 만들어서 resx 파일을 제외한 모든 것을 무시하는 것이 었습니다.

# Ignore everything 
* 

# Don't ignore directories, so we can recurse into them 
!*/ 

# Don't ignore .gitignore 
!.gitignore 

# Now exclude our type 
!*.resx 

우리는 다음 그들 사이에 파일을 mege하는 (답 here에 따라)를 사용할 수 있을까?

$: git remote add local ../AnotherRepo 
$: git fetch local 
$: git merge local/master 

그러나, 나는이 등 자신의 별도의 역사와 함께 두 개의 sperate 파일 구조로 두 개의 저장소를 볼 것 같은데요?

위의 내용을 달성하고 두 저장소를 동기화하고 병합 할 때 git을 사용할 수있는 효율적인 방법이 있습니까? 번역 저장소를 주 저장소의 하위 저장소로 사용하는 것이 가장 이상적입니까?

+0

쉽게 병합 할 수 없습니다. 서로 다른 저장소에 서로 다른 파일 세트를 보관하고 다른 파일 세트를 다른 저장소의 서브 모듈로 설치할 수 있습니다. –

답변

2

이 내용은 an earlier answer에 작성되었으므로 명확해야하지만 힘내는 submodules을 지원합니다. 가능한 해결책이 있어야합니다.

기본적으로 하나의 저장소를 다른 저장소의 서브 모듈로 추가 할 수 있습니다. 각 저장소는 완전히 별개이지만 다른 저장소를 포함 할 수 있습니다. 서브 모듈을 포함시키기 위해 --recursive 플래그를 사용하여 상위 저장소를 복제 할 수 있습니다. 그렇게하면 구성 요소를 분리하여 보관할 수 있습니다.

당신이하고 싶은 일은 번역을위한 하나 이상의 별도의 저장소가 있고 응용 프로그램의 서브 모듈로 설정하는 것입니다.

Pro Git book은 하위 모듈에 대한 자세한 정보를 찾는 좋은 장소입니다.