2011年12月16日金曜日

無料でプライベートGitリポジトリーを作り放題のクラウドストレージ

Windows Live Mesh を使えば、無料でクラウド上の 5GB の領域に、プライベートリポジトリ数無制限で GIT プロジェクト群をホスティングできることに気付いた。手順は、大雑把に言うと次の通り。

  1. ローカルマシン上に作業用 Git リポジトリーを作成する。
  2. 1.で作成したリポジトリから、ローカルマシン上にベアリポジトリーを作成する。
  3. 2. で作成したベアリポジトリーを、Windows Live Mesh で SkyDrive と同期する設定にする。

Eclipse で作業する場合の具体的な手順は次のとおり。


作業用 Git リポジトリーの作成

(1) 「ファイル」→「新規」から、新しいプロジェクトを作成する。ここでは、myproject という名前のプロジェクトを作成することにする。

(2) プロジェクト名を右クリックし、「チーム」→「プロジェクトの共用...」と進み、表示された「プロジェクトの共用」ダイアログで Git を選択し、「次へ」ボタンを押す。



(3) 「Git リポジトリー構成」ダイアログで、リポジトリー指定欄の右にある「作成...」ボタンを押す。

(4) 「Git リポジトリーの作成」ダイアログで、作成するリポジトリーを指定する。ここでは、C:\Users\Takahiko\Dev\Git フォルダ内に myproject という名前で作成することにする。



(5) 「Git リポジトリー構成」ダイアログに戻るので、「完了」ボタンを押す。



(6) プロジェクト名を右クリックし、「チーム」→「コミット...」と進み、コミットする。




ベアリポジトリーの作成

ここでは、C:\Users\Takahiko\Documents\Cloud\Dev\Git\myproject.git というベアリポジトリーを作成することにする。Cygwin で作業する場合は次のようになる。

(7) ベアリポジトリー用のフォルダーを作成して、そこに移動する。

mkdir -p /cygdrive/c/Users/Takahiko/Documents/Cloud/Dev/Git
cd /cygdrive/c/Users/Takahiko/Documents/Cloud/Dev/Git

(8) --bare オプションをつけて git clone を実行する。(ベアリポジトリー名の末尾に .git を付けるのは慣習)

git clone --bare /cygdrive/c/Users/Takahiko/Dev/Git/myproject myproject.git

(9) 作業用リポジトリーがベアリポジトリーを参照するように設定する。具体的には、作業用リポジトリーフォルダーをエクスプローラーで開き、右クリックでコンテキストメニューを表示して「TortoiseGit」→「Settings」と進み(TortoiseGitインストール済みと仮定)、Git → Remote で、リモートの設定をおこなう。Remote 名は何でもいいが無難に origin、URL にはベアリポジトリーのパスを指定する。

Remote: origin
URL: C:/Users/Takahiko/Documents/Cloud/Dev/Git/myproject.git



(10) Eclipse に戻り、リモート設定がうまくいっているかを試す。具体的には、プロジェクト名を右クリックし、「チーム」→「アップストリームへプッシュ」をおこない、エラーが出なければ OK。現時点では [up to date] と表示されるはず。




Windows Live Mesh で同期する

(11) Windows Live Mesh をインストールする。(Windows Live ID [無料] を取得しておく必要がある)

(12) Windows Live Mesh を起動し、ベアリポジトリーを SkyDrive と同期するように設定にする。





上記の作業後、SkyDrive に行って「同期済みフォルダーの表示」をおこなうと、ベアリポジトリーが SkyDrive にアップロードされていることが分かる。





アップロードされているベアリポジトリーは他者からは見えていないはずだからプライベート・リポジトリーである。かつ、この方法を使うと、容量制限 5GB に達しない限り、プライベート・リポジトリーの数に制限はない。加えて、まだ検証できてはいないが、「同期したファイルやフォルダーを共有する」機能を使えば、最大9名と一つのベアリポジトリーを共有して作業できる。これらのことが無料でできるのだから、ありがたい。

Stackoverflow で商用プロジェクト用の GIT リポジトリーホスティングサービスでベストなものはどれか、という議論があり、

Best Git repository hosting for a commercial project?
http://stackoverflow.com/questions/109440/best-git-repository-hosting-for-a-commercial-project

GitHub という選択が優勢のようだが、GitHub の料金プランの一つ Medium は、「プライベート・リポジトリー数 20 で、共同作業者 10 名」で毎月 22 ドルであり、みんなが言うように、高い。

Stackoverflow で挙げられている選択肢のいずれよりも、Windows Live Mesh という選択肢のほうが良いと思う。何と言っても、無料でクラウド上にプライベート Git リポジトリーを作りたい放題。



その後、BitBucket というサービスを知った。共同作業の人数が少ないうちは、プライベートリポジトリーを作りたい放題。これで十分。

http://bitbucket.org/