[git] submodule 이용 관련 Develop Tip

어느 git 프로젝트가 있었습니다.

일반적인 git 프로젝트라면,

$ git clone ${GIT_URL}

와 같이 clone 을 하면 되는데,

여기에 submodule 이 있었다면,

git clone 한 폴더 안에 들어가서,

$ git submodule init

후,

$ git submodule update
를 하면 됩니다.

일단 서브 모듈이 변경된 다음에는
그 안에 들어가서 개별 git add, git commit, git push 까지 한 다음
위에서 동일한 작업을 하던가 아니면

위에서 

$ git submodule foreach pull

등을 하면 되었습니다.

그런데 어떤 경우에는,

$ git submodule init
를 하면,

fatal: no submodule mapping found in .gitmodules for path 'a/b/c'

와 같이 오류 메시지가 나왔습니다. (a/b/c 대신 자신의 패스로 대치하면 됩니다)

다음은 위와 같은 오류 메시지가 나왔을 때 해결 방법입니다.

git 최 상단에서,

git ls-files --stage | grep 160000
라고 하면,

160000 8f89ad3f05265ea215336cc28430c0a064605c06 0       a/b/c
160000 aef0d3ca2d807ad6581412ffb2cf42f87af166ba 0       src/common

와 같이 나오는데,

이 부분에서 a/b/c 를 삭제하면 됩니다.

$ git rm --cached a/b/c

위의 명령이 성공하면,

git submodule init
git submodule update
가 모두 성공하였습니다.


어느 분께는 도움이 되셨기를..

덧글

댓글 입력 영역

구글애드텍스트