Git

From Biowikifarm Metawiki
Revision as of 06:52, 12 January 2012 by BobMorris (Talk | contribs)

Jump to: navigation, search

Installed through: sudo apt-get install git-core

Managing git users: git is like svn and cvs in many respects. However, every git project actually contains its own repository, and git permits users to synchronize their repositories typically with others that start as a clone of it, or one it is cloned from. Generally collaboration takes place by synchronizing to a git repository containing one of the clones designated as a master. This could take place on a single machine via the file system, but the most convenient way is to set up, or use an existing, git hub. Popular public hubs are github which permits only public git repositories, and bitbucket, which provides for public and limited private hubs. Whether we deploy a hub for biowikifarm will need some discussion about a number of things, e.g. what is the nature of the resources we mean to collaborate on, will those collaborations typically take place on the collaborator's own machines and need an easy way to synchronize to a master on a biowiki machine, etc. The latter is the closest analogy to the way svn works, but where git shines is in keeping each users revision tracking in their own local repository (very roughly analogous to an svn checkout), but with complete version tracking of that user's work, later synchronized to another repo, e.g. one on the hub). If all of the projects are meant to be fully publicly readable throughout development, it may make more sense to have masters on github or another public hosting service and have no hub maintenance on biowikifarm. In that scenario, if the resource is meant to be available on the biowikifarm, there would be a biowikifarm git repo on biowikfarm which would be synchronized to the master and if necessary built and deployed on biowikifarm.

Location on the server: /usr/bin/git

Clients: /usr/bin/git is the main command. Do man git to see a list of many git utilities whose names start with git-. The Vogella tutorial should convince you that most people can get most of their work done with just the main git command on the command line.

A useful tool for Windows may be: http://code.google.com/p/tortoisegit/downloads/list

The Vogella tutoral is very good.