2016-07-29 18 views
2

Ich möchte meine .gitignore bestimmte Ordner und Dateien zu ignorieren, so dass ich mit dem folgenden aufkam:Git ignorieren nicht ignoriert die angegebenen Ordner/Dateien

*.class 

# usual java ignores 
bin/ 
.metadata 

# Maven 
*/target/* 
target/* 
/target/ 
*/deploy/* 
deploy/* 

# src-gen folder is populated by the command of protobuf, these files should not be pushed 
src-gen/* 

# eclipse generated stuff 
dependency-reduced-pom.xml 

# we shouldn't have .jar files in our repository, 
# apart from these 5 jars which are vital for our build process 
*.jar 
!/projectName/bundle/**/*.jar 

# For Unix editors 
# sometimes make file copies ending 
# with ~ 
# To ignore them use: 
*~ 

# For Mac 
.DS_Store 
._* 

# For markdown read me files 
.README.md.html 

Doch nach einer git status kann ich nicht sehen, etwas zu als Ausgabe gelöscht werden. Beachten Sie, dass dies ein Submodul ist, wenn das überhaupt zählt. Und ich möchte, dass .gitignore alles ohne Angabe eines Ordnernamens ignoriert, da ich keine Hardcodierung möchte.

Hier ist die Ordnerstruktur Ich habe:

+ parentRepo 
    + thisRepo 
    + .gitignore 
    + projectName 
     + src-gen 
     + target 
     + deploy 
     + dependency-reduced-pom.xml 
     + bundle 
     + system 
      + 1.jar 
      + 2.jar 
      + 3.jar 
      + 4.jar 
      + 5.jar 

Antwort

3

"Ich kann nichts sehen gelöscht werden" - Sie haben gerade git gesagt, um einige Dateien zu ignorieren; Jetzt erwarten Sie, dass es sie löscht?

.gitignore wird nur für Dateien verwendet, die nicht bereits verfolgt werden (d. H. Wenn neue Dateien zum Repository hinzugefügt werden). Wenn sich die Datei bereits im Repository befindet und Sie sie ignorieren möchten, müssen Sie sie aus dem Repository entfernen (git rm --cached file) und die Änderung bestätigen.

0

Stellen Sie sicher, dass Ihre .gitignore im Stammverzeichnis ist. In diesem Verzeichnis führen Sie git status und kopieren Sie den Pfad zu der Datei von der Statusausgabe und fügen Sie es in die .gitignore.

.gitignore ignoriert nur Dateien, die Sie nicht bereits zu Ihrem Repository hinzugefügt haben.

+0

Also, ich werde nur 1 .gitignore (im übergeordneten Verzeichnis) und es wird auch alles für die Submodule tun? –

+0

Ja, aber stellen Sie sicher, dass die Dateien, die Sie ignorieren möchten, Sie die Dateien nicht bereits dem Git Repo hinzugefügt haben. – Aakash

+0

[Einige] (http://StackOverflow.com/a/5127213/6533075) sagen anders über 1 '.gitignore' für alle. –