Update my github repo which is forked out from another project

This question already has an answer here:

  • Pull new updates from original GitHub repository into forked GitHub repository

    5 answers

  • Git merge after fetch - how, exactly?
  • Should I keep DB migration scripts generated via alembic under version control
  • Is it possible to remove a remote repository on Github through the command line?
  • How to turn a git branch into fork?
  • GIT Fogbugz integration
  • restricting git svn to branches
  • How to get a specific directory structure when pushing an Eclipse project to github?
  • Ansible sudo_user not using the correct $HOME directory
  • Git pull origin HEAD
  • Why no yellow in powershell and posh git
  • SourceTree keeps asking for Github password
  • git push heroku master Permission denied (publickey). fatal: The remote end hung up unexpectedly
  • 4 Solutions collect form web for “Update my github repo which is forked out from another project”

    In your local clone of Child, pull from Parent, adding it as a remote if you like:

    cd child
    git remote add parent <parent-url>
    git pull parent

    The url of the parent could be the public github repo, or your local clone of it – the local clone will of course be faster. If you want to pull a branch other than the current HEAD of the parent repo, just add an argument (e.g. git pull parent topic-branch). If this is a one-time thing, you can just skip adding the remote: git pull <parent-url> [branch].

    Pulling is a combination of fetching and merging, so once you’ve done that, you’ve got a new merge commit you’ll presumably want to push back to your public repo at some point.

    The key point here, in case it’s not clear, is that pulling from the parent (upstream) repository is not different from pulling from your public clone of child, your current repository. Either way, you’re fetching from a repository with some common history, and merging that into your current branch. And of course, since you’re merging, a work tree is required – so this is something that must be done in your local repo. The repo hosted on github is essentially a way of publishing what you’ve done locally. All you can really do with it is push/pull, and browse what’s there.

    1. Clone your repo to your local machine, if you haven’t already: git clone git@github.com:utkarsh2012/voldemort.git
    2. Add the upstream as a new remote: git remote add upstream git://github.com/voldemort/voldemort.git
    3. With your branch checked out, pull the upstream into your branch, which will create a merge between the two sets of changes: git pull upstream or git pull upstream branch-to-merge. If you’re working on an unpushed branch you can also use git fetch and git rebase to rebase your work without needing a merge.

    You want:

    git pull git://github.com/voldemort/voldemort.git

    This can also be done simply on GitHub’s web interface: issue a Pull Request but swap the base repo and head repo. If the pull can be performed automatically, it will be.

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