오랜만에 유튜브 강의 따라 만들기를 해봤다.
강의를 들으며 chatting-app
이라는 디렉토리에서 작업했고 저장소에 올리기 위해 git도 사용했다. 다 하고 푸시를 하려고 보니 How-to-make
라는 저장소에 하위 디렉토리로 올려야겠다는 생각이 났다.
그런데 지금 작업 상태를 보면 chatting-app
이라는 폴더에도 .git이 있기 때문에 이대로 How-to-make
저장소의 하위 디렉토리로 푸시를 하게되면 submodule
로 저장이 된다.
.git을 지우고 파일들을 옮겨서 푸시를 할 수 있겠지만 커밋을 살리면서 디렉토리 형태로 올라가는 방법을 찾아봤다.
우선 평소 작업하던대로 chatting-app
저장소를 만들어서 chatting-app
디렉토리의 원격 저장소로 연결한다. (저장소끼리 합치는 것이기 때문에)
상위 디렉토리가 될 저장소를 클론한다. 나는 How-to-make
저장소를 클론
대망의 합치기(상위 디렉토리에서 명령어를 사용해야 한다.)
// git subtree add --prefix=하위디렉토리가상위디렉토리에들어가서가질이름 하위디렉토리가될저장소의주소 가져올브랜치
git subtree add --prefix=chatting-app https://github.com/moonyerim2/chatting-app master
git status
에는 아무것도 없지만 푸시를 한 번 해준다.git push origin master
그럼 이런 커밋메세지가 작성된다. 커밋을 안하고 바로 푸시하니까 수정은 못하는 것 같다.
커밋...이랄 것도 없지만 아무튼 남아있고 디렉토리 형태로 잘 합쳐진 것을 확인할 수 있다.
필요 없어진 chatting-app
저장소는 삭제해도 된다.