Git - the fast version control system

"Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do." — http://git-scm.com/

We can set up a Git repository for you on request. The resulting repository will be accessible on the Internet, so you may collaborate with others outside IAS. If you would like a repository set up, please send the following to the computing staff:

  • SSH public keys for yourself and and IAS-based collaborators.
  • Email addresses and SSH public keys for non-IAS collaborators.
  • The repository name. Usually this is the name of the project.

You may optionally send the following:

  • Read/Write access list for the users to the project if you want a more specific rights structure than read/write for all collaborators. See Gitolite Conf for the syntax you must follow.

Repositories are checked out, and changes checked in, as shown in this basic workflow:

$ git clone git@ssh.sns.ias.edu:reponame
$ cd reponame
$ vi bar  #just editing a file
$ git add .  #or 'git add bar' to be specific
$ git commit
$ git push origin master

Later, update your local respository with collaborators' changes:

$ git pull