Anstatt die Änderungen zu verwerfen, habe ich meine Fernbedienung auf den Ursprung zurückgesetzt. Hinweis: Mit dieser Methode können Sie Ihren Ordner vollständig auf den des Repos zurücksetzen.
Also mache ich das, um sicherzustellen, dass sie nicht dort sitzen, wenn ich git reset (später - schließt gitignores auf dem Origin/branchname aus)
HINWEIS: Wenn Sie Dateien behalten wollen, die noch nicht getrackt wurden, aber nicht in GITIGNORE sind, können Sie diesen Schritt überspringen, da er diese nicht getrackten Dateien, die nicht in Ihrem entfernten Repository gefunden wurden, löscht (danke @XtrmJosh).
git add --all
Dann habe ich
git fetch --all
Dann habe ich auf den Ursprung zurückgesetzt
git reset --hard origin/branchname
Damit wären wir wieder am Anfang. Genau wie das erneute Klonen der Verzweigung, WÄHREND alle meine gitignored Dateien lokal und an Ort und Stelle zu halten.
Aktualisiert per Benutzerkommentar unten: Variation zum Zurücksetzen auf den aktuellen Zweig, in dem sich der Benutzer befindet.
git reset --hard @{u}
0 Stimmen
Siehe auch stackoverflow.com/questions/22620393/
16 Stimmen
git-clean
entfernt nur die nicht verfolgten Dateien aus dem Arbeitsbaum git-scm.com/docs/git-clean37 Stimmen
Um den obigen Kommentar von Asenar zu verdeutlichen,
git-clean -df
kann gefährlich sein. Es löscht lokale, nicht verfolgte Dateien (z. B. solche, die durch eine .gitignore-Datei abgedeckt sind). Lesen Sie die folgenden Hinweise sorgfältig durch und erwägen Sie stattdessen git checkout .26 Stimmen
'git clean -df ' Seien Sie gewarnt! Ich habe das ausprobiert und wichtige Ordner verloren, die nicht wiederhergestellt werden können... Autsch!
73 Stimmen
Unter
git status
macht einen Vorschlag, wie man das machen kann!git checkout -- .
0 Stimmen
Git gui hat eine Funktion, mit der Änderungen sicher rückgängig gemacht werden können. .gitignore wird von diesem Programm beachtet, während git-clean es überhaupt nicht verwendet.
0 Stimmen
@Readonly Ich denke, die Frage sollte lauten: "Wie verwerfe ich nicht bereitgestellte Änderungen im Arbeitsbaum?
git reset HEAD file1
das überschreibtfile1
vom letzten Commit in der Commit-Historie zum Staging-Bereich.28 Stimmen
@Paulo: ab Juli 2019,
git status
gibt die Anregung:git restore
.git restore
ist ein neuer Befehl genau für diesen Zweck. Siehe mein Update 2019 .2 Stimmen
Ich denke, dass entweder die Frage oder der Titel geändert werden sollte. Der Titel stimmt nicht mit der gestellten Frage überein, und es ist nicht klar, ob die Antworten beides abdecken.
0 Stimmen
Wahrscheinlich ist es nicht das, was Sie suchen, aber wenn Sie die GitHub Desktop App verwenden, gibt es natürlich einen Menüpunkt, um dies zu tun. Zweig -> Alle Änderungen verwerfen