- 2010-01-18 (Mon) 1:00
- Server Admin | Tech
仕事場では昨年から git を使っています。svn と比べていろんな利点があるとは思いますが、スピードが僕には捨てがたいです。というわけで自分用の git サーバーを立てたいのですが、管理を全て、というのはちょっと面倒くさいし… そこで gitosis という管理ツール群を見つけました。
日本語で書かれたものとして openbooth さんの gitosis – Git リポジトリ群の管理とアクセス制御 vol.1が非常によく纏まっています。僕は Install (Set Up) Git and Gitosis on Ubuntu を参考にしました。
解説は上に上げたページを参考にしてもらうとして僕が少しハマったところを解説します。
sudo python setup.py installはgitosis-init, gitosis-run-hook, gitosis-serveを /usr/bin 以下にセットアップするgitosis-initは実行したユーザのホームディレクトリに repositories ディレクトリなどを勝手に作ってくれるsudo chmod u+x /var/git/repositories/gitosis-admin.git/hooks/post-updateは絶対にする。逆に他の hooks script は +x である必要はない- クライアント側でする最初のタスクは、git 開発の手順通り、
git clone ssh://GIT_USER_NAME@YOUR.HOST.NAME/gitosis-admin.gitgit clone の url がわからなかったらマニュアル参照: git-clone(1) 僕は ssh に 22 を使っていないので、git clone ssh://GIT_USER_NAME@YOUR.HOST.NAME:PORT_NUM/gitosis-admin.gitのようになりました。 - gitosis.conf を編集して、新しいレポジトリを作る時、writable にするのを忘れない。そして keyfiles に ユーザの ssh public key を追加するのを忘れない。
- 一番最初に 新しい repository を追加する前に、僕のように ssh:22 で無い人は、client 側の ssh_config に、
Host YOUR.HOST.NAME Port PORT IdentityFile ~/.ssh/id_rsa Protocol 2を追加しておく必要あり。そうしないと
git remote add origin GIT_USER_NAME@YOUR.HOST.NAME:PROJECT_NAME.gitが実行できない
あと、エラーがでて git push が成功しなくても、サーバにログインして fix しちゃダメだよね。このツールはサーバに git を使って git を管理できるってのが売りだし。おそらく次回は commit hook の設定の仕方かな?
- Newer: プログラミング Gauche – Chapter 4 and 5
- Older: Update SSL Certificate
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://blog.nydd.org/2010/01/gitosis%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab/trackback/
- Listed below are links to weblogs that reference
- gitosis をインストール from Vantage Point of Queens