59 votes

Comment puis-je ajouter quelque chose au .gitignore pour que la correspondance ne soit pas récursive?

Comment puis-je ajouter quelque chose à l' .gitignore alors que le match n'est pas récursive?

Par exemple, j'ai voulu ignorer le répertoire foo et le fichier bar.txt dans le répertoire courant, mais pas n'importe qui existent dans les sous-répertoires.

J'ai essayé pour ma .gitignore le fichier:

foo/
bar.txt

Mais, malheureusement, git s'applique ce de manière récursive, de sorte qu' otherdir/bar.txt et otherdir/foo/ également ignoré, ce qui n'est pas ce que je veux.

(Est-il un commande git qui me montre tous les fichiers ignorés, et de la référence de l' .gitignore le fichier qui est responsable pour le fichier d'être ignoré? Ce serait utile pour le débogage.)

100voto

pauldoo Points 5020

La solution consiste à placer une barre oblique sur les entrées .gitignore :

 /foo/
/bar.txt
 

(Je pensais l'avoir essayé avant de poster sur StackOverflow, mais je ne l'avais clairement pas essayé correctement, car cela fonctionne parfaitement.)

11voto

hermannloose Points 484

De la page de manuel gitignore:

Un préfixe optionnel! qui annule le motif; tout fichier correspondant exclu par un modèle précédent sera à nouveau inclus. Si un motif négatif correspond, cela remplacera les sources de motifs de priorité inférieure.

So !* comme la première ligne de votre .gitignore effacera tous les motifs précédents.

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