Graceful Light

git add 안 되는 경우 확인해야될 것

2016-12-28


git add . 명령어 실행 후에 commit -m 명령어 실행 시,
또는 git commit -am 명령어로 바로 커밋시 add가 되지 않은 것처럼 빨간 파일이 보일 경우

add 확인

1
2
$ git add .
$ git add path_to_submodule

두 명령어를 다시 실행해본다.

diff 확인

그래도 add가 안 되는 경우 diff를 먼저 실행해본다.

1
2
$ git diff
$ git diff path_to_submodule

dirty diff가 있을 경우

submodule 종속 제거

내 프로젝트 안에 git clone으로 가져온 library가 있는지 확인해보자.

1
$ git submodule foreach --recursive git checkout .

모듈이 없다는 결과가 나올 경우

  • git에서 가져온 library를 모두 확인하고
  • .git 폴더가 생성되어있으면 삭제

모듈 결과가 있는 경우

  • .gitmodule 파일의 해당 모듈 부분 삭제
  • git add .gitmodules
  • .git/config 파일의 해당 모듈 부분 삭제
  • git rm –cached path_to_submodule 캐시 삭제
  • rm -rf .git/modules/path_to_submodule 모듈 폴더 삭제
  • git commit -m “Removed submodule“ 모듈 종속 삭제를 커밋하고
  • rm -rf path_to_submodule 모듈 파일 모두 삭제

없는 경우

cached 파일 제거

1
2
$ git rm -r --cached .
$ git rm -r --cached path_to_submodule

untracked 파일 제거

1
$ git clean -d -x -f

-d 는 디렉토리 포함, -x는 ignored 파일 포함, -f === force

commit으로 초기화

1
$ git reset --hard

이 명령어는 마지막 방법이 되어야한다. 작업량을 다 날릴 수 있다.

설명

git 버전이 높아지면서 프로젝트 내에 git에 종속적인 모듈이 있으면 add 자체가 안 된다.
시간도 날리고 프로젝트도 날렸지만 다른 분들은 도움받길…
git init 명령어를 실행한 branch가 master가 아니였길…

path_to_submodule은 submodule의 상대경로, 즉 add가 안 되는 파일의 경로를 적으면 된다.

Tags: git
🍺

Buy me a beer 🍗

공유하려면 QR코드를 스캔해주세요