[メモ] gitサーバの構築
あるプロジェクトで複数人でgitを使って開発しようということになったので、gitサーバを構築したメモ。環境はさくらVPS上の CentOS 5.4 です(゚∀゚)
1. gitインストール
まずgitをインストールします。。rootで作業。
remote# vi /etc/yum.repos.d/CentOS-Base.repo
して、以下を追加
[dag] name=Dag RPM Repository for Redhat EL5 baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=0 gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
あとは
remote# yum --enablerepo=dag -y install git
でおk。ソースとってきて make && make install でも簡単らしいです(´∞`)
2. リポジトリ作成
/var/git 以下に置くことにしました。
remote# mkdir -p /var/git remote# cd /var/git remote# mkdir test.git remote# git --bare init --shared
で、空のリポジトリができました。
remote# groupadd dev remote# usermod -G dev user remote# chown root:dev -R .
として dev グループの人用に設定します。サーバ側の設定は以上
3. クライアントからリポジトリを登録
ローカルで適当なリポジトリを作ってサーバ側に登録します。
local$ mkdir test local$ cd test local$ git init
空のリポジトリができます。次にリモートリポジトリの情報を登録します。
local$ git remote add origin ssh://user@server/var/git/test.git
でおkです。あるいは、 ssh://user@server の部分は .ssh/config のホスト名を指定しても大丈夫っぽいです。
local$ git remote add origin myhost:/var/git/test
こんな感じ。
local$ echo hoge > test.txt local$ git add test.txt local$ git commit -m "First commit"
で、ローカルのリポジトリに test.txt をコミットしました。これをサーバに転送します。
local$ git push origin master
と打って origin に master を push します。
4. 確認
うまく行ってそうなら、豪快にディレクトリごと削除してリモートから clone してみます。
local$ cd ../ local$ rm -rf test local$ git clone ssh://user@server/var/git/test.git
これで元通り。