When a Rebase Stops

A rebase replays your commits one at a time. If one of them touches something the new base also changed, git cannot guess which version wins — so it stops on that commit and waits.

This is not a failure and nothing is lost. The commits before it are already replayed; the ones after are still queued. You settle that one commit, run rebase --continue, and the replay picks up where it left off.

A rebase with several conflicting commits stops several times. That is normal — each pause is one commit, not the whole operation restarting.

rebase --abort backs out completely at any point, removing the copies already made and putting your branch back where it started.

Exercises

  1. Exercise 1. Both branches changed "readme". Start the rebase, watch it stop, then carry on to finish it.
  2. Exercise 2. This time feature has two commits and the base touched both files. The rebase stops twice — continue through both.