Tout le monde sait s'il est possible d'ignorer toutes les instances d'un répertoire particulier dans une structure de fichier gérée par git.
Je cherche à exclure tous les dossiers "cibles" d'un projet maven avec plusieurs sous-modules. Je sais que je peux explicitement exclure chacun d’eux dans un .gitignore de premier niveau, mais j’aimerais vraiment pouvoir spécifier un modèle comme **/target/* pour qu’il ignore automatiquement l’instance dans les sous-répertoires?
Est-ce possible?
Il est possible d’utiliser des patterns dans un .gitignore
fichier. Voir le page de manuel de gitignore . Le motif */target/*
devrait ignorer tous les répertoires nommés cible et tous les répertoires qu’il contient. Ou vous pouvez essayer */target/**
pour tout ignorer sous cible.
Le .gitignore
fichier dans le répertoire racine ne s'applique à tous les sous-répertoires. Le mien ressemble à ceci:
.classpath
.project
.settings/
target/
Ceci est dans un projet multi-module Maven. Tous les sous-modules sont importés en tant que projets Eclipse individuels à l'aide de m2Eclipse. Je n'ai plus de .gitignore
des dossiers. En effet, si vous regardez dans le page de manuel de gitignore :
Les motifs lus d'un
.gitignore
fichier dans le même répertoire que le chemin, ou dans n’importe quel répertoire parent …
Donc, cela devrait fonctionner pour vous.
Comme déjà signalé dans les commentaires de Abhijeet, vous pouvez simplement ajouter une ligne comme celle-ci:
/target/**
à exclure fichier dans le dossier \.git\info\
.
Ensuite, si vous souhaitez vous débarrasser de ce dossier target
dans votre référentiel distant, vous devez d'abord supprimer manuellement ce dossier de votre référentiel local, puis valider. C’est parce que git vous montrera le contenu d’un dossier cible modifié.
J'ignore toutes les classes résidant dans le dossier cible de git. ajoute la ligne suivante dans le fichier ouvert .gitignore:
/. class
OR
*/cible/**
Cela fonctionne parfaitement pour moi. l'essayer.