git repository 안의 repository 담기(subtree 이용)
문득 git repository를 정리해야 겠다는 생각이 들었다.
한 repository안에 여러 repository를 담아보자.
방법은 간단하다.
준비물
# 부모 repository (상자)
# 자식 repository (상자에 담을 애들)
순서
1. github에 들어가서 부모 repository를 생성해주자.
2. 원하는 디렉토리에 들어가 git clone <부모repository> 해준다. (git bash || terminal)
git clone <부모repository> 명령어를 쳐주면, 현재 아무 커밋을 하지 않은 상태이기 때문에
warning: You appear to have cloned an empty repository. 라는 경고문구가 뜬다.
하지만 그냥 단지 경구문구일뿐, 해당 경로에 폴더가 생겼을 것이다.
방금 생긴 폴더에 들어가준다 (명령어: cd 해당경로)
3. 이제 중요하다.
git subtree add --prefix=<폴더 이름> <repository 주소> <branch 이름>
이 형식에 맞게, 명령어를 쳐주면 됀다.
<폴더 이름> = github repository에 올라올 폴더이름을 정하는것이다.
<repository 주소> = 상자에 담을 repository주소를 기입해준다.
<branch 이름> = 상자에 담을 repository주소의 branch를 정해준다.
이제 이오류를 직면할 것이다.
아무 커밋이 없어 브랜치가 모호하기 때문이다.
아무 내용이나 커밋해주면 해결 끝
git commit --allow-empty -n -m "Initial Commit."
커밋이 잘되고있다.
마지막으로 부모 레파지토리(상자)에 push를 해주면 된다.
git push origin master 혹은 main
그러면 깔끔하게 정리된 레파지토리를 갖게 된다.
굳