git - undo commit in merged branch -
commit graph (how is):
* hash1 - (head) last commit * hash2 - merge commit |\ | * hash3 - last branch commit should undone | * hash4 - commit should have been merged instead of hash3 | * hash5 - first branch commit * | hash6 - commit on master after branch creation |/ * hash7 - before trouble began ... commit hash4 last working commit, on different branch (not master). hash3 bad commit breaks project, merged master (hash2). hash1 unsuccessful try fix. how can revert hash4 , merge hash6 working project again?
commit graph (how should be):
* hash2 - merge commit |\ | * hash4 - commit should have been merged instead of hash3 | * hash5 - first branch commit * | hash6 - commit on master after branch creation |/ * hash7 - before trouble began ...
you have several options:
git reflog
reflog store history of every change made head. can checkout repository given commit (detached head), create branch point , stuff.
for example:
git reflog .. find out head@{n} of desired commit git checkout head@{n} git checkout -b my_new_branch // @ point have new branch **head4** last commit git revert
git revert lets "rollback" = revert commit(s) wish discard.
git revert sha1 sha1 sha1 sha1 git revert head3 this create commit undo of changes made in head3
Comments
Post a Comment