본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 9.6: submodule 제거하기
Version > 1.8
아래 명령어를 통해 특정 submodule (예: the_submodule) 을 제거할 수 있다:
$ git submodule deinit the_submodule
$ git rm the_submodule
git submodule deinit the_submodule
명령은 the_submodule 항목을 .git/config 항목에서 삭제하게 된다. 이는 the_submodule 을git submodule update
및git submodule sync
,git submodule foreach
명령의 수행 대상에서 제외시키며 로컬의 내용물들을 모두 삭제하게 된다. 또한, 이는 부모 저장소에 있어 변경사항으로 표시되지 않게 된다.git submodule init
과git submodule update
명령어 수행시 마찬가지로 부모 저장소에 있어 커밋 가능한 변경사항을 야기하지 않으면서도 submodule 내용을 원복시킬 수 있다.git rm the_submodule
명령은 work tree 에서 submodule 을 제거해 준다. submodule 의 파일들 뿐만 아니라 .gitmodules 파일에서의 해당 submodule 항목 역시 삭제될 것이다. 만약git rm the_submodule
명령만이 수행된다면 (git submodule deinit the_submodule
명령 수행 없이), .git/config 파일 내의 submodule 항목은 유지될 것이다.
Version < 1.8
이곳 에서 발췌됨:
- .gitmodules 파일에서 삭제할 submodule 관련 부분을 삭제한다.
git add .gitmodules
명령을 통해 .gitmodules 변경사항을 stage 시킨다- .git/config 파일에서 관련 부분을 삭제한다.
git rm --cached path_to_submodule
(맨 끝에 / 붙이지 않음에 유의) 를 수행한다.rm -rf .git/modules/path_to_submodule
을 수행한다git commit -m "Removed submodule <name>"
명령어로 커밋을 수행한다- git 에 의해 추적되지 않도록 (untracked) 변경된 파일들을 삭제한다
rm -rf path_to_submodule
을 수행한다
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
'번역 > Git Notes for Professionals' 카테고리의 다른 글
10.1: 변경사항을 stage 하고 커밋하기 (1) | 2019.10.18 |
---|---|
10: 커밋하기 (0) | 2019.10.18 |
9.5: submodule 위치 변경하기 (0) | 2019.10.16 |
9.4: submodule 로 하여금 특정 브랜치를 추적 (follow) 하도록 하기 (0) | 2019.10.15 |
9.3: submodule 추가하기 (0) | 2019.10.14 |