Git is a version control system used by many projects such as Linaro, the Linux kernel, Android, Eclipse, Qt and more. For projects that can not afford their own servers and still need to collaborate, hosted git is available from github and as today there are a total of 2,769,642 repositories (private and public) hosted on github.
For software developed internally, you can start to setup you own Git server by following some simple steps (in Ubuntu).
Update Ubuntu and install git-core:
sudo apt-get update
sudo apt-get install git-core
Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features.
First get gitolite with git:
git clone git://github.com/sitaramc/gitolite.git
Obtain a public key based access to your server, so that you can log in from your workstation to the server without getting a password prompt.
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa jaufranc@CNX-NETBOOK
./gl-easy-install -q jaufranc CNX-NETBOOK Jean-Luc
The first parameter (jaufranc) is your username, the second (CNX-NETBOOK) the hostname and the third (Jean-Luc) the name you’d like to be called.
Gitoline is now installed with 2 default repository gitoline-admin and testing.
First clone gitoline-admin repository:
git clone CNX-NETBOOK:gitolite-admin
Add the repository (cnxapp in this example) in gitoline.conf:
and modify the file as follows:
@swdev = Jean-Luc
RW+ = Jean-Luc
RW+ = @all
RW+ = @swdev
I’ve also defined a group (swdev) to add more developers later on. Please check the instructions to add more users if you want to do so.
That’s it now, you should be able to clone the directory with git clone firstname.lastname@example.org:cnxapp and add files, commit and push them to the Git server.
More detailed information is available on Pro Git.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.