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 die temp - 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]?
InformationsquelleAutor Hanlin | 2015-08-26
Schreibe einen Kommentar