반응형
커밋 내용, 잔디 남기면서 레포지토리 하나에 모으는 법
Git subtree
git subtree
명령어를 활용하면 여러 레포지토리를 하나의 레포지토리로 모을 수 있다. 모으면서 동시에 커밋 히스토리도 남길 수 있음
레포지토리 하나를 하나의 폴더에 넣는 형식이므로, 브랜치가 여러개일경우
브랜치별로 폴더를 만들거나 아니면 하나의 브랜치만 가져가는 걸 추천
1. Parent Repository 만들기
기존과 동일하게 깃허브에서 레포지토리를 하나 만든다
2. 새 레포지토리를 로컬에 clone
git clone https://github.com/keartt/Today_I_Learn.git
git remote set-url --push origin https://github.com/keartt/Today_I_Learn.git
3. 기존 repo 를 새 repo 에 넣기
git subtree add --prefix=z_academy https://github.com/keartt/a4_junior.git main
이떄 --prefix=
뒤에는 현제 repo 의 새로 생길 폴더명을 지정해줌
뒤에는 기존의 repository url
과 가져올 branch
명 입력
4. 넣은 내용 push
git push origin HEAD:main
이렇게 하면 기존 repo 의 커밋내용들 코드, 잔디 모두 새 repo에 들어간다.(기존 repo 삭제해도 잔디남아있음)
[참고]
- subtree 하기 전 새 repo 를 최신버전으로 유지시키자
- 기존 repo 가 private 이였더라도 새 repo 가 public 이면 subtree 한 내용은 public 이 된다
반응형
'Git' 카테고리의 다른 글
[Git] 커밋 여러개 하나로 합치기 (1) | 2024.07.03 |
---|---|
[Git] 명령어 정리 (1) | 2024.07.03 |
#Github Desktop 사용법 (0) | 2023.03.02 |
#GitFlow #깃 협업 방식 #hotfix (0) | 2023.03.02 |
GitHub #push #pull #clone #pull request (0) | 2023.03.02 |