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?
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
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_globalet 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.
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é!
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.
Pour créer gitignore global à partir de zéro:
$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
C:/Users/User
.gitignore_global
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?
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
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
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
.
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
.
touch ~/.gitignore
Exemple
# these work
*.gz
*.tmproj
*.7z
# these won't as they are folders
.vscode/
build/
# but you can do this
.vscode/*
build/*
git config --get core.excludesfile
git config --global core.excludesfile '~/.gitignore'
Voila !!
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.