Version control with Git

From Geos-chem
Jump to navigation Jump to search

Overview

Git is a relatively new version control system. At present (March 2010), we are considering migrating the GEOS-Chem repository from CVS to Git, for a variety of reasons:

  • Git avoids some of the limitations of CVS (which is by now 20-year-old software).
  • Git is in general much simpler to use than CVS.
  • With Git, GEOS-Chem developers will be able to:
    1. Download the most current GEOS-Chem source code online. (This will obviate the need for having to download the *.tar.gz files.)
    2. Develop and test their source code additions to GEOS-Chem in their own local repository, and
    3. Submit their mature source code updates back to the GEOS-Chem Support Team for inclusion in the standard mainline code

Tutorials about Git

Git tutorial video
Excellent lecture given by Bart Trojanowski for the Ottawa Group of Ruby Enthusiasts. RECOMMENDED!
Git for Designers
Nice overview of how version control works. Recommended for people with no prior experience using a version control system.
Git for the Lazy
This is an excellent Git guide for beginners. Short, sweet, and to the point.
Git From the Bottom Up by John Wiegley
Article which not only describes the commands used to invoke Git but also the design philosophy behind the Git version control system. Good theoretical background but somewhat terse for beginners to understand.
Official Git tutorial
A comprehensive but somehwat terse tutorial of Git commands.
Git for CVS Users
A tutorial specifically geared toward migrating from CVS to Git.
Sending Patches with Git
A guide how to use the patch feature of Git to send your changes to another user.

Using Git with GEOS-Chem and GAMAP

Please see the following pages which describe how to download the GEOS-Chem and GAMAP source code packages via Git.

References

  1. Git web page
  2. Git Cheat Sheet
  3. Google "Tech Talk" by Linus Torvalds, the creator of Git (Video on Youtube)
  4. Google "Tech talk" by Randal Schwartz (Video on Youtube)
  5. Setting up your .gitconfig file (Link)

--Bob Y. 15:41, 9 March 2010 (EST)