You'll use *your* public key to administer the gitolite server[^1]. I
saved mine in `/tmp/nikhil.pub`.
Installation
------------
# Create a gitolite service account and switch to it
useradd git
su - git
# Create a folder from where gitolite will run ($HOME/bin should be in $PATH)
mkdir -p $HOME/bin
git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite
# Install the gitolite scripts
/tmp/gitolite/install -to $HOME/bin
# Set up gitolite with your key
gitolite setup -pk /tmp/nikhil.pub
# That's it! :)
Administration
--------------
# Clone the admin repository
git clone git@example.com:gitolite-admin
# Edit the config file to add/edit repositories and permissions
vim gitolite-admin/conf/gitolite.conf
# Add/remove any keys in the key directory
cp kathy.pub gitolite-admin/keydir/
# Commit and push. Gitolite will set up remote.
git add .
git commit -m "Added blah repo"
git push
If you see anything weird when cloning the Gitolite admin repository,
hose everything and start over:
rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories
Miscellaneous
-------------
If running SSH on a different port, an SSH config file is your friend.
Here's a sample `~/.ssh/config`
Host gitserver
Hostname example.com
Port 3574
User git
# Don't need if using default id_rsa.pub
# IdentityFile ~/.ssh/my_key.pub
Then clone with
git clone gitserver:gitolite-admin
git clone gitserver:my-repository
Footnotes
---------
[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.
Generate with `ssh-keygen -t rsa`.