Let's toolify!
Wie @Joakim sagte, können Sie eine Datei ignorieren, indem Sie etwas wie das Folgende verwenden.
# Ignore everything
*
# But not these files...
!.gitignore
!someFile.txt
aber wenn sich die Datei in verschachtelten Verzeichnissen befindet, ist es ein wenig schwierig, diese Regeln zu schreiben.
Wenn wir zum Beispiel alle Dateien auslassen wollen, aber nicht a.txt
mit Sitz in aDir/anotherDir/someOtherDir/aDir/bDir/cDir
. Dann wird unser .gitignore
wird in etwa so aussehen
# Skip all files
*
# But not `aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt`
!aDir/
aDir/*
!aDir/anotherDir/
aDir/anotherDir/*
!aDir/anotherDir/someOtherDir/
aDir/anotherDir/someOtherDir/*
!aDir/anotherDir/someOtherDir/aDir/
aDir/anotherDir/someOtherDir/aDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/
aDir/anotherDir/someOtherDir/aDir/bDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/
aDir/anotherDir/someOtherDir/aDir/bDir/cDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt
Das ist ziemlich schwer mit der Hand zu schreiben.
Um diese Hürde zu überwinden, habe ich eine Webanwendung namens git-do-not-ignore die die Regeln für Sie erstellt.
Werkzeug
Demo
Beispielhafte Eingabe
aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt
Beispielhafte Ausgabe
!aDir/
aDir/*
!aDir/anotherDir/
aDir/anotherDir/*
!aDir/anotherDir/someOtherDir/
aDir/anotherDir/someOtherDir/*
!aDir/anotherDir/someOtherDir/aDir/
aDir/anotherDir/someOtherDir/aDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/
aDir/anotherDir/someOtherDir/aDir/bDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/
aDir/anotherDir/someOtherDir/aDir/bDir/cDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt
20 Stimmen
Duplikat von stackoverflow.com/q/9162919/321973 (Ich weiß, dass das neuer ist, aber die Antwort dort ist richtiger). Eigentlich diese Antwort ist wahrscheinlich die beste