cse taggi

Log in

Gitosis



What is it ?

Git is a fast, scalable, distributed revision control system.

Quoting excerpts from the README file:

"gitosis" aims to make hosting ``git`` repos easier and safer. It manages multiple repositories under one user account, using SSH keys to identify users. End users do not need shell accounts on the server, they will talk to one shared account that will not let them run arbitrary commands.

For the purpose of this document, the owner of the shared git repository is called 'shared user'. Other users who are granted access to the 'shared user' account are called 'end users'.

Usage & Requirements

gitosis and git packages are installed on CSE login servers and most lab machines, allowing access to shared git repositories via these servers.

End users can then 'clone' a copy from the master and run git related commands on the local copy per usual to manage file or directory objects within the repository. Where git is not installed on a given server, it would not be possible to access shared git repositories set up under gitosis.

Normally repositories are hosted within a given user's login home directory which is auto mounted on a CSE/lab machine, so git commands can use 'localhost' where this is specified as part of the arguments.

Documentation also mentioned that the shared user account doesn't need to have a password, but does need to have a valid shell for SSH to work.

Configuration

Highlighted below are few areas of configuration worth noting:

Tags for this page:

git gitosis