Setting GIT on need to know bases
Create an SSH public/private key pair
[user@client ~]$ ssh keygen -t rsa
Upload the public key to the server
[user@client ~]$ scp ~/.ssh/id_rsa.pub user@server.example.org:/tmp/user.pub
SSH to the server and become root
[user@client ~]$ ssh user@server.example.org user@server:~$ sudo su -
Install gitolite
root@server:~# apt-get install gitolite
Switch to the gitolite user
root@server:~# su - gitolite
Run the Gitolite setup script
gitolite@server:~$ gl-setup /tmp/user.pub From your client computer clone the gitolite-admin repository [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-admin directory [user@client ~]$ cd gitolite-admin
Create a test repository
[user@client gitolite-admin]$ vim conf/gitolite.conf ... add repo <new-repository-name> ... [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 -> master
Clone the test repository
[user@client ~]$ git clone gitolite@server.example.org:test Cloning into test... warning: You appear to have cloned an empty repository. Add a README file to the test repository [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 README
Push 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