Jeder weiß, ob es möglich ist, alle Instanzen eines bestimmten Verzeichnisses in einer von git verwalteten Dateistruktur zu ignorieren.
Ich möchte alle 'Ziel'-Ordner in einem Maven-Projekt mit einer Reihe von Submodulen ausschließen. Ich weiß, dass ich jeden von ihnen in einem .gitignore der obersten Ebene explizit ausschließen kann, aber ich möchte wirklich in der Lage sein, dort ein Muster wie ** / target / * anzugeben, damit die Instanz in Unterverzeichnissen automatisch ignoriert wird.
Ist das möglich?
git
maven-2
version-control
gitignore
Sgargan
quelle
quelle
Antworten:
Es ist möglich, Muster in einer
.gitignore
Datei zu verwenden. Siehe die gitignore-Manpage . Das Muster*/target/*
sollte jedes Verzeichnis mit dem Namen target und alles darunter ignorieren. Oder Sie versuchen*/target/**
, alles unter dem Ziel zu ignorieren.quelle
/target/**
funktioniert in\.git\info\exclude
Datei ein Brunnen.Die
.gitignore
Datei im Stammverzeichnis gilt für alle Unterverzeichnisse. Meins sieht so aus:Dies ist in einem Maven-Projekt mit mehreren Modulen. Alle Submodule werden mit m2eclipse als einzelne Eclipse-Projekte importiert. Ich habe keine weiteren
.gitignore
Dateien. In der Tat, wenn Sie in der gitignore Manpage schauen :Das sollte also für Sie funktionieren.
quelle
src/main/java/org/example/game/archery/bow/LongBow.java
undsrc/main/java/org/example/game/archery/target/Target.java
, Sie würden nichts finden, um mit Ihrem LongBow mit einer solchen .gitignore-Konfiguration zu treffen :-))Wie bereits in den Kommentaren von Abhijeet erwähnt, können Sie einfach folgende Zeilen hinzufügen:
ausschließen Datei im
\.git\info\
Ordner.Wenn Sie diesen
target
Ordner in Ihrem Remote-Repo entfernen möchten, müssen Sie diesen Ordner zuerst manuell aus Ihrem lokalen Repository löschen, festschreiben und dann verschieben. Das liegt daran, dass git Ihnen den Inhalt eines Zielordners anzeigt, der zuerst geändert wurde.quelle
Ich ignoriere alle Klassen, die sich im Zielordner von git befinden. Fügen Sie der geöffneten .gitignore-Datei die folgende Zeile hinzu:
/ .class-
ODER
*/Ziel/**
Es funktioniert perfekt für mich. Versuch es.
quelle
Fügen Sie in gitignore die folgenden Zeilen aus allen unerwünschten Dateien hinzu
quelle