Version control with Git
Git is a distributed version control system originally designed for development of the Linux kernel. It is mature and robust, and possesses some advanced features that other version-control systems are lacking, such as full distributed operation and strong guarantees of content integrity through the use of cryptographic checksums.
The git tools are installed as standard on all CSG Linux workstations and servers, and are used internally by CSG for code and content management and distribution functions.
Hints for group operation
If you're hosting a git repository on a DoC file-space and wish to access it read/write from non-DoC machines, we recommend using the host gituser.doc.ic.ac.uk and the ssh access protocol.
If you're creating a git repository that will be used by multiple people, then you should pass the --shared=group option to your git init incantation. (Or, if you already have a git repository and don't want to re-initialize, set the core.sharedRepository configuration property of that repository to group and update the file permissions as appropriate.)
The Department offers a web-based GUI for interacting with git repositories called Gitlab. All DoC users have accounts, and login is performed using LDAP with a DoC username and password.