web-dev-qa-db-fra.com

Global Git ignorer

Je souhaite configurer Git pour qu'il ignore globalement certains fichiers.

J'ai ajouté un fichier .gitignore à mon répertoire racine utilisateur (Users/me/) et y ai ajouté la ligne suivante:

*.tmproj

Mais ce n'est pas ignorer ce type de fichiers, aucune idée de ce que je fais mal?

727
Mild Fuzz

Vous devez configurer votre fichier de configuration global core.excludesfile pour qu'il pointe vers ce fichier ignorer global.

par exemple.

* nix ou Windows git bash:

git config --global core.excludesfile '~/.gitignore'

Windows cmd:

git config --global core.excludesfile "%USERPROFILE%\.gitignore"

Pour Windows, il est défini sur l’emplacement C:/users/{myusername} /. Gitignore. La commande ci-dessus ne définira que l'emplacement du fichier ignore que git utilisera. Le fichier doit toujours être créé manuellement à cet emplacement et renseigné avec la liste des ignorés (à partir du commentaire de muruge ).

Vous pouvez en savoir plus sur la commande à l’adresse https://help.github.com/articles/ignoring-files/#create-a-global-gitignore

1237
CB Bailey

Avant de reconfigurer le fichier d'exclusion global, vous pouvez vérifier ce à quoi il est actuellement configuré, à l'aide de cette commande:

git config --get core.excludesfile

Dans mon cas, quand je l'ai exécuté, j'ai vu que mon fichier d'exclusion globale était configuré pour 

~/.gitignore_global
et il y avait déjà quelques choses énumérées là. Ainsi, dans le cas de la question donnée, il peut être judicieux de commencer par rechercher un fichier d'exclusion existant et d'y ajouter le nouveau masque de fichier.

259
yanni

Bien que d'autres réponses soient correctes, elles définissent la valeur de configuration globale alors qu'il existe un emplacement git par défaut pour le fichier global git ignore:

*rien:

~/.config/git/ignore

Les fenêtres:

%USERPROFILE%\git\ignore

Vous devrez peut-être créer le répertoire git et le fichier ignore, mais vous pourrez alors placer vos ignorations globales dans ce fichier et le tour est joué!

La source

Le fichier dans lequel placer un motif dépend de la manière dont le motif doit être utilisé.

  • Les modèles qu’un utilisateur souhaite que Git ignore dans toutes les situations (par exemple, des fichiers de sauvegarde ou temporaires générés par l’éditeur de son choix) vont généralement dans un fichier spécifié par core.excludesFile dans le ~/.gitconfig de l’utilisateur. Sa valeur par défaut est $ XDG_CONFIG_HOME/git/ignore. Si $ XDG_CONFIG_HOME n'est pas défini ou est vide, $ HOME/.config/git/ignore est utilisé à la place.
168
Steve Jorgensen

Pour créer gitignore global à partir de zéro: 

$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
  1. La première ligne change le répertoire en C:/Users/User
  2. Après cela, vous créez un fichier vide avec l'extension .gitignore_global
  3. Et enfin, mettre global ignore dans ce fichier.
  4. Ensuite, vous devriez l'ouvrir avec une sorte de bloc-notes et ajouter les règles nécessaires d'ignorer.
24
Phoera

De ici .

Si vous créez un fichier dans votre référentiel nommé .gitignore, Git utilisera ses règles pour consulter les fichiers à valider. Notez que git n'ignorera pas un fichier qui avait déjà été suivi avant qu'une règle ne soit ajoutée à ce fichier pour l'ignorer. Dans un tel cas, le fichier doit être non suivi, généralement avec:

git rm --cached filename

Est-ce votre cas?

16
LaGrandMere

Si vous utilisez un système Unix, vous pouvez résoudre votre problème en deux commandes. Où le premier initialise la configuration et le second modifie le fichier avec un fichier à ignorer.

$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore
4
Purkhalo Alex

Rappelez-vous que l'exécution de la commande 

git config --global core.excludesfile '~/.gitignore'

va simplement configurer le fichier global, mais ne le créera PAS . Pour Windows, recherchez le fichier .gitconfig dans votre répertoire Utilisateurs et modifiez-le selon vos préférences. Dans mon cas c'est comme ça:

[core]
  excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore
4
mouse m.d.

Je suis en mesure d'ignorer un fichier .tmproj en incluant .tmproj ou *.tmproj dans mon fichier /users/me/.gitignore-global

Notez que le nom du fichier est .gitignore-global et non .gitignore. Cela n'a pas fonctionné en incluant .tmproj ou *.tmproj dans un fichier appelé .gitignore dans le répertoire /users/me

1
Sri Sankaran

Vous devriez créer un fichier d'exclusion pour cela. Découvrez ce Gist qui est assez explicite.

Toutefois, pour répondre à votre question, vous devrez peut-être désindexer le fichier .tmproj (si vous l'avez déjà ajouté à l'index) avec git rm --cached path/to/.tmproj ou git add et commit votre fichier .gitignore.

1
Nic
  1. Créez un fichier .gitignore dans votre répertoire personnel
touch ~/.gitignore
  1. Ajoutez-y des fichiers ( les dossiers ne sont pas reconnus )

Exemple

# these work
*.gz
*.tmproj
*.7z

# these won't as they are folders
.vscode/
build/

# but you can do this
.vscode/*
build/*
  1. Vérifier si un git a déjà un gitignore global
git config --get core.excludesfile
  1. Dites à git où se trouve le fichier
git config --global core.excludesfile '~/.gitignore'

Voila !!

0
Prerak Mann

sur le sous-système Windows pour Linux, je devais accéder à la racine du sous-système par cd ~/ puis touch .gitignore, puis mettre à jour la configuration globale de gitignore.

J'espère que ça aide quelqu'un.

0
bboydflo