2017-01-13 7 views
0

ich mit SourceTree arbeitete, und ich möchte alleändert zurücksetzen ich in meiner Arbeitskopie gemacht habe.Zurücksetzen alle Änderungen von Arbeitskopie

Für einige Tests, habe ich drei Java-Klassendateien, eine neue, eine, die ich bereits aktualisiert haben und eine letzte, die ich von meiner Arbeitskopie entfernt haben:

New.java 
Update.java 
Remove.java 

Alle zurücksetzen funktioniert gut für die Aktualisierung und die Klassendatei gelöscht, aber nicht für die neuen:

enter image description here

enter image description here

Nach dem Reset muss ich manuell die New.java Klasse entfernen:

enter image description here

Zusammengefasst:

Nach Zurücksetzen Alle die Updates auf der Update.java Datei verschwunden waren und die entfernt Remove.java Datei waren restauriert. Perfekt! Das einzige, was ich nicht verstanden habe, ist, warum ich die neue New.java Datei manuell entfernen muss? Könnte es sein, dass ich ein Missverständnis habe?

Vielen Dank im Voraus!

Antwort

1

Wenn New.java eine neue Datei ist, die nie inszeniert wurde, würde git reset diese Datei niemals löschen, da git nicht weiß, was damit zu tun ist. Effektiv ist New.java eine nicht verfolgte Datei und git wird nichts an dieser Datei vornehmen, bis Sie sie zur Bühne hinzufügen.

+0

vielen Dank, das ist der Grund! –

3

Ich weiß nicht, SourceTree, aber ich denke, "Reset All" ist wie git checkout . tun, die alle verfolgten Dateien wie Sie beschrieben zurückstellen wird. Um nicht verfolgte Dateien zu entfernen, wäre die Befehlszeilenäquivalent git clean -f oder wenn auch Verzeichnisse betroffen sind git clean -fd und auch Dateien von .gitignore und ähnliche git clean -fdx ignoriert werden. Also, ich denke, Sie suchen nach einer Clean All Option in SourceTree, um nicht nachverfolgte Dateien loszuwerden.

Verwandte Themen