Skip to content
Aidan Heerdegen edited this page Jul 19, 2019 · 1 revision

How this fork works

The gfdl/master branch tracks the upstream GFDL FMS repo. Updates are pulled there and then merged into master as required.

Assuming remotes are configured like so:

$ git remote -v
origin  [email protected]:mom-ocean/FMS.git (fetch)
origin  [email protected]:mom-ocean/FMS.git (push)
upstream        [email protected]:NOAA-GFDL/FMS.git (fetch)
upstream        [email protected]:NOAA-GFDL/FMS.git (push)

We keep tags up to date with upstream, like so:

$ git fetch upstream --tags
$ git push origin master --tags

This means any release is available by it's tag or commit hash, e.g. to checkout the xanadu release

$ git clone --branch xanadu [email protected]:mom-ocean/FMS.git
Cloning into 'FMS'...
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 9257 (delta 6), reused 13 (delta 4), pack-reused 9241
Receiving objects: 100% (9257/9257), 7.04 MiB | 4.14 MiB/s, done.
Resolving deltas: 100% (6631/6631), done.
Checking connectivity... done.
Note: checking out '3cde6bb9fc3f860eacfbf52d095ec2d81e29b272'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>
Clone this wiki locally