2017-06-28 8 views
1

Wie Sie auf dem Bild sehen können, ich arbeitete in Feature forum_kolo_3, beschloss ich, diese Funktion zu beenden und zu entwickeln (aber nicht die Änderungen auf remote zu entwickeln, so dass es nur lokale Änderungen) und als ich es erkannte war eine schlechte Idee und jetzt möchte ich diese Zusammenführung entfernen, als wäre es nie passiert.GitHub zurücksetzen oder zurücksetzen?

So ähnliche Situation wie hier beschrieben: git revert not allowed due to a merge but no -m option was given

Aber Im nicht ganz sicher, was jetzt zu tun ist, umkehren oder zurücksetzen? Ich möchte die Zusammenführung rückgängig machen, die ich gerade gemacht habe.

Ich fand auch diese How to revert Git repository to a previous commit?

git zurückkehren --no-commit 0766c053..HEAD

git

begehen, die wie eine bessere Idee scheint ... aber ich habe keine Ahnung

sourctree

+0

Ja, ich glaube, es ist ein Duplikat – Honza

Antwort

1

Finden Sie das letzte Commit des Entwicklungszweigs vor der Zusammenführung und setzen Sie dann Ihren Git-Verlauf auf dieses Commit zurück.

git reset --hard <pre_merge_last_commit_id> 

können Sie grafisches Tool verwenden, wie gitk oder git log --oneline --decorate=full --graph die letzten finden die Commit der Niederlassung entwickeln.

Hinweis: Stellen Sie sicher, dass Sie nicht auf das letzte Commit des Feature-Zweiges zurücksetzen.

1

git revert ist nützlich, wenn die Änderungen, die Sie rückgängig machen möchten, bereits veröffentlicht wurden. Es stellt im Grunde die Änderungen wieder her, die von einem anderen Festschreiben ausgeführt wurden (entfernt die hinzugefügten Zeilen, fügt die entfernten Zeilen hinzu, ändert die geänderten Zeilen in die andere Richtung).

Es ist ähnlich mit einer "Undo" -Operation, aber es passiert in der Regel, nachdem andere Commits bereits zum Zweig hinzugefügt wurden und es neue Commits erzeugt.

jetzt möchte ich diese Zusammenführung entfernen, als wäre es nie passiert.

Da Sie Ihre Änderungen nicht veröffentlicht haben, verwenden Sie am besten git reset --hard.

Wenn Sie auf der develop Zweig und dem letzten Befehl war git merge feature/forum_kolo_3, von git reset --hard HEAD^1 läuft. Es verschiebt den aktuellen Zweig (develop) zum ersten Elternteil des Zusammenführungs-Commits (d. H. Wo es vor der Zusammenführung war).

Verwandte Themen