How to keep your fork up to date with the master repository in GitHub

Posted written by Paul Seal on May 30, 2018 Git

This post gives you the commands you will need to keep your fork up to date with the master repository in GitHub.

Confession

I once confessed on Twitter that I used to delete my fork in GitHub, re-fork it and download it all again. That was my way to keep it up to date.

If you follow the steps below, or watch the video, you will see how easy it is to keep your fork up to date. In the example below and in the video I am keeping my fork of UmbracoCms up to date with the v7 branch.

Let's do this

First of all you will need to fork the project in GitHub if you haven't done that already. Make sure you have downloaded your fork to your local file system.

Make sure you are on your master branch and you don't have anything to commit.

If you are doing this for the first time, you need to make sure you add the upstream repository, you will only need to do this once, so if you come back to this post later you should be able to skip this step.

git remote add upstream https://github.com/umbraco/Umbraco-CMS.git

Now you can fetch the latest from the upstream repository

git fetch upstream

Next you can do a rebase to bring your fork up to date with the changes in the upstream repository

git rebase v8/contrib

Now we have done this we need to push the changes to our git repository

git push

We can now check the status to see if we are up to date. And if we go to our fork on GitHub it should say it is up to date with master.

git status

We are now free to create a new branch for an issue we want to work on. You can just create a branch using git like this:

git checkout -b feature/my-cool-feature

If you would like to come back to this post again later, you can either bookmark this page, or just go to codeshare.co.uk/fork for quickness.

Here is the video in case you want to watch me show you instead:

Watch on YouTube