2016-07-13 16 views
0

Ist es möglich, ein oder zwei fehlerhafte Commits, die ich an Github gemacht habe, rückgängig zu machen. Ich bin auch nicht sehr gut in der Codierung, wenn es einen Weg gibt, es ohne Programmierung zu tun, wäre das großartig.Löschen eines Commits in GitHub

Vielen Dank

Antwort

2

Sie dies in Ihrem lokalen Arbeitsbereich über tun Sie den folgenden Befehl tun können:

git reset --merge <hash> 

Wo <hash> die den Commits begehen vor, die Sie wiederherstellen möchten.

Der obige Befehl ist ausreichend, wenn Sie nicht zu GitHub geschoben haben. Wenn Sie auf GitHub gedrückt haben, führen Sie dann die folgenden, um eine Aktualisierung des Remote-Zweig zu erzwingen:

git push --force origin <branch> 

(. Hinweis: Dies ist vorausgesetzt, dass Ihr Fern origin benannt, aber umbenennen je nach Bedarf)

Beachten Sie, dass dies den Verlauf auf dem Remote-Zweig neu schreibt und nicht empfohlen wird, wenn andere Entwickler denselben Zweig verwenden. Wenn Sie wissen, wer die Entwickler sind, können Sie mit ihnen kommunizieren, um ihre lokalen Kopien der geänderten Verzweigung zu löschen, und sie bitten, git fetch auszuführen, um eine neue Kopie der Verzweigung zu erhalten.

+0

Verwenden Sie nicht das '--hard' Flag, verwenden Sie' --merge', um zu vermeiden, dass Änderungen im Arbeitsverzeichnis verloren gehen (entweder staged oder nicht). –

+0

Huh? Wann bringst du zu GitHub ... vor oder nach 'git reset'? – zipzit

+0

@DavidOngaro - danke, aktualisiert. – LeopardSkinPillBoxHat