Передумови
Використання 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 підказує, що це невідповідне використання підмодуля?