submodule을 사용하는 Git 사용 중에 아래와 같은 에러가 발생하였다.
$ git status
fatal: Not a git repository: /path/to/project/.git/modules/modules/common
구글에 검색 결과 원인은 없고, 해결방법만 나와 있었다.
해결방법은 프로젝트 디렉터리의 ".git"를 삭제하고 git init 명령어를 실행하라는 것이었다.
이렇게 하니 위의 에러는 없어졌지만 git remote -v 한 결과 원격저장소 내용이 다 사라졌다.
다른 설정들도 지워졌으리라 생각된다.
다시 git clone으로 프로젝트를 받아서 해결하였지만 원인이 궁금하였다.
해당 프로젝트 상위의 다른 프로젝트에서도 같은 에러가 발생하였다.
에러가 발생한 저장소를 백업하고 git clone로 같은 프로젝트를 받은 후 diff -r로 비교해보았다.
그러자 원인을 알것 같다.
몇 일 전 디렉터리를 정리하느라 소스가 있는 디렉터리의 상위 디렉터리 이름을 변경한 적이 있다.
diff했더니 변경되기 전 경로로 .git내의 파일들에 기록이 되어있었다.
/path/from/project/.git -> /path/to/project/.git
다른 원인도 있을 수 있겠으나 위와 같은 경우
원인을 알았으니 소스의 상위 디렉터리 경로를 마음대로 바꾸는 일은 없길 바란다.
변경하였으면 git clone으로 새로 받기를 바란다.
우분투 12.04에서 사용 중인 git 버전은 다음과 같다.
$ git --version
git version 1.7.9.5
'형상관리 > VCS' 카테고리의 다른 글
SVN 커밋 로그 검사 (0) | 2017.01.04 |
---|