2017-04-03 1 views
0

Puis-je demander à Git d'ignorer les modifications dans certains fichiers suivis lors de la validation d'un dossier? Donc, par exemple, si je décide d'ignorer 'private.conf', je ne mettrais pas ça en commit si je fais 'git commit', mais ça fonctionnerait normalement si je le dis explicitement à 'git commit private .conf '..gitignorer un fichier existant sans le supprimer de repo

S'il vous plaît prendre également en compte que

  • Je sais que je peux dire explicitement git les fichiers à livrer à chaque fois (par exemple « git commit source1.c source2.c »), mais c'est très pratique pour moi. Au lieu de cela, je dirais à git de valider tous les fichiers sauf 'private.conf'.
  • Certaines rubriques stackoverflow suggèrent de renommer private.conf en private.conf.template, puis d'exécuter 'git rm --cached private.conf'. Pour certaines raisons, cela ne m'intéresse pas non plus. Merci de ne pas me suggérer ça. Merci.
  • Je sais que je peux aussi faire 'git update-index --assume-unchanged private.conf' - et cela ferait exactement ce que je veux, mais seulement pour mon dépôt git local. Ce que je recherche est une façon de le faire pour la branche distante (et tous les dépôts git clonés à partir de cette branche distante).
+0

Vous ne devriez pas utiliser '--assume-unchanged' dans ce cas, mais' --skip-worktree'. Voir ici: https://stackoverflow.com/a/13631525/1615903 – 1615903

Répondre

0

Non, ce n'est pas possible. Un fichier suivi est un fichier suivi et ne peut pas être ignoré.

Btw. utiliser --assume-unchanged est plutôt dangereux, parce que vous dites à Git que son fichier n'est pas modifié et qu'il le traite comme ça, ce qui signifie que Git peut à tout moment vous écarter des changements locaux si vous changez de branche, rebasez, fusionnez ou similaire.

Si vous voulez un changement de fichiers ne sont pas suivis, vous devez supprimer à partir du référentiel, comme la suggestion avec le fichier .template ou .sample comme je nomme habituellement ces fichiers.