2017-09-07 2 views
0

Ich machte einen Fehler neulich, wenn Sie einige Commits auf einem GitHub-Projekt für die Arbeit. Ich bin immer noch ein bisschen neu für Git (ein Student) und ich muss eine Zusammenführung rückgängig machen. Ich habe versehentlich den Master-Zweig, wie auf dem Foto unten gezeigt, mit dem Feature-Zweig "wav2sig-scal-RMS-vals" zusammengeführt. image Ich habe mir mehrere Anleitungen angesehen, wie man eine Situation wie diese beheben kann, aber ich kann es nicht herausfinden. Hier ist was git reflog zurückgibt:Git - Undo merging Master Zweig in einen anderen Zweig

git reflog 
9fb9307 [email protected]{0}: undo: checkout: moving from master to wav2sig-scale-RMS-vals 
9c3d141 [email protected]{1}: undo: commit: Revert "Merge branch 'master' into wav2sig-scale-RMS-vals" 
6933c35 [email protected]{2}: commit: Revert "Merge branch 'master' into wav2sig-scale-RMS-vals" 
9c3d141 [email protected]{3}: checkout: moving from master to wav2sig-scale-RMS-vals 
9fb9307 [email protected]{4}: clone: from https://github.com/UKY-Distributed-Audio-Lab/Array-Toolbox.git 

Haben Sie Ideen, wie Sie dieses Problem beheben können? Ich weiß, es sollte einfach sein. Vielen Dank.

+0

haben Sie die drei Commits auf eine Fernbedienung geschoben, oder sind sie immer noch nur in Ihrem lokalen Repo? – LightBender

Antwort

1

Eine Zusammenführung wird in eine Festschreibung übersetzt. Sie müssen nur zu dem Commit zurückkehren, das der Zusammenführung vorausgegangen ist. Verwenden Sie den Hashtag des Commits oder HEAD ~ als Ziel für die Zurücksetzung.

schauen Sie here auf, wie man eine Rückstellung tut.

+0

Nur Problem ist, habe ich das Problem nicht erkannt und zwei Commits nach der Zusammenführung gemacht, wie im Bild zu sehen. Gibt es eine Möglichkeit, die Commits zu behalten, die ich im Seitenzweig gemacht habe, während ich den Master vom Seitenzweig getrennt habe? – SirloinStockade

+0

gibt es keine "Trennung des Meisters" ... Zusammenführen, wie gesagt, ist ein Commit am Ende des Tages. Nach dem Commit (Merge) gibt es keinen Zusammenhang mehr mit dem, was vom Master kam und was dort vom Zweig kam, also denke ich, dass du nicht erreichen kannst, wonach du verlangst. was Sie tun können, ist einen neuen Zweig von Kopf zu erstellen, es vor dem Zusammenführen zurückzusetzen, Git Vergleich mit dem Zweig, mit dem Sie begonnen haben, und manuell nehmen Sie die Änderungen, die Sie behalten möchten. (Wenn Sie Intellij verwenden, kann dies sehr einfach durchgeführt werden. Wahrscheinlich auch auf ähnlichen IDEs) –

Verwandte Themen