Gitosisのインストールが終わり、Gitosis用の管理ユーザの作成ができているものとする。
リポジトリを管理するするリポジトリをクーロンする。
git clone gitosis(Gitosis用の管理ユーザ名)@YOURDOMAIN:gitosis-admin.git
gitosis.conf の編集。
cd gitosis-admin vi gitosis.conf
以下、新しいリポジトリhoge-repoを作成し、USER2とUSER3を追加する場合の編集例。
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = USRNAME
[group hoge-repo]
writable = hoge-repo
members = USRNAME USER2 USER3
太字部分を追加する。
keydirディレクトリの中には対応する鍵、USER2.pubとUSER3.pubを追加する。
サーバにプッシュする。
git add . git commit -am 'リポジトリhoge-repoとユーザーUSER2, USER3を追加' git push
このとき、
error: insufficient permission for adding an object to repository database ./objects
というエラーが出る場合は、共有リポジトリを作るときに–sharedを指定しなかったため。
以下のコマンドを試してみる。
git config --list # core.sharedがないことを確認 git config --global core.shared true
作成されたリポジトリを使ってみる。
まずは最初のコミット。
mkdir hoge-repo cd hoge-repo touch README git init git add README git commit -am 'initial commit' git remote add origin gitosis(Gitosis用の管理ユーザ名)@YOURDOMAIN:hoge-repo.git git push origin master
サーバにあるリポジトリをクローンする。
git clone gitosis(Gitosis用の管理ユーザ名)@YOURDOMAIN:hoge-repo.git
ローカルのファイルを編集してプッシュを試してみる。
cd hoge-repo echo "Hello world!" > README git add . git commit -am 'edit README' git push