[Git] Changes not staged for commit (modified content, untracked content) 깃 서브모듈 인식 문제
Git 2018. 4. 12. 01:20문제상황
위와 같이 commit 진행시 위와 같은 메시지가 뜨면서 실제로 push를 하면 일부 디렉토리가 제대로 repo에 저장되지 않는 문제가 발생.
메시지에서 보이는 client 디렉토리가 제대로 연동되지 않는 현상임.
git status
깃 상태를 조회해보면 마찬가지 메시지를 볼 수 있음.
메시지 중에
commit or discard the untracked or modified content in submodules
즉, 서브모듈로 뭔가 인식하고 있는 것!!!
1. .git 폴더 확인
find . -name '.git'
find ./ -name '.git'
find -name '.git'
위 세가지 명령어는 동일한 결과를 보여줌
즉, 현재 위치하는 폴더부터 하위 노드를 모두 찾아가면서 '.git' 이라는 파일이 존재하면 경로를 출력해줌.
많이들 특정 모듈이 어디 설치되어 있는지 알아볼 때
find / -name '알고싶은모듈명'
으로 루트에서부터 검색하는 것 많이 써봤을거임 ㅇㅇ(위사진처럼)
우리는 현재 위치하는 디렉토리의 '.git' 폴더만 사용하고 하위 디렉토리에 있는 '.git' 은 서브모듈로 인식하지 않도록 삭제할 필요가 있는것임..
위와같이 -mindepth 2 를 중간에 옵션으로 쳐주면 자식노드부터 검색함.
2. 하위 .git 폴더 모두 삭제
뭐 일일이 직접 rm -rf 지울파일경로
이렇게 지워도 금방 할테지만 좀더 멋있게 하려면
find ./ -mindepth 2 -name '.git' -prune -exec rm -rf {} +
확인하니 자식노드들의 '.git' 파일들이 모두 지워졌음!
3. git push 실행
이제 안심하고 다시 add > commit > push 를 진행하면 깔-끔
'Git' 카테고리의 다른 글
[Git] 자주쓰는 깃 명령어 모음 (0) | 2018.04.13 |
---|