RepoX에 BranchA 및 BranchB라는 두 개의 분기가 있다고 가정 해 보겠습니다. RepoX에는 SubmoduleY라는 서브 모듈이 있습니다.Git : 병합 및 서브 모듈
BranchA는 개정 'abc'의 SubmoduleY를 가지며, BranchB는 개정 'def'의 SubmoduleY를가집니다.
BranchA를 BranchB에 병합하고 싶지만 BranchB의 SubmoduleY에 'def'의 원래 개정판을 가리키고 싶습니다.
방법 1 :
- 체크 아웃 BranchB 나는이 일을 몇 가지 방법을 참조하십시오.
- SubmoduleY를 개정판 'abc'로 이동하면 실제 병합이 어려워집니다 (지금은 하위 모듈 수준에서 병합을 수행하지 않으려합니다).
- SubmoduleY에 새 개정판을 적용합니다 (병합을 위해 플로팅 할 수 없음).
- BranchA를 BranchB에 병합하십시오. 충돌을 해결하십시오.
- SubmoduleY를 수정본 'def'로 되돌립니다.
- SubmoduleY에 새 개정판을 적용하십시오.
- 변경 사항을 기본 저장소로 푸시합니다.
2 방법 : 방법 1과 동일하지만, 대신 6 단계를 수행하는
는, 리베이스와 여분의 서브 모듈을 제거 3.
모두 짜증나는 단점을 갖고있는 것 같다 단계에서 커밋 :
방법 1은 기록에 두 개의 추가 커밋을 넣습니다.
방법 2는 하위 모듈 리비전과 관련된 모든 변경 사항을 잊어 버리기 때문에 해당 커밋이 제거됩니다. 따라서 나중에 병합 할 경우 몇 가지 문제를 다시 처리해야합니다.
더 좋은 방법이 있습니까?
좋은 해결책! 감사. – Ben