Setting up a private git server

Nowadays Github and Gitlab are very popular sites for managing software source code and related issues. However, one may want to set up a private git server. The steps necessary to create a repository on a linux server are presented below.

$ sudo adduser git $ sudo su git $ cd $ mkdir .ssh $ chmod 700 .ssh $ touch .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys $ mkdir privatedata.git $ cd privatedata.git $ git init –bare

Now, each user’s public ssh-key should be added to authorized_keys.

On client side, the following steps should be done:

$ mkdir privatedata $ cd privatedata $ git init $ touch README $ git status $ git remote add origin git@yourgitserver.net:/home/git/privatedata.git $ git add . $ git push origin HEAD:master $ git push origin master –force $ git commit -m “initial commit” $ git push origin master $ git status $ nano README // add some text and save $ git commit -a $ git status $ git push –set-upstream origin master

To check, whether the configuration works:

$ cd /tmp $ git clone git@yourgitserver.net:/home/git/privatedata.git $ ls privatedata

One should see README in /tmp/privatedata.