@kasumiiです。こんにちは。
Dropbox上にGitのリポジトリを作成してプライベートなリモートリポジトリとして使う方法をメモメモです。
【参考】Dropboxをgitの共有リポジトリとして使う | Tea Leaves
【参考】Dropbox is a Git Remote | Many Angles
【追記:2013/06/13】複数人で使用する場合、Dropboxの同期途中でpushしたりするとファイルがコンフリクトしたり壊れたりする可能性がありそうなので注意が必要です。
この記事の目次
Dropbox上にリポジトリを作成する
まずは、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
あとは 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