The Azimuth Project
Using git and github

Here are some instructions for those new to git and github. It shows you how to download a program from the Azimuth code repository, add a file to it, and upload the result.

  • Get an account at github. (In this example the name is Graham853.)

  • Install git on your computer. Download page.

  • Start Git Bash.

  • Read a little in the book Pro Git by Scott Chacon. You will at least have to do something like this:

    $ git config --global user.name "Graham853"
    Work@FEB2012-PC ~/AAA/Programming/gittest
    $ git config --global user.email  xxxxxxxxxx
  • Create a directory (here it’s gittest3) for Azimuth code, and cd to it in Git Bash.

  • This downloads one of the Azimuth repositories (PredatorPreySDE) into the directory:

    Work@FEB2012-PC ~/AAA/Programming/gittest3
    $ git clone http://github.com/azimuth-project/PredatorPreySDE
    Cloning into 'PredatorPreySDE'...
    remote: Counting objects: 18, done.
    remote: Compressing objects: 100% (13/13), done.
    remote: Total 18 (delta 4), reused 17 (delta 3)
    Unpacking objects: 100% (18/18), done.
    Checking connectivity... done.
  • Check the config file PredatorPreySDE/.git/config, especially the url. It should look like:

    [core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
    [remote "origin"]
    url = http://github.com/azimuth-project/PredatorPreySDE
    fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
    remote = origin
    merge = refs/heads/master
  • cd into the local repository (PredatorPreySDE).

  • Make a file (here it’s test3.txt) in the local repository.

  • Tell git about it:

    $ git add test3.txt
  • Look what you’ve done:

    $ git status
    On branch master
    Your branch is up-to-date with 'origin/master'.
    Changes to be committed:
    (use "git reset HEAD <file>..." to unstage)
          new file:   test3.txt
  • Commit your new file locally:

    $ git commit -m "this is a test"
    [master 68a9bfa] this is a test
    1 file changed, 1 insertion(+)
    create mode 100644 test3.txt
  • Push your new file to the Azimuth repository. For this to work, you need to be added to azimuth-project, and assigned sufficient rights - ask on the Azimuth Forum.

    $ git push
    warning: push.default is unset; its implicit value is changing in
    Git 2.0 from 'matching' to 'simple'. To squelch this message
    and maintain the current behavior after the default changes, use:

    (the rest of this warning truncated)

  • This is what success looks like:

    Username for 'https://github.com': Graham853
    Password for 'https://Graham853@github.com':
    Counting objects: 4, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 277 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    To http://github.com/azimuth-project/PredatorPreySDE
     320b36d..68a9bfa  master -> master