Задний план
Использование Git 1.8.1.1 в Linux. Репозиторий выглядит следующим образом:
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
Проблема
Мастер, с другой стороны, показывает, что для подмодуля книги есть «новые коммиты»:
$ 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 предполагает, что это неправильное использование подмодуля?