##// END OF EJS Templates
git: adjusted code for new libgit2 backend...
git: adjusted code for new libgit2 backend - made @CachedProperty use a custom decarator that can do invalidations. This is required for tests - made few cleanups of code since we use a simpler libgit2 backend now - removed some unused obsolete code

File last commit:

r1:854a839a default
r3842:8bd67598 default
Show More
rebase-commits-git.rst
54 lines | 1.4 KiB | text/x-rst | RstLexer
/ docs / tutorials / rebase-commits-git.rst

How to Rebase in |git|

Rebasing can take two form in |git|.

  • Rebasing changes when you pull from upstream
  • Rebasing one branch on top of another

If you need to understand more about branching, and the terminology, see the :ref:`branch-wf` section.

Rebasing When Pulling from Upstream

This will pull any changes from the remote server, and rebase the changes on your local branch on top of them.

# Move to the branch you wish to rebase
$ git checkout branchname

# Pull changes on master and rebase on top of latest changes
$ git pull --rebase upstream master

# Push the rebase to origin
$ git push -f origin branchname

Rebasing Branches

Rebasing branches in |git| means that you take one branch and rebase the work on that branch on top of another. In the following example, the triple branch will be rebased on top of the second-pass branch.

  1. List the available branches in your |repo|.
$ git branch
  first-pass
* master
  second-pass
  triple
  1. Rebase the triple on top of the second-pass branch.
$ git rebase second-pass triple
First, rewinding head to replay your work on top of it...
Fast-forwarded triple to second-pass.