##// END OF EJS Templates
release: Finish preparation for 4.10.0
release: Finish preparation for 4.10.0

File last commit:

r1:854a839a default
r2218:4ba4d749 v4.10.0 stable
Show More
rebase-commits-git.rst
54 lines | 1.4 KiB | text/x-rst | RstLexer
/ docs / tutorials / rebase-commits-git.rst
project: added all source files and assets
r1 .. _rebase-rebase-git:
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.
.. code-block:: bash
# 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|.
.. code-block:: bash
$ git branch
first-pass
* master
second-pass
triple
2. Rebase the ``triple`` on top of the ``second-pass`` branch.
.. code-block:: bash
$ git rebase second-pass triple
First, rewinding head to replay your work on top of it...
Fast-forwarded triple to second-pass.