여러 레포지토리들을 하나로 합쳐둘 레포지토리를 A,
A에 합치고 싶은 레포지토리를 B 라고 정해두고 작성했습니다.
Git clone [레포지토리 A 주소]
예시 :
Git clone https://github.com/sokkanji/test-A.git
Cd [클론 받은 레포지토리 경로]
예시 :
Cd coding/test-A
Git subtree add —prefix=[레포지토리 B 이름] [레포지토리 B 주소] [브랜치 이름]
예시 :
Git subtree add —prefix=test-B https://github.com/sokkanji/test-B.git main
Git push origin HEAD:[레포지토리 A 브랜치 이름]
예시 :
Git push origin HEAD:main
_Working tree has modifications. Cannot add_
위와 같은 오류가 발생한 이유는 레포지토리에 커밋되지 않은 변경사항이 남아있기 때문에 발생했었습니다. 변경사항이 남아있지 않도록 커밋을 하거나, 커밋 내역에 잡히지 않게 하면 이 오류는 더이상 발생하지 않았습니다.
하나로 합친 레포지토리를 보면 기존 커밋 내역들 또한 전부 합쳐지고
합쳐진 레포지토리 B들을 삭제해도 기존 잔디들이 삭제되지 않습니다!
이 명령어를 통해, 레포지토리 약 25개를 1개로 합쳐져서 레포지토리 내역이 한결 깔끔해졌네요. 레포지토리 내역을 깔끔하게 관리하시고 싶다면 이 명령어를 사용해보시는 걸 추천드립니다.