Wie Sie git verwenden, reinigen entfernen Sie alle Datei-Liste .gitignore?
mkdir repo
cd repo
git init
mkdir temp
touch temp/in.tmp
touch out.tmp
echo '*tmp' > .gitignore
beim Einsatz git clean -Xn
es zeigen Would remove out.tmp
aber ich möchte zu entfernen temp/in.tmp
zusammen
git clean -Xdn
nicht auch funktionieren, aber cd
zu temp
- Verzeichnis und führen Sie git clean -Xn
es zeigen Would remove in.tmp
also ich Frage mich, gibt es einen Befehl, um alle Datei-Liste in .gitignore
include-Unterverzeichnis, in diesem Fall, wie zu verwenden git clean
entfernen temp/in.tmp
und out.tmp
$ git --version
git version 1.9.5.msysgit.1
Fand ich etwas seltsam
fügen Sie eine Datei in temp
Verzeichnis und Bühne , git clean -Xn
scheint die Arbeit
touch temp/a.txt
git add temp/a.txt
git clean -Xn
zeigen
Would remove out.tmp
Would remove temp/in.tmp
aber warum das passiert ?
- Komisch. docs sagen, Reinigt die arbeiten, Baum, indem rekursiv Dateien entfernen, die nicht unter Versionskontrolle, beginnend mit dem aktuellen Verzeichnis.
- Eine wilde Vermutung: Git nur durchläuft Verzeichnisse in den index mit der
-X
option, ignorieren dietemp
- Verzeichnis (weil es zunächst nicht wissen, es, nur, nachdem Sie eine Datei hinzufügen). Ich kann replizieren, das Problem mit Git 2.1.4 auf Ubuntu. Warum fragst du nicht diese an [email protected]?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
-x
weil Sie die zu löschende Datei ignoriert.gitignore
git clean -fdx
wird successufully reinigen alles für Sie
macsp:repo proto$ git clean -fdxn
Would remove .gitignore
Would remove out.tmp
Would remove temp/
macsp:repo proto$
-x
auch die Beseitigung aller nicht verfolgte Dateien