Reapply commits from one branch on top of another branch. Commonly used to "move" an entire branch to another base, creating copies of the commits in the new location.

# To rebase the current branch on top of the master branch:
git rebase <master>

# To start an interactive rebase, which allows the commits to be reordered, omitted, combined or modified:
git rebase -i <target_base_branch_or_commit_hash>

# To continue a rebase that was interrupted by a merge failure, after editing conflicting files:
git rebase --continue

# To continue a rebase that was paused due to merge conflicts, by skipping the conflicted commit:
git rebase --skip

# To abort a rebase in progress (e.g. if it is interrupted by a merge conflict):
git rebase --abort

# To move part of the current branch onto a new base, providing the old base to start from:
git rebase --onto <new_base> <old_base>

# To reapply the last 5 commits in-place, stopping to allow them to be reordered, omitted, combined or modified:
git rebase -i <HEAD~5>

# To auto-resolve any conflicts by favoring the working branch version ('theirs' keyword has reversed meaning in this case):
git rebase -X theirs <master>