Tout le monde sait s'il est possible d'ignorer toutes les instances d'un répertoire particulier dans une structure de fichiers gérée par git.
Je cherche à exclure tous les dossiers «cible» dans un projet maven avec un certain nombre de sous-modules. Je sais que je peux explicitement exclure chacun d'eux dans un .gitignore de niveau supérieur, 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?
git
maven-2
version-control
gitignore
sgargan
la source
la source
Réponses:
Il est possible d'utiliser des motifs dans un
.gitignore
fichier. Consultez la page de manuel de gitignore . Le modèle*/target/*
doit ignorer tout répertoire nommé target et tout ce qui se trouve en dessous. Ou vous pouvez essayer*/target/**
d'ignorer tout sous la cible.la source
/target/**
fonctionne bien dans le\.git\info\exclude
fichier.Le
.gitignore
fichier dans le répertoire racine ne s'applique à tous les sous - répertoires. Le mien ressemble à ceci:C'est dans un projet maven multi-module. Tous les sous-modules sont importés en tant que projets d'éclipse individuels à l'aide de m2eclipse. Je n'ai plus de
.gitignore
fichiers. En effet, si vous regardez dans la page de manuel de gitignore :Cela devrait donc fonctionner pour vous.
la source
src/main/java/org/example/game/archery/bow/LongBow.java
etsrc/main/java/org/example/game/archery/target/Target.java
, vous ne trouveriez rien à frapper avec votre LongBow avec une telle configuration .gitignore :-))Comme déjà souligné dans les commentaires d'Abhijeet, vous pouvez simplement ajouter une ligne comme:
pour exclure le fichier du
\.git\info\
dossier.Ensuite, si vous souhaitez vous débarrasser de ce
target
dossier dans votre référentiel distant, vous devrez d'abord supprimer manuellement ce dossier de votre référentiel local, le valider, puis le pousser. C'est parce que git vous montrera le contenu d'un dossier cible tel que modifié au début.la source
J'ignore toutes les classes résidant dans le dossier cible de git. ajoutez la ligne suivante dans le fichier .gitignore ouvert:
/ .class
OU
*/cible/**
Cela fonctionne parfaitement pour moi. essayez-le.
la source
ajouter les lignes suivantes dans gitignore, à partir de tous les fichiers indésirables
la source