web-dev-qa-db-fra.com

Ajouter .gitignore à gitignore

Est-il possible d'ajouter le .gitignore fichier à .gitignore lui-même?

.gitignore

Ne fonctionne pas bien

Je ne veux pas le voir dans les fichiers édités

103
user1125394

Le fichier .gitignore A pour but d'empêcher toute personne collaborant sur un projet de valider accidentellement certains fichiers communs d'un projet, tels que les fichiers de cache générés. Par conséquent, vous ne devez pas ignorer .gitignore, Car il est censé être inclus dans le référentiel.

Si vous souhaitez ignorer des fichiers d'un seul référentiel tout en évitant de valider la liste des ignorés (par exemple, pour les fichiers personnels), vous pouvez les ajouter à .git/info/exclude Dans ce référentiel.

Si vous souhaitez ignorer certains fichiers sur chaque référentiel de votre ordinateur, vous pouvez créer le fichier ~/.gitignore_global, Puis exécuter

git config --global core.excludesfile ~/.gitignore_global
128
Lars Nyström

Un .gitignore peut s’ignorer lui-même s’il n’a jamais été enregistré:

mhaase@ubuntu:~$ git --version
git version 1.7.9.5
mhaase@ubuntu:~$ git init temp
Initialized empty Git repository in /home/mhaase/temp/.git/
mhaase@ubuntu:~$ cd temp
mhaase@ubuntu:~/temp$ touch .gitignore foo bar baz bat
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       bar
#       bat
#       baz
#       foo
mhaase@ubuntu:~/temp$ echo "foo" >> .gitignore
mhaase@ubuntu:~/temp$ echo ".gitignore" >> .gitignore
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       bar
#       bat
#       baz
nothing added to commit but untracked files present (use "git add" to track)

Si vous enregistrez dans .gitignore (avant de lui dire de s’ignorer), il sera toujours affiché dans le statut de git, même si vous le modifiez ultérieurement pour s’ignorer lui-même.

28
Mark E. Haase

Il n'y a pas vraiment de bonne raison de faire ça. Si vous souhaitez que les fichiers soient uniquement ignorés par votre clone, ajoutez-les à .git/info/exclude, pas à .gitignore

18
Daenyth

Oui, vous pouvez; vous le voyez toujours dans les fichiers édités car il est toujours suivi par git, et les fichiers suivis par git sont toujours marqués comme modifiés même s'ils sont dans .gitignore. Si simplement décompresser le.

Mais pourquoi ne pas valider ou réinitialiser les modifications que vous avez? C’est un bien meilleur moyen de le retirer de son statut ... Sachez également que tout nouveau clone de votre repo devra ajouter son .gitignore, ce qui peut être agaçant.

1
CharlesB

Après avoir entré .gitignore dans votre fichier gitignore, essayez ce qui suit,

git rm -r --cached .
git add --all
git commit -m "ignoring gitignore"
git Push --set-upstream Origin master

Cela devrait fonctionner même si, comme déjà dit, ignorer gitignore peut être contre-productif si votre référentiel est partagé par plusieurs utilisateurs.

1
Arnab Sanyal