読者です 読者をやめる 読者になる 読者になる

さかめも

株もやってるウェブエンジニア。月間80,000PV。田舎で生まれ、上京して7年。大手SIer→ウェブ系ベンチャー→フリーランス→スタートアップ創業期 を経験。お金持ちにならなくていいから好きなことをしたい。好きなことを続けるためにお金が欲しい。

Gitosisでリポジトリとメンバーを追加し、リポジトリを使ってみる手順

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