개발관련/Git

기존 Git 저장소를 다른 저장소로 가져 오는 방법

Rateye 2021. 6. 13. 20:42
728x90
반응형
질문 : 기존 Git 저장소를 다른 저장소로 가져 오는 방법은 무엇입니까?

XXX 라는 폴더에 Git 저장소가 있고 YYY 라는 두 번째 Git 저장소가 있습니다.

XXX 저장소를 ZZZ 라는 하위 디렉토리로 YYY 저장소로 가져오고 모든 XXX 의 변경 내역을 YYY에 추가하고 싶습니다.

이전 폴더 구조 :

├── XXX │   ├── .git │   └── (project files) └── YYY     ├── .git     └── (project files) 

다음 이후의 폴더 구조 :

YYY ├── .git  <-- This now contains the change history from XXX ├──  ZZZ  <-- This was originally XXX │    └── (project files) └──  (project files) 

이 작업을 수행 할 수 있습니까? 아니면 하위 모듈을 사용해야합니까?

답변

아마도 가장 간단한 방법은 XXX 항목 을 YYY 의 분기로 가져온 다음 마스터에 병합하는 것입니다.

YYY :

git remote add other /path/to/XXX git fetch other git checkout -b ZZZ other/master mkdir ZZZ git mv stuff ZZZ/stuff                      # repeat as necessary for each file/dir git commit -m "Moved stuff to ZZZ" git checkout master                 git merge ZZZ --allow-unrelated-histories   # should add ZZZ/ to master git commit git remote rm other git branch -d ZZZ                           # to get rid of the extra branch before pushing git push                                    # if you have a remote, that is 

나는 실제로 두 개의 저장소로 이것을 시도했고 작동합니다. Jörg의 답변 과 달리 다른 저장소를 계속 사용할 수는 없지만 어쨌든 그것을 지정했다고 생각하지 않습니다.

참고 : 이것은 원래 2009에서 작성되었으므로 git은 아래 답변에서 언급 한 하위 트리 병합을 추가했습니다. 물론이 방법이 여전히 작동하지만 나는 아마도 오늘 그 방법을 사용할 것입니다.

출처 : https://stackoverflow.com/questions/1683531/how-to-import-existing-git-repository-into-another
728x90
반응형