Bei einer Änderung, die mit commit
und dann zurückgesetzt mit revert
Wie kann ich diese Rückgängigmachung dann am besten rückgängig machen?
Idealerweise sollte dies mit einem neuen Commit geschehen, um die Geschichte nicht neu zu schreiben.
Bei einer Änderung, die mit commit
und dann zurückgesetzt mit revert
Wie kann ich diese Rückgängigmachung dann am besten rückgängig machen?
Idealerweise sollte dies mit einem neuen Commit geschehen, um die Geschichte nicht neu zu schreiben.
Ich habe es folgendermaßen gemacht:
Wenn der Zweig my_branchname
war in einer Zusammenführung enthalten, die rückgängig gemacht wurde. Und ich wollte die Rückgängigmachung my_branchname
:
Ich mache zuerst eine git checkout -b my_new_branchname
de my_branchname
.
Dann mache ich eine git reset --soft $COMMIT_HASH
donde $COMMIT_HASH
ist der Commit-Hash des Commit-Rechts vor die erste Übertragung von my_branchname
(siehe git log
)
Dann mache ich eine neue Übergabe git commit -m "Add back reverted changes"
Dann schiebe ich den neuen Zweig hoch git push origin new_branchname
Dann habe ich einen Pull-Request für den neuen Zweig erstellt.
Wenn Ihnen die Idee, einen "Revert" rückgängig zu machen, nicht gefällt (vor allem, wenn dies den Verlust von Verlaufsinformationen für viele Commits bedeutet), können Sie jederzeit die Git-Dokumentation über "Eine fehlerhafte Zusammenführung rückgängig machen" .
Bei folgender Ausgangssituation
P---o---o---M---x---x---W---x
\ /
A---B---C----------------D---E <-- fixed-up topic branch
(W ist Ihre anfängliche Rückgängigmachung der Zusammenführung M; D und E sind Korrekturen an Ihrem anfänglich fehlerhaften Funktionszweig bzw. Ihrer anfänglichen Kommissionsmitteilung)
Sie können nun einfach die Commits A bis E wiederholen, so dass keiner von ihnen zu dem zurückgenommenen Merge "gehört":
$ git checkout E
$ git rebase --no-ff P
Die neue Kopie Ihres Zweigs kann nun in master
wieder:
A'---B'---C'------------D'---E' <-- recreated topic branch
/
P---o---o---M---x---x---W---x
\ /
A---B---C----------------D---E
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.