Git のリモートリポジトリを Dropbox 上に作成して共有する

@kasumiiです。こんにちは。

Dropbox上にGitのリポジトリを作成してプライベートなリモートリポジトリとして使う方法をメモメモです。

【参考】Dropboxをgitの共有リポジトリとして使う | Tea Leaves
【参考】Dropbox is a Git Remote | Many Angles

【追記:2013/06/13】複数人で使用する場合、Dropboxの同期途中でpushしたりするとファイルがコンフリクトしたり壊れたりする可能性がありそうなので注意が必要です。

まずは、Dropbox上にリポジトリ置き場を作ります。今回は git-repos という名前のディレクトリ内にまとめておくことに。

cd ~/Dropbox
mkdir git-repos

git-repos ディレクトリ内で myproject という名前のベアリポジトリを作ります。

cd git-repos
git init --bare myproject.git

ローカルの作業ディレクトリに移動し、さきほど作ったリポジトリを dropbox という名前でリモートリポジトリとして追加設定します。この名前は短めに db でも、origin でもなんでもOK。

git remote add dropbox ~/Dropbox/git-repos/myproject.git

リモートリポジトリがちゃんと追加されたかどうかは以下のコマンドで確認!

git remote -v

dropbox という名前でちゃんと登録されていることがわかります。

dropbox	/Users/hogehoge/Dropbox/git-repos/myproject.git (fetch)
dropbox	/Users/hogehoge/Dropbox/git-repos/myproject.git (push)

リモートからローカルに複製したい場合は以下を。myproject ディレクトリが作成されて複製完了。

git clone ~/Dropbox/git-repos/myproject.git

myproject2 という別の名前でクローンしたいときは以下のように指定します。myproject2 ディレクトリが作成されて複製完了です。

git clone ~/Dropbox/git-repos/myproject.git myproject2

リモートリポジトリに master ブランチを push 。

git push dropbox master

ちなみにリモート登録をやめるときは以下。

git remote rm dropbox

git-repos ディレクトリもしくは各リポジトリのディレクトリを別のユーザと共有設定しておけば、あとは Dropbox が勝手に同期してくれてめでたしめでたし。(ただし、大人数になったときや Dropbox の同期が失敗したときはどうなるのかわかりませんが。。最悪の場合ファイルが壊れたりする可能性があるのでご注意を。)

リモートリポジトリは複数登録することができるので、たとえば hogehoge さんの Bitbucket を bb という名前でリモート登録しておいたりなども。

git remote add bb https://hogehoge@bitbucket.org/hogehoge/myproject.git
git remote -v
bb	https://hogehoge@bitbucket.org/hogehoge/myproject.git (fetch)
bb	https://hogehoge@bitbucket.org/hogehoge/myproject.git (push)

すぐに Bitbucket にも push できて便利。

git push bb master