➰ Library/GIT

commit log 유지하면서 Git Repository 합치기

 사과개발자 2021. 6. 2. 21:33

git을 관리하다보면 여러 repository 를 합치고 싶은 순간이 있죠? 🤔
근데 그냥 새로운 폴더를 만들고 내용을 옮겨서 git push만 하고 옮긴 repository를 삭제하면..
우리의 소중한 🌱🌱🌱 잔디🌱🌱🌱 가 사라져버려서.. 속상했던 적이 한번쯤 있으셨을겁니다 ㅠㅠ

이 문제를 제가 해결해 드릴게요~ 😆


 

일단 저희가 옮기고 싶은 repository의 이름을 sub_repo,

메인으로 가지고 있고 싶은 repository의 이름을 main_repo 라고 해봅시다!

1. 일단 main_repo를 git clone 받습니다.

git clone https://github.com/****/main_repo.git

 

2. main_repo안에서 아래와 같이 git subtree add --prefix=(해당 Repository 하위의 디렉터리 구조) (옮겨올 Repository 주소) (옮겨올 Repository의 branch) 를 입력합니다.

git subtree add --prefix=make_sub_reop_file https://github.com/****/sub_repo.git master

 

3. ls 명령어를 통해서 새로운 file이 생겼는지 확인하고 git add→commit→push 를 순서대로 진행합니다.

 

4. git 에 make_sub_reop_file 라는 이름의 새로운 file이 추가되고 commit log 도 모두 이동이 된것을 확인할 수 있습니다.

이제 기존의 sub_repo는 미련없이 delete하셔도 됩니다!! 😆

 

+ Working tree has modifications.  Cannot add. 에러가 났다면~ 아래의 링크를 눌러주세요 

 

Working tree has modifications. Cannot add. 에러 해결하기!

commit을 유지하면서 git repository를 합치던 중 아래와 같은 오류를 만났다면! 그 원인은 메인 repo가 현재 최신버전이 아니기 때문입니다. 따라서 git push 를 통해 현재 폴더가 최신버전이 되도록 하

dailylifeofdeveloper.tistory.com

+ fatal: couldn't find remote ref master. 에러가 났다면~ 아래의 링크를 눌러주세요!

 

fatal: couldn't find remote ref master. 에러 해결하기!

commit을 유지하면서 git repository를 합치던 중 아래와 같은 오류를 만났다면! 그 원인은 서브 repo의 브랜치 이름을 잘못 입력했기 때문입니다. 따라서 아래의 방법과 같이 현재 브랜치의 이름을 확

dailylifeofdeveloper.tistory.com

 

반응형