Bases de Linux et de la ligne de commande
Dans un projet géré avec Git, on a écrit « build/ » dans le fichier .gitignore, mais les modifications de build/out.log, qui avait été validé auparavant, continuent d'apparaître dans git status. Quelle en est la raison ?
- A.gitignore ne s'applique qu'aux fichiers qui ne sont pas encore suivis : un fichier suivi doit être retiré du suivi avec git rm --cached
- BOn ne peut pas écrire de répertoire dans .gitignore : il faut y écrire un à un les noms des fichiers à ignorer
- C.gitignore n'a d'effet sur aucun fichier tant que le fichier .gitignore lui-même n'a pas été ajouté avec git add et validé
Afficher la réponse et l'explication
Réponse : A. .gitignore ne s'applique qu'aux fichiers qui ne sont pas encore suivis : un fichier suivi doit être retiré du suivi avec git rm --cached
.gitignore est un réglage qui exclut les fichiers qui ne sont pas encore suivis (jamais validés ni ajoutés avec git add) de la liste affichée par git status et de ce que git add prend en compte. Un fichier déjà suivi le reste même s'il est écrit dans .gitignore : ses modifications continuent donc d'apparaître. git rm --cached build/out.log arrête le suivi tout en gardant le fichier dans le répertoire de travail, et une fois ce changement validé, l'entrée de .gitignore prend effet. Il vaut mieux écrire dès le départ dans .gitignore les gros fichiers générés, comme les sorties de simulation et les résultats de compilation.
Continuer : 9 autres questions sur Bases de Linux et de la ligne de commande