배경
Linux에서 Git 1.8.1.1 사용. 저장소는 다음과 같습니다.
master
book
하위 모듈은 다음과 같이 생성되었습니다.
$ cd /path/to/master
$ git submodule add https://user@bitbucket.org/user/repo.git book
book
서브 모듈은 깨끗합니다 :
$ cd /path/to/master/book/
$ git status
# On branch master
nothing to commit, working directory clean
문제
반면 마스터는 book 서브 모듈에 대한 "새로운 커밋"이 있음을 보여줍니다.
$ cd /path/to/master/
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: book (new commits)
#
no changes added to commit (use "git add" and/or "git commit -a")
Git은 하위 모듈 디렉토리를 완전히 무시해야 마스터도 깨끗합니다.
$ cd /path/to/master/
$ git status
# On branch master
nothing to commit, working directory clean
실패한 시도 # 1-더티
master/.gitmodules
이 답변에 따라 파일 내부는 다음과 같습니다 .
[submodule "book"]
path = book
url = https://user@bitbucket.org/user/repo.git
ignore = dirty
실패한 시도 # 2-추적되지 않음
master/.gitmodules
이 답변 에 따라 다음으로 변경 되었습니다 .
[submodule "book"]
path = book
url = https://user@bitbucket.org/user/repo.git
ignore = untracked
실패한 시도 # 3-showUntrackedFiles
master/.git/config
이 답변 에 따라 다음과 같이 편집 되었습니다 .
[status]
showUntrackedFiles = no
실패한 시도 # 4-무시
마스터 무시 파일에 책 디렉토리를 추가했습니다.
$ cd /path/to/master/
$ echo book > .gitignore
실패한 시도 # 5-복제
다음과 같이 마스터에 책 디렉토리를 추가했습니다.
$ cd /path/to/master/
$ rm -rf book
$ git clone https://user@bitbucket.org/user/repo.git book
질문
어떻게 수있는 book
서브 모듈은 아래 자신의 저장소 디렉토리에 master
저장소 아직 무시 GIT이 book
서브 모듈을? 즉, 다음이 표시되지 않아야합니다.
#
# modified: book (new commits)
#
git status
마스터 저장소에서 실행할 때 해당 메시지를 억제하는 방법은 무엇입니까?
git 하위 모듈 함정 에 대한 기사 에서 부적절한 하위 모듈 사용을 제안합니까?