Question Ignorer le fichier .gitignore lui-même


Je viens de faire un git init à la racine de mon nouveau projet.

Puis j'ai créé un .gitignore fichier.

Maintenant, quand je tape git status, .gitignore Le fichier apparaît dans la liste des fichiers non suivis. Pourquoi donc?


906
2018-04-20 06:42


origine


Réponses:


le .gitignore fichier doit être dans votre référentiel, il doit donc être ajouté et validé dans, comme git status suggère. Il doit faire partie de l'arborescence du référentiel, afin que les modifications puissent être fusionnées et ainsi de suite.

Donc, ajoutez-le à votre dépôt, il ne devrait pas être gitignored.

Si vous voulez vraiment, vous pouvez ajouter .gitignore au .gitignore fichier si vous ne voulez pas qu'il soit commis. Cependant, dans ce cas, il est probablement préférable d'ajouter les ignorés à .git/info/exclude, un fichier checkout-local spécial qui fonctionne exactement comme .gitignore mais qui n'apparaît pas dans "git status" puisqu'il est dans le .git dossier.

Voir également https://help.github.com/articles/ignoring-files


866
2018-04-20 07:11



Si vous voulez stocker la liste des fichiers ignorés en dehors de votre arbre Git, vous pouvez utiliser le .git / info / exclude fichier. Il est appliqué uniquement à votre caisse du repo.


263
2018-04-20 07:14



Vous pouvez réellement mettre une ligne ".gitignore" dans votre fichier ".gitignore". Cela entraînerait l'ignorance du fichier ".gitignore" par git. Je ne pense pas que ce soit une bonne idée. Je pense que le fichier ignoré devrait être contrôlé par la version et suivi. Je suis en train de mettre ça là pour l'exhaustivité.


69
2018-04-20 07:58



Vous pouvez également avoir un utilisateur global git .gitignore fichier qui s'appliquera automatiquement à tout vos repos. Ceci est utile pour les fichiers IDE et éditeurs (par ex. swp et *~ fichiers pour Vim). Modifier les emplacements de répertoire pour adapter votre système d'exploitation

  1. Ajouter à votre ~/.gitconfig fichier

    [core]
    excludesfile = /home/username/.gitignore
    
  2. Créer un ~/.gitignore fichier avec des modèles de fichiers à ignorer

  3. Enregistrez vos fichiers de points dans un autre repo afin de disposer d'une sauvegarde (facultatif).

Chaque fois que vous copiez, initez ou clonez un repo, votre fichier gitignore global sera également utilisé.


47
2018-06-10 07:46



Après avoir ajouté le .gitignore le fichier et le valider, il n'apparaîtra plus dans la liste des "fichiers non-suivis".

git add .gitignore
git commit -m "add .gitignore file"
git status

38
2018-04-20 06:50



Si quelqu'un a déjà ajouté un .gitignore à votre repo, mais vous voulez apporter des modifications et faire ignorer ces changements, procédez comme suit:

git update-index --assume-unchanged .gitignore

La source.


36
2018-02-09 20:19



Juste incase quelqu'un d'autre a la même douleur que nous avions. Nous voulions exclure un fichier qui avait déjà été commis.

Ce post était beaucoup plus utile: travailler avec .git / info / exclure trop tard

Spécifiquement ce que vous devez ignorer un fichier est en fait utiliser la commande git remove Voir git rm (http://www.kernel.org/pub/software/scm/git/docs/git-rm.html)

vous le testez en allant

git rm --dry-run *.log
(Si vous dites vouloir exclure tous les fichiers journaux)

cela produira ce que serait exclu si vous l'avez exécuté.

puis

vous l'exécutez en allant

git rm *.log
(ou quel que soit le chemin d'accès / l'expression que vous voulez)

Puis ajoutez un *.log ligne à votre .gitignore fichier.


20
2017-09-25 03:00



L'idée est de placer les fichiers spécifiques à votre projet dans le .gitignorefichier et (comme déjà mentionné) l'ajouter au référentiel. Par exemple .pyc et .o fichiers, les journaux créés par la suite de tests, certains appareils, etc.

Pour les fichiers créés par votre propre installation mais qui n'apparaîtront pas nécessairement pour chaque utilisateur (comme .swp fichiers si vous utilisez vim, répertoires ecplise cachés et similaires), vous devez utiliser .git/info/exclude (comme déjà mentionné).


15
2018-04-20 07:55