Error with git rebase ("could not apply...")

As a reminder to myself on how to resolve this:

The error message is not very informative. If you type

git rebase --continue

you realize the error is because of a merge conflict that git cannot resolve by itself, and needs your help.

To see what files have conflicts, type

git status

Resolve the merge conflicts in your favorite editor/IDE (hint: this should start with i and end with ntelliJ)

Mark resolution with

git add .

If all the conflicts are resolved, you should see something like this:

(all conflicts fixed: run "git rebase --continue")

So continue your rebase with

git rebase --continue

Hopefully your rebase should now be successful

git status

shows:

On branch feature/DIG-19302-Upgrade-mockito-v2
Your branch is behind 'origin/feature/your-feature-branch' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)

nothing to commit, working directory clean

Don't do a git pull. If you do, you will only overwrite your merge conflicts. Instead push your merge conflict resolutions to the branch) with

git push --force

You're done! Your git log should show only 1 commit now (which is the forced update you just did)


The history of your project seems to contain a number of merge commits recently (presumably you made those). The presence of merge commits in what you want to interactively rebase usually causes problems. (An interactive rebase pretty much assumes a linear history, but merge commits are not linear.)

Your project history also somehow seems to have two parallel histories that are merged together in commit 11b3653 (use a tool like gitk or tig to see this, it's not shown well on Github's web interface).

I would suggest that you attempt to first flatten your history to get rid of the parallel histories, and to remove the merge commits. Then, once you have a strictly linear history, you can set about rewriting the history to remove all the debugging churn.