Udemy에서 React 강의 진행중에 만든 프로젝트들을 일종의 tree 구조로 관리하고 싶었다.
알아보니 GIT에는 submodule이란 게 있어서 부모 레포의 커밋 내용과 자식 레포의 커밋 내용을 따로 관리할 수가 있다고 한다. 서브모듈로 만들어보자!
git init을 실행하고 submodule을 추가했다.이 과정에서 깃헙에 올라간 나의 레포가 3개나 늘었다.. 근데 생각해보면 3개씩이나 올라갈 필요는 없는 것 같다. 그냥 하나의 레포지터리에서 관리하는 게 낫겠다. 그리고 사실 레포지터리명만 보면 어느 게 부모인지 자식인지 레포지터리간의 관계를 유추하기가 쉽지 않았다. 이게 가장 큰 문제였다..
처음엔 멋모르고 git submodule deinit /path/to/submodule 을 실행했다가 코드가 날아갔다. 자식 레포의 .git 파일(?)만 부모 레포의 .git 파일(?) 내부로 들어가고 코드가 날아감...
git submodule update를 통해 살렸다.....
그러니까 결국 자식 레포는 .git 을 삭제하면 되는 거였고 부모 레포의 .submodules 파일은 삭제해주면 되는... 그런 문제였던 것 같다.
잘 안 돼서 git rm --rf --cached path/to/submodule 명령어로 캐시를 날리기도 해보았다. 유효했는지까지는 잘 모르겠다.