git – update fork's master & rebase my branch onto it?

I have forked a github project, then cloned it locally.

I then made some changes in a new branch on my_github/the_project repo.

  • Git - Using multiple remotes to track the same branch and server
  • What is trunk, branch and tag in Subversion?
  • Install package with pip from specific branch of github
  • git create local branch for a forked upstream tag
  • TFS Branching & Merging Strategies
  • Rename branch on github website?
  • I then added and committed the changes and pushed to my github repo and submitted a pull request.

    The owner has received my request and would like me to “rebase onto master” to get the latest changes. How do I do this?

    Initially I thought I could just git fetch and rebase master from within my current branch (as most posts I found advise…), but git fetch didn’t do anything. Now I’ve realized that it is presumably because I’m still fetching from my_ github/repo clone (it’s my name in the remotes after all) which hasn’t yet got the new changes in master from the github source owner.

    I think what I probably need to do is “refresh” my fork so that my fork’s master is up-to-date and then I can fetch that master and then rebase on to that master?

    If this is the case how can I do that refresh of my forks master? If not how else?

    Should I add a remote for the original upstream repository and use that to rebase with (locally)? Is this the preferred method?

  • MEAN stack, Win 7, git push heroku master results in sh: bower: not found error
  • git-gui on Ubuntu doesn't show new directories
  • Jenkins Git Publisher, multiple repos and Multiple SCM
  • Continuous integration and continuous delivery with git-flow
  • Git pre-commit hook failing in GitHub for mac (works on command line)
  • How do I remove a repository from git gui?
  • One Solution collect form web for “git – update fork's master & rebase my branch onto it?”

    Yes, it’s not fetching anything because of the reason you surmised. And yes, you should add a remote for upstream locally; it will do a fast-forward merge on master.

    git checkout master # Make sure you are in master
    git remote add author original_repo_that_you_forked_from
        # Note: This is in the format
        #       Only needs definition once, future fetches then use it. 
    git fetch author
    git status # make sure you are in the master branch for the following merge
    git merge author/master  # i.e. 'into' your master branch
    git checkout your-branch
    git rebase master        # Now get those changes into your branch.
    git push origin your_branch # You can also use `-f` if necessary and `--all`

    (sorry, I might not have the syntax exactly right)

    Git Baby is a git and github fan, let's start git clone.