This is useful when you have forked a repository (repo), cloned it to your local machine and want to keep it in sync with the original repo.

Adding the remote repo

We can list the remote repositories for our repo with git remote -v and add the original repo as follows:

git remote add upstream LINK_TO_ORIGINAL_REPO

Note that it is merely a convention to call it upstream. You can give any name you want.

Check that the repo is added to your remote using git remote -v.

Sync with remote

  • Check if there are any changes in remote not on your fork using git fetch upstream
  • Checkout whichever branch you are interested ( git checkout $BRANCH)
  • Merge with upstream using: git merge upstream/$BRANCH
  • Push your changes to origin if needed: git push origin $BRANCH

Removing the remote repo

If you no longer want to get changes from the remote repo, it is easy to remove it using git remote remove upstream

References

Github’s help page