Setting Up a Git Server on Ubuntu

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).

Installing the Git Server

Update Ubuntu and install git-core:

sudo apt-get update
sudo apt-get install git-core

That’s it.

Installing Gitolite

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

Install gitoline:

./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.

Adding a Repository

First clone gitoline-admin repository:

git clone CNX-NETBOOK:gitolite-admin

Add the repository (cnxapp in this example) in gitoline.conf:

cd gitolite-admin/conf
vi gitolite.conf

and modify the file as follows:

@swdev = Jean-Luc

repo    gitolite-admin
RW+     =   Jean-Luc

repo    testing
RW+     =   @all

repo    cnxapp
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 [email protected]:cnxapp and add files, commit and push them to the Git server.

More detailed information is available on Pro Git.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX Rockchip RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
2 Comments
oldest
newest
sitaram
13 years ago

my apologies for changing all the URLs but there was a very good reason: the docs were too long and people kept telling me they didn’t read because of that.

Anyway the new URL for the link you have toward the end of your blog post is http://sitaramc.github.com/gitolite/add.html

Also, I should tell you that the install method you use is obsolete now (was obsoleted around the time of your blog post), and was deprecated for about 4-5 months prior.

Sorry…

Boardcon Rockchip RK3588S SBC with 8K, WiFI 6, 4G LTE, NVME SSD, HDMI 2.1...