2012-06-06 16 views
5

Ich liefEinen Git Pull - Rebase rückgängig machen?

git pull --rebase 

und vergessen "Ursprung" zu spezifizieren. Es sieht so aus, als ob Git aus allen möglichen Zweigen gezogen würde. Gibt es eine Möglichkeit, meinen Repo von hier aus zurückzusetzen, um den Zug rückgängig zu machen?

Dank

Antwort

7

Nach einem git pull Betrieb ORIG_HEAD sollte auf den vorherigen Wert von HEAD zeigen. Sie sollten in der Lage sein: zurück

git reset --hard ORIG_HEAD 

Und sein, wo man vor dem pull Betrieb gestartet. Sie können laufen:

git show ORIG_HEAD 

genau zu sehen, wo ORIG_HEAD dem Ausführen des Befehls reset vor zeigt.

Eine alternative Lösung wäre eine Niederlassung auf ORIG_HEAD Basis zu schaffen:

git checkout -b newbranch ORIG_HEAD 

Stellen Sie sicher, dass die Dinge so aussehen, wie Sie erwarten, dann den alten Zweig löscht und new branch umbenennen.

Siehe auch this question für eine Diskussion von HEAD und ORIG_HEAD und alternative Syntax für die Bezugnahme auf die gleiche Sache.

2

Verwenden git reflog

Sie werden eine ganze Reihe von Commits HEAD sehen, die aus der Vergangenheit sind.

Sicherste ist das HEAD Sie in einem neuen Zweig müssen zur Kasse und von dort

git checkout -b phew [email protected]{x} # fill in the number of the commit you need. 
1

Wiederherstellung nach einem borked/dumm/moribund rebase

Accidently Ich lief git pull origin master --rebase statt git pull origin develop --rebase fortzusetzen.

Ich wollte nur wiederherstellen, was nach der Rebase passiert ist und zurück zum letzten Commit. Ich habe nicht in die entfernte Filiale gedrängt.

Es war ein großer Fehler und möchte aus dem Merge herauskommen. Der schnellste Weg aus der Zusammenführung ist git rebase --abort

Verwandte Themen