Antecedentes
Usando Git 1.8.1.1 en Linux. El repositorio tiene el siguiente aspecto:
master
book
El submódulo se creó de la siguiente manera:
$ cd /path/to/master
$ git submodule add https://user@bitbucket.org/user/repo.git book
El book
submódulo está limpio:
$ cd /path/to/master/book/
$ git status
# On branch master
nothing to commit, working directory clean
Problema
El maestro, por otro lado, muestra que hay "nuevas confirmaciones" para el submódulo del libro:
$ 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 debería ignorar el directorio del submódulo por completo, de modo que el maestro también esté limpio:
$ cd /path/to/master/
$ git status
# On branch master
nothing to commit, working directory clean
Intento fallido # 1 - sucio
Dentro del archivo master/.gitmodules
está lo siguiente, según esta respuesta :
[submodule "book"]
path = book
url = https://user@bitbucket.org/user/repo.git
ignore = dirty
Intento fallido n. ° 2: sin seguimiento
Cambiado master/.gitmodules
a lo siguiente, según esta respuesta :
[submodule "book"]
path = book
url = https://user@bitbucket.org/user/repo.git
ignore = untracked
Intento fallido n. ° 3 - showUntrackedFiles
Editado master/.git/config
a lo siguiente, según esta respuesta :
[status]
showUntrackedFiles = no
Intento fallido n. ° 4: ignorar
Se agregó el directorio del libro al archivo maestro de ignorar:
$ cd /path/to/master/
$ echo book > .gitignore
Intento fallido n. ° 5: clonar
Se agregó el directorio de libros al maestro de la siguiente manera:
$ cd /path/to/master/
$ rm -rf book
$ git clone https://user@bitbucket.org/user/repo.git book
Pregunta
¿Cómo puede el book
submódulo estar en su propio directorio de repositorio bajo el master
repositorio y hacer que git ignore el book
submódulo? Es decir, no debería aparecer lo siguiente:
#
# modified: book (new commits)
#
¿Cómo suprimir ese mensaje al ejecutar git status
en el repositorio principal?
¿Un artículo sobre las trampas del submódulo git sugiere que este es un uso inapropiado del submódulo?