Skip to main content

[GitHub] How to rebase your branch from upstream branch?

If you fork a copy (branch) from a repository and you want to rebase your branch with this upstream repository, you can refer to the following URLs or directly see the content below.

  1. List the current configured remote repository for your fork.
    git remote -v
    # origin (fetch)
    # origin (push)
  2. Specify a new remote upstream repository that will be synced with the fork.
    git remote add upstream
  3. Verify the new upstream repository you've specified for your fork.
    git remote -v
    # origin (fetch)
    # origin (push)
    # upstream (fetch)
    # upstream (push)

  1. Fetch the branches and their respective commits from the upstream repository. Commits tomaster will be stored in a local branch, upstream/master.
    git fetch upstream
    # remote: Counting objects: 75, done.
    # remote: Compressing objects: 100% (53/53), done.
    # remote: Total 62 (delta 27), reused 44 (delta 9)
    # Unpacking objects: 100% (62/62), done.
    # From
    #  * [new branch]      master     -> upstream/master
  2. Check out your fork's local master branch.
    git checkout master
    # Switched to branch 'master'
  3. Merge the changes from upstream/master into your local master branch. This brings your fork's master branch into sync with the upstream repository, without losing your local changes.
    git merge upstream/master
    # Updating a422352..5fdff0f
    # Fast-forward
    #  README                    |    9 -------
    #                 |    7 ++++++
    #  2 files changed, 7 insertions(+), 9 deletions(-)
    #  delete mode 100644 README
    #  create mode 100644
    If your local branch didn't have any unique commits, Git will instead perform a "fast-forward":
    git merge upstream/master
    # Updating 34e91da..16c56ad
    # Fast-forward
    #                 |    5 +++--
    #  1 file changed, 3 insertions(+), 2 deletions(-)


Popular posts from this blog

[Open vSwitch] How to get port statistics from interface in OVS

[Quagga] How to compile and install Quagga on Ubuntu 12.04

[JSON] How to use jansson lib to generate JSON data in C