J'ai besoin d'ignorer les fichiers dans git! Je ne pense pas qu'ignorer soit le bon mot en fait; Je veux que les fichiers soient dans git, mais je ne veux pas pouvoir y apporter de modifications. Cela peut sembler étrange à certains, mais il y a de très nombreux cas où j'ai besoin de cette fonctionnalité. La seule instance dont j'ai besoin pour le moment est l'utilisation de git avec un CMS; le CMS ne fonctionnera pas sans les fichiers qu'il change constamment, mais je ne veux pas que ces fichiers soient validés après la validation initiale. (C'est très facile à faire avec SVN et Tortoise).
WorkFlow:
Voici ce que j'ai essayé:
.gitignore
- les fichiers n'entrent jamais dans git. Si le fichier est déjà dans le cache, le fichier .gitignore ne fait rien./.git/info/exclude
- même problème que .gitignore, mais uniquement pour le dépôt local.Voici ma réponse d'un question similaire .
git update-index devrait faire ce que vous voulez
Cela indiquera à Git que vous souhaitez commencer à ignorer les modifications apportées au fichier
git update-index --assume-unchanged path/to/file
Quand vous voulez recommencer à suivre
git update-index --no-assume-unchanged path/to/file
Une autre solution consiste à utiliser un pre-commit
crochet. Voir git help hooks
pour plus de détails.
C'est plus difficile à configurer: vous devez écrire un script Shell pour exprimer exactement ce que vous voulez autoriser ou interdire, ce qui signifie probablement que vous devez avoir une assez bonne compréhension de git.
C'est plus permanent et flexible: avec des astuces comme git update-index
vous pouvez accidentellement oublier de l'exécuter, etc. Mais une fois que vous avez installé un crochet, vous n'avez plus à vous en soucier.
Comme les autres astuces suggérées, les hooks ne se propagent pas automatiquement entre les référentiels, mais vous pouvez les archiver en tant que fichiers normaux et demander à tout le monde de les lier dans .git/hooks
.