* 두개의 repo를 하나의 repo로 합쳐서 관리하고싶다.* 히스토리도 같이 복사하고 싶다.
* 로컬에 각각 저장소 형상을 clone해서 받아논 상황
현재 상황
A repo : master
ㄴXXX (폴더)
ㄴYYY (폴더)
B repo : master
ㄴZZZ (폴더)
ㄴSSS (폴더)
원하는 형상
A repo
ㄴXXX
ㄴYYY
ㄴZZZ(B:master였음)
ㄴSSS(B:master였음)
#B Repo의 master Branch를 A Repo의 new_branch로 가져오고
# A 현재 브랜치에 합치기
$ cd A
$ git fetch ../B/ master:B_master
#B_marster 브랜치가 새로 생성됨
$ git merge B_master --allow-unrelated-histories
무서워서 로컬브랜치에서 작업하고 push 했는데, orgin으로 바로 해도 된다.
현재 branch와 머지할 때 --allow-unrelated-histories 옵션을 사용하는 이유는 이미 존재하는 두 프로젝트의 히스토리를 저장할 때 사용하는 옵션이다.
히스토리를 가진 이질적인 프로젝트를 merge를 하게 되면 fatal: refusing to merge unrelated histories 오류가 발생하는데 해당 옵션을 사용하면 해결할 수 있다.
아 참, tag들도 잘 따라옵니다.
같은 깊이가 아닌, 하위 폴더로 합치고 싶으면 참고하기
https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another
반응형
'SW Programming > 형상관리' 카테고리의 다른 글
슬랙에서 깃헙 푸시 알람받기 (0) | 2022.08.17 |
---|---|
안드로이드 스튜디오(android studio)에서 깃헙(git) 계정 바꾸기 (0) | 2022.07.26 |
Unity Scene git Merge하다가 comflict ... 돌아버리기전에 발견한 UnityYAMLMerge기능으로 자동머지하자 (git) (0) | 2021.11.26 |
GIT 히스토리까지 모조리 새로운 저장소로 복사하기 (clone --mirror) (0) | 2021.06.17 |
git cherry-pick으로 특정 commit 머지하기, cherry-pick 옵션 (0) | 2019.10.28 |
댓글