101 votes

Git n'ignore pas 2 fichiers spécifiquement nommés

Je veux exclure automatiquement 2 fichiers de la validation, qui font partie du dépôt git mais qui ont des modifications, qui ne devraient pas faire partie du dépôt github, car ils ont des modifications qui sont uniquement significatives pour mon système local et pas pour les autres développeurs.

Je les ai ajoutés à .git/info/exclude dans l'espoir que git comprenne qu'il ne devrait pas valider les modifications apportées :

# git ls-files --others --exclude-from=.git/info/exclude
# Les lignes qui commencent par '#' sont des commentaires.
# Pour un projet principalement en C, les patterns d'exclusion suivants seraient un bon ensemble de
# motifs d'exclusion (décommentez-les si vous voulez les utiliser) :
# *.[oa]
a.conf
b.conf
# *~

mais git status les liste toujours comme étant en attente de validation :

# Sur la branche master
# Modifications à valider :
#   (utilisez "git reset HEAD ..." pour désindexer)
#
#   modifié :   build/conf/a.conf
#   modifié :   build/conf/b.conf
#

Je ne veux pas les désindexer régulièrement à chaque validation (un jour je pourrais simplement oublier), comment puis-je faire ?

225voto

eckes Points 17277

Ce que vous voulez faire, c'est ignorer les modifications apportées aux fichiers suivis. Cela ne peut être réalisé (comme le dit Charles Bailey) correctement, ni avec .gitignore ni avec .git/info/exclude.

Vous devrez utiliser git update-index:

git update-index --assume-unchanged build/conf/a.conf
git update-index --assume-unchanged build/conf/b.conf

accomplira ce que vous voulez : les fichiers sont toujours considérés comme inchangés.

Si vous voulez de nouveau suivre les modifications apportées à ces fichiers, utilisez --no-assume-unchanged.

Enfin, si vous voulez savoir quels fichiers sont actuellement en mode --assume-unchanged, demandez à git

git ls-files -v | grep -e "^[hsmrck]"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X