Git rebase

From NovaOrdis Knowledge Base
Jump to: navigation, search



git rebase reapplies commits on top of another base tip, removing the original commits. For more details on how rebasing works, and some concrete examples, see:
Git Rebasing



git rebase --onto <newbase>

Starting point at which to create the new commits. If the --onto option is not specified, the starting point is <upstream> (what does that mean?). It may be any valid commit, not just an existing branch name.


The option that allows specifying the ancestor commit after which all commits will be rebased. Normally, this is implicitly calculated by git with:

git merge-base --fork-point <upstream> <branch>

command. If fork-point ends up being empty as result of this command, <upstream> will be used as fallback.


Interactive rebase.

To include a specific number of commits, going back from HEAD, use HEAD~count

rebase -i HEAD~10

To include all the commits from HEAD to, but excluding a specific commit, use:

rebase -i <commit-sha-of-the-first-commit-NOT-to-be-included>