Gitの管理ツールと言えば、Githubが一番有名だと思いますが、個人や小規模のプロジェクトなら、Bitbucketがおすすめです。
なぜなら、無料で使うには、Githubはソースコードを公開しなければいけないのに対して、Bitbucketではリポジトリーをプライベートに設定できて、公開しなくて良いからです。
それなら別に自前のGit管理ツールなんかいらないじゃん〜となりますが、はい、基本的には問題ありません。^^;
私Bitbucketを5年程使ってきましたが、接続できないとなったのは1〜2回でしたし、ソースコードが消えたような問題もありませんでしたので、これは問題ないと言っていいでしょう。
つまり、ここの話は一日0.11%(2/(5*365))の確率で発生する問題の対策になります。^^b
ソース置くぐらいなら、VPSなどルート権限付のサーバーも必要なく、共用サーバーは十分だと思います。
サーバーにベタでリポジトリーを作り、そこにプッシュする手もありますが、Gitoliteのようなツールを使うと楽です。
参考1の公式インストール手順でも十分ですが、gitolite/install -ln ~/bin
することで、bin/の中にgitoliteのリンクが生成されるだけで、クローンしたソースファイルを残さなくてはいけないのがあまり好きではなく、参考2の公式Githubのページに紹介された手順はおすすめです。
手順は以下になります。
Gitolite管理者用のsshキーを生成
以下のコマンドでsshキーが生成されます。
ssh-keygen -t rsa -b 4096 -N '' -C "メールアドレス" -f ファイル名
ここの「-N ”」部分はパスフレーズをなしにするオプションですので、必要に応じて外しても問題ありません。
このキーファイルはローカルに作成したならば、公開鍵(ファイル名.pub)だけscpなどでレンタルサーバーにアップロードすれば良いです。
逆にサーバーで生成したら、秘密鍵(拡張子がない)をローカルにダウンロードする必要があると思います。
Gitoliteのインストール
レンタルサーバーにログインして以下のコマンドを実行します。
git clone https://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install -to $HOME/bin
ここまでやれば、$HOME/binの下に以下のようなファイルが増えると思います。
VERSION commands gitolite-shell syntactic-sugar VREF gitolite lib triggers
Gitoliteのセットアップ
ステップ1で準備した公開鍵のファイル名をgitkey.pubだとすれば良いです。
$HOME/bin/gitolite setup -pk gitkey.pub
そうすることで、$HOME/.ssh/authorized_keysの一番最後に以下のようなものが追加されるはずです。
# gitolite start command="/home/レンタルサーバーユーザー名/gitolite/src/gitolite-shell 管理者用sshキー",no-port-forwarding ...(中略)... # gitolite end
さくらインターネットさんのレンタルサーバーは既に$HOME/binを$PATHに入れてますので、再ログイン(もしくはsource $HOME/.cshrc
かな?!)すればgitoliteコマンドが使えるようになるはずです。
終わりに
gitoliteコマンドの確認できたら、サーバーからクローンしたgitoliteディレクトリはもう不要ですので、消しても問題ありません。
(いえいえ、是非消してください。)
ここまでがレンタルサーバーにおいてのgitolite構築手順です。結構簡単でしたね。
使い方に関しては別途書く予定です!^^;