Contexte
Utilisation de Git 1.8.1.1 sous Linux. Le dépôt se présente comme suit :
master
book
Le sous-module a été créé comme suit :
$ cd /path/to/master
$ git submodule add https://user@bitbucket.org/user/repo.git book
En book
Le sous-module est propre :
$ cd /path/to/master/book/
$ git status
# On branch master
nothing to commit, working directory clean
Problème
Le master, quant à lui, montre qu'il y a de "nouveaux commits" pour le sous-module 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 devrait ignorer complètement le répertoire du sous-module, afin que le master soit également propre :
$ cd /path/to/master/
$ git status
# On branch master
nothing to commit, working directory clean
Échec de la première tentative - sale
Dans le dossier master/.gitmodules
est le suivant, selon ce qui suit réponse :
[submodule "book"]
path = book
url = https://user@bitbucket.org/user/repo.git
ignore = dirty
Échec de la tentative #2 - non tracé
Modifié master/.gitmodules
à ce qui suit, conformément à ce qui suit réponse :
[submodule "book"]
path = book
url = https://user@bitbucket.org/user/repo.git
ignore = untracked
Échec de la tentative n°3 - showUntrackedFiles
Modifié master/.git/config
à ce qui suit, conformément à ce qui suit réponse :
[status]
showUntrackedFiles = no
Échec de la tentative n° 4 - ignorer
Ajout du répertoire des livres au fichier maître des ignorés :
$ cd /path/to/master/
$ echo book > .gitignore
Tentative ratée #5 - clone
Ajout du répertoire book au master comme suit :
$ cd /path/to/master/
$ rm -rf book
$ git clone https://user@bitbucket.org/user/repo.git book
Question
Comment le book
soit dans son propre répertoire de dépôt sous le nom de master
mais que git ignore le book
sous-module ? C'est-à-dire que ce qui suit ne devrait pas s'afficher :
#
# modified: book (new commits)
#
Comment supprimer ce message lors de l'exécution git status
dans le référentiel maître ?
Un article sur Les pièges du sous-module git suggère une utilisation inappropriée du sous-module ?