Setup Gitolite on Ubuntu (Maverick)
Below is a quick guide to installing Gitolite on Ubuntu.
Create an SSH public/private key pair
[user@client ~]$ ssh keygen -t rsaUpload the public key to the server
[user@client ~]$ scp ~/.ssh/id_rsa.pub user@server.example.org:/tmp/user.pubSSH to the server and become
root[user@client ~]$ ssh user@server.example.org user@server:~$ sudo su -Install
gitoliteroot@server:~# apt-get install gitoliteSwitch to the
gitoliteuserroot@server:~# su - gitoliteRun the Gitolite setup script
gitolite@server:~$ gl-setup /tmp/user.pubFrom your client computer clone the
gitolite-adminrepository[user@client ~]$ git clone gitolite@server.example.org:gitolite-admin Cloning into gitolite-admin... remote: Counting objects: 6, done. remote: Compressing objects: 100% (4/4), done. remote: Total 6 (delta 0), reused 0 (delta 0) Receiving objects: 100% (6/6), done.Switch to the
gitolite-admindirectory[user@client ~]$ cd gitolite-adminCreate a
testrepository[user@client gitolite-admin]$ vim conf/gitolite.conf [user@client gitolite-admin]$ git commit -a -m "Add test repository" [user@client gitolite-admin]$ git a [master 507045a] Add test repository 1 files changed, 3 insertions(+), 0 deletions(-) [user@client gitolite-admin]$ git push Counting objects: 7, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 376 bytes, done. Total 4 (delta 1), reused 0 (delta 0) remote: Already on 'master' remote: creating test... remote: Initialized empty Git repository in /var/lib/gitolite/repositories/test.git/ To gitolite@server.example.org:gitolite-admin 87cc470..507045a master -> masterClone the
testrepository[user@client ~]$ git clone gitolite@server.example.org:test Cloning into test... warning: You appear to have cloned an empty repository.Add a
READMEfile to thetestrepository[user@client test]$ echo "Test Repo" > README [user@client test]$ git commit -a -m "Initial commit" [master (root-commit) 4a49ee0] Initial commit 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 READMEPush the changes to the server
[user@client test]$ git push origin master Counting objects: 3, done. Writing objects: 100% (3/3), 218 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To gitolite@server.example.org:test * [new branch] master -> master
Check out the Gitolite wiki for more documentation.