Basics

gitolite-admin

gitolite-admin という管理用のリポジトリで権限設定を行います。

管理ユーザの SSH 秘密鍵を ~/.ssh/ 以下にコピーします。

% cp /path/to/gitolite-adimn/private/key ~/.ssh/gitolite_admin.pem
% chmod 600 ~/.ssh/gitolite_admin.pem

~/.ssh/config にて SSH のホスト設定を行っておきます。

host gitolite-admin
    user gitolite
    hostname gitolite.example.net
    port 22
    identityfile ~/.ssh/gitolite_admin.pem

設定した SSH ホストから gitolite-admin リポジトリを取得します。

% git clone ssh://gitolite-admin/gitolite-admin.git

ユーザ追加

ユーザごとに SSH 鍵を作成します。

  • 秘密鍵 staff.pem
  • 公開鍵 staff.pub

を例にします。

公開鍵を gitolite-admin/keydir/(ユーザ名).pub として push することで追加されます。

% cd /path/to/gitolite-admin/keydir
% cp /path/to/new/id_rsa.pub staff.pub
% git add staff.pub
% git commit -m 'Add user staff'

ユーザ側は秘密鍵を使ってアクセスできるようになります。

% vim ~/.ssh/config
...

host gitolite-staff
    user gitolite
    hostname ....
    port 22
    identityfile ~/.ssh/staff.pem

...

% git clone ssh://gitolite-staff/testing.git

権限設定

gitolite-admin/conf/gitolite.conf を編集し push することで反映されます。

repo    gitolite-admin
        RW+     = admin

repo    testing
        RW+     = @all