Railsを使用したプロジェクトを社内にgitサーバを構築して、みんなでcommitしようという、ありがちなシチュエーションでの使いかたをまとめてみた。 別に個人でプロジェクトを管理しててもいいんだけど。
今回はgitレポジトリのアクセスにはsshを使う(gitをつかってもいいんだけど) http(DAV)も使えるのだが、commitなどはsshと比べて時間がかかる(らしい)し、設定手順も少し煩雑になるので今回はパス。
gitレポジトリを初期化する。
user@mypc:$ cd ~/railsproj user@mypc:$ git init
無視したいファイルを定義するため.gitignoreを書く。下記の定義は一例
user@mypc:$ cat .gitignore #*# *.*~ *~ *.#* tags log/*.log tmp/**/* .DS_Store doc/api doc/app user@mypc:$
/tmpなどに .gitignoreファイルを入れておく(空ディレクトリが登録されず無視されるのを防ぐため)
user@mypc:$ touch tmp/.gitignore user@mypc:$ touch log/.gitignore
gitレポジトリにファイルをコミットする。 コミットすると、コメント入力のためにエディタが開くので、そこに入力する。
user@mypc:$ git add . user@mypc:$ git commit
gitサーバへ転送するための裸(bare)のgitレポジトリを作成する
user@mypc:$ git clone --bare . ~/railsproj.git
gitサーバ側は、あらかじめgitレポジトリを設置するディレクトリを作成しておく gitgrpグループのメンバだけがgitレポジトリにアクセス、更新できるように設定する
user@gitpc:$ sudo mkdir /git user@gitpc:$ sudo groupadd gitgrp user@gitpc:$ sudo chgrp -R gitgrp /git user@gitpc:$ chmod 770 /git user@gitpc:$ gpasswd -a user gitgrp user@gitpc:$ chmod 2770 /git
scp(か何か)で,gitサーバに railsproj.gitをコピーする
user@mypc:$ scp -r ~/railsproj.git user@gitpc:/git
これでgitサーバのgitレポジトリ設定が終了。
他のクライアントからレポジトリを取り出す方法は、また次回
2007/4/20変更
グループにユーザを追加する方法を変更 usermod -G gitgrp user で追加すると、userはgitgrp以外のグループから削除されてしまうので。