2015-02-24 18 views
6

Ich habe gezogen von einen anderen Zweig von der Fernbedienung. Die 2 Zweige sind unterschiedlich, aber die Zusammenführung erfolgte stillschweigend in meinem aktuellen Zweig. Ich arbeite gerade am "Master" Zweig lokal, und es wurde mit den Änderungen der Remote Branch - "FE_Changes" aktualisiert.undo git ziehen falschen Zweig auf Master

Wie entferne ich die Auswirkungen des Zweigs "FE_Changes" aus meinem Masterzweig?

+0

Verwenden Sie Git innerhalb und IDE? Terminal? oder etwas ähnliches? – acostela

+0

Ja, ich benutze tatsächlich Git Extensions. Dies passierte, als ich den Zweig "FE_Changes" in der "Master" -Abteilung einführte. Was ich hätte verwenden sollen, ist stattdessen der Checkout-Dialog. – OverTheEdge

+0

Können Sie die Ausgabe (so viel wie relevant) des folgenden Befehls anzeigen: git log --all --graph --oneline --decorate unter der Annahme, dass es keine sensiblen Informationen in den Commit-Logs gibt, natürlich ... Es sollte helfen zu klären, was genau passiert ist. – mephisto

Antwort

7

git reset --hard HEAD~1

Dies wird der letzte auf dem lokalen Niederlassung verpflichten nuke. Vorausgesetzt, Ihre Pull-Strategie ist Merge, dann sollte es nur einen Rogue-Commit in Ihrem lokalen Master-Zweig geben. Du hast erwähnt, dass "die Zusammenführung im stillen stattfand", also sollte das in deinem Fall funktionieren. Sobald Sie den Master-Zweig repariert haben, können Sie erneut ziehen, dieses Mal stellen Sie sicher, dass Sie aus dem richtigen Remote-Zweig ziehen.

+0

wow das tat es.Ich muss sagen, ich habe einige verrückte Dinge auf der Git Extensions GUI wie auschecken Herkunft/Meister, Git res et (zu HEAD not HEAD ~ 1), aber das hat immer noch das überschrieben und brachte Veränderungen zurück. Und was mehr ist, ich kann jetzt ziehen und die letzten Updates von remote wieder "master" bekommen. Keine der Änderungen, die am Zweig "FE_Changes" vorgenommen wurden, ist jetzt in meinem lokalen Zweig "master" sichtbar. Vielen Dank Tim. – OverTheEdge

4

Neben Tim Antwort: Wenn Sie zu einem bestimmten zurückgesetzt werden wollen verpflichten:

git reflog 

werden Sie IDs aller bisherigen Commits zeigen

Dann können Sie durchführen:

git reset --hard <specific id> 

auf diesen spezifischen Commit zurückgesetzt werden.

+0

danke wird "git reflog" in der Zukunft erinnern. – OverTheEdge