Skip to content

Keeping your fork in sync

Matt Hoffman edited this page Apr 23, 2018 · 3 revisions

How to keep your fork's branches in sync with https://github.com/MPAS-Dev/MPAS-Model.

Because a fork is created as a snapshot of another repository, the branches in the fork don't auto-update with the original repository. The syncing of branches between repositories must be done manually through the use of your local clone.

There are two parts to this. The first part only has to be done once per local repository.

One time setup:

  1. Clone your fork (follow this) git clone git@github.com:username/fork.git
  2. Add a "remote" which points to the MPAS-Dev repository: git remote add MPAS-Dev git@github.com:MPAS-Dev/MPAS-Model.git
  3. Create a local branch to house the history of master: git checkout --no-track -b master MPAS-Dev/master (Might be done multiple times if you delete your local copy of master).

Every time you want to update:

  1. Make sure you're on your local master branch: git checkout master
  2. Fetch "MPAS-Dev's" history: git fetch MPAS-Dev
  3. Merge MPAS-Dev's version of master into your local version of master: git merge MPAS-Dev/master
  4. "Push" your local version of master onto your fork: git push origin master

The above example uses master as the branch to sync. Replacing master with any branch name syncs that branch instead.