Installing Gitolite on CentOS 7 Raw

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