どうもこんにちは、体調を崩しており結構きついりっくんです。大体体調をくずすとBlogを書くみたいな悪しき習慣ができつつありますが、そこはまぁほっといて本題に入ろうかと思います。

これまでは基本一人でコードを書いて、それを他人に見てもらうくらいだったのでなんとかなっていたのですが、最近はコードを共有する必要がでてきて非常にめんどくさいなぁと思っていたところでした。よくよく考えれば、Gitって便利なものがあるじゃないか、ちょっと勉強しようってことで、さくらVPSにGitの共有レポジトリを作った話を書いてきます。

※あとから書いたので間違えてる可能性があります、自己責任でお願いします。

Git-Logo-1788C

VPS側

VPS側でやることは

  • gitのインストール(さくらのCentOSにははじめから入ってましたが、ソースから最新版を入れました。)
  • git用ユーザーを作る(必要あれば
  • git用グループを作る
  • git用のディレクトリを作る。
  • ディレクトリをgit用グループの所有に

って感じで進めました。

useradd git #ユーザーを作る
groupadd gitgroup #グループを作る
usermod -G gitgroup git#ユーザーをグループに追加
#複数のグループに入れる場合は
#usermod -G wheel,gitgroup git
#のように指定する。
mkdir /var/git
mkdir /var/git/testrepo.git #レポジトリ用ディレクトリを作る
cd /var/git/testrepo.git
git init --bare --shared=group #共有レポジトリ用にgitの初期化
chgrp -R gitgroup testrepo.git #testrepo.gitの管理グループをさっき作ったgitgroupへ

多少コマンド間違えてるまである・・・

ひとまず鯖側はこんな感じ。あと、このgitってユーザーも、自分の場合は秘密鍵認証でログインしたので、公開鍵の方を/home/git/.ssh内にauthorized_keysという名前で設置してあります。その辺はまぁ各自で。

クライアント側

私はMacから。

cd /Applications/MAMP/htdocs #MAMPのWeb用ディレクトリで開発するとして
git clone ssh://git@ADDRESS:PORT/var/git/testrepo.git #SSHで接続該当ディレクトリから持ってくる
cd testrepo.git

多分こんな感じでいけます。

ちゃんとグループの権限を与えてあげないとアップできなかったりになるので気をつけないといけないなぁと(詰まりまくった)
慣れてはいないけど、これ慣れたら多分少しは楽になるだろう。自然と使えるようになればなぁ。