Git: Revert fast-forward merges

11. März 2013 / git

×Info: This post is older than 2 years! Displayed information may be outdated!

Hat man versehentlich den falschen Branch in master gemerged und dann noch das Ganze nach remote gepusht, ist man entweder geistig umnachtet, oder es war spät nachts und man hätte viel früher aufhören sollen zu arbeiten

Fast forward merge

Wenn man Glück hat, hat sich er master-Branch nicht weiterentwickelt – z.B. weil niemand sonst am gleichen Projekt arbeitet. Dieser Fall heißt fast-forward merge. Es wird beim merge kein commit erstellt. (Für den Fall, dass man kein ff-merge durchführen will, kann man dies vorher angeben git merge --no-ff).

Revert

# revert zu commit vor merge
git reset --hard <commit-id>

# push mit force, sonst nimmt remote den push nicht an
git push --force

# zwischendurch mit gitk prüfen was man tut
gitk

# git log ist auch praktisch
git log