web-dev-qa-db-fra.com

Meilleure pratique pour utiliser plusieurs fichiers .gitignore

Il existe une collection d'utiles .gitignore Fichiers à https://github.com/github/gitignore . Chaque fichier ignore il y a une extension .gitignore, par exemple. Java.gitignore, vim.gitignore. Lorsque je mets ces fichiers directement dans un WorkDir, ils ne fonctionnent pas.

Est-il nécessaire de créer un seul fichier .gitignore et fusionner les fichiers constitutifs dans celui-ci?

En conséquence, lors de l'utilisation d'un --global.gitignore Fichier, il semble que la configuration pointe sur un seul fichier. Si, par exemple, je veux appliquer tout .gitignore Fichiers dans un répertoire global/Devrais-je les fusionner manuellement dans un seul fichier? Si tel est le cas, c'est un travail supplémentaire pour conserver ce fichier fusionné à jour avec la collection "officielle".

Pour réitérer, je reconnais que nous pouvons utiliser différents .gitignore Fichiers dans différents répertoires, mais ce n'est pas ce que je veux. Je veux appliquer plusieurs .gitignore Fichiers dans un seul répertoire.

38
victorwoo

Pour clarifier: Un fichier gitiignore de projets s'appelle .gitignore


Fond:

A .gitignore fait référence au répertoire dans lequel il est dans lequel il s'agit du niveau supérieur ou de la descente d'un répertoire avec un référentiel .git, c'est-à-dire un répertoire ".git /".

Il peut y avoir plusieurs fichiers .gitignore dans des sous-répertoires, mais la meilleure pratique consiste à avoir un .gitignore dans une racine de projets donnée et avoir ces sous-répertoires de référence de fichier si nécessaire, par exemple images/annuelles/récentes sinon elles sont difficiles à savoir "quel" fichier "gitignore à regarder pour trouver quelque chose qui est ignoré. Étant donné que vous pouvez utiliser des motifs comme noms de fichier qui pourraient être assez difficiles!

Je recommande également en évitant à l'aide d'un fichier global .gitignore qui s'applique à Projets sur votre ordinateur, bien que vous puissiez garder un modèle autour d'utiliser avec de nouveaux projets. La considération principale ici est que votre .gitignore sera différent des autres développeurs (qui peuvent ou non exister) et que le résultat est donc indéterminé. Un exemple d'exception à cela consiste à utiliser un fichier global .gitignore pour IDE fichiers que je ne veux pas dans aucun projet que j'ouvre sur ma machine, donc j'utilise un global .gitigore avec une entrée pour .idea/fichiers (rubymine).


L'intention des modèles que vous voyez énumérées est que Normalement, vous écrivez le code d'un fichier donné dans une langue spécifique. Compte tenu de cela, un modèle basé sur la langue est souvent suffisant.

S'il y a plusieurs langues dans la base de code, vous avez besoin de combiner plusieurs .gitignore's pour ces langues, qui peuvent être effectuées de manière à une multitude de façons telles que:

cat .gitignore1 .gitignore2 > .gitignore # if .gitignore doesn't exist yet
cat .gitignore1 >> .gitignore # Add to it if it already exists
paste .gitignore1 .gitignore # Add to it if it already exists

Hot (ish) de la presse (été 2014):

Gitriborer est un utilitaire simple qui facilite la création de fichiers .gitignore. Il tire des modèles spécifiques (spécifiés) .gitignore, avec des fichiers communs à exclure, de github.com/github/gitignore, les enlève ensemble et les enregistre à un .gitignore dans le répertoire actuel.

Exemple d'utilisation:

gitignorer create c Java python

Gitriborer est actuellement disponible dans l'Aur à l'adresse - https://aur.archlinux.org/packages/gitignorer/ et sur github à - https://github.com/zachlatta/gitignorer


37
Michael Durrant