Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Forgot "git rebase --continue" and did "git commit". How to fix?

Tags:

git

People also ask

How do you get out of git rebase -- continue?

After changes have been made, the changes need to be staged to the commit and then the rebase can resume using git rebase --continue . There is also the option of running git rebase --abort while resolving conflicts in a rebase, which will cancel the rebase and leave the branch unchanged.

Do I need to commit before git rebase -- continue?

For each change you make, you'll need to perform a new commit, and you can do that by entering the git commit --amend command. When you're finished making all your changes, you can run git rebase --continue . As before, Git is showing the commit message for you to edit.


Just do git reset --soft HEAD^. It moves the HEAD pointer to its parent but keeps the work tree and adds the merge change to the index. So you can continue rebasing with git rebase --continue as before.


EDIT: Look at the answer below as well to see if that's an easier solution for you. https://stackoverflow.com/a/12163247/493106


I'd have to try it out, but I think this is what I would do:

  1. Tag your latest commit (or just write down its SHA1 somewhere so you don't lose it): git tag temp
  2. git rebase --abort
  3. Do the rebase again. You'll have to resolve the merge again. :(
  4. git rebase --continue
  5. git cherry-pick temp

The problem with this is that your temp commit probably contains both the resolution of the merge, and the new code. So it could be tricky but I would try it and see if it works.