DropboxにGitの共有リポジトリを作成する手順
2017/01/31
こんにちは、okutani(@okutani_t)です。最近、Gitの素晴らしさをやっと理解してきた、へっぽこプログラマーな僕。
最初はローカルだけでGitを使っていましたが、「Gitの共有リポジトリでソースコードを管理したい!」と思うようになって、いろいろ方法を調べてみました。
GitHubを使う手のが一番よさそうな感じがしましたが、無料プランではソースコードが公開されてしまうので、それはちょっと恥ずかしい。有料プランにすればプライベートな共有リポジトリを作成できるのですが、そこまでして作りたくもないし。。
そんな人はぜひDropboxを使ってGitの共有リポジトリを作成してみましょう。無料で非公開の共有リポジトリを作ることができます。
また、本記事ではDropboxとGitは導入済みと仮定して進めています。Dropboxのアカウントをまだ持っていない方は、この機会に作っておくと何かと便利です。
Gitをまだ導入していない方は、下記記事を参考に導入しておきましょう。今回はMac上で設定をおこないましたが、ほぼ同じ手順でWindowsから設定をおこなうことができます。
では、さっそく作業していきましょう。
スポンサーリンク
もくじ
Dropboxに共有リポジトリを作成する
導入手順をみていきましょう。まずはターミナル(もしくはコマンドプロンプト)からDropboxディレクトリに移動しましょう。
$ cd ~/Dropbox
次に、「Repos」という名前のディレクトリを作成(名前は任意でOK)、cdで移動しておきます。ここに各プロジェクトの共有リポジトリを作成していきます。
$ mkdir Repos
$ cd Repos
その中に管理したいプロジェクトのディレクトリを作成。今回は「hello」というプロジェクトを管理していくと仮定します。名前の.gitはわかりやすいようにつけているだけなので任意でOKです。
$ mkdir hello.git
cdでhello.gitに移動後、リポジトリを次のコマンドで初期化します。
$ cd hello.git
$ git init --bare --shared=true
- --bare
- --shared=true
--bareオプションをつけることで、Dropbox内で管理している共有リポジトリを直接編集できないようにする。共有リポジトリは必ず --bare フラグを指定して作成すること。
このオプションで共有をONに。これを行わないとPermission deniedでエラーが発生してしまうのでつけておこう。
これでDropbox側の設定は完了です。
Dropboxにプロジェクトをpush
共有リポジトリが作成できたので、次はローカルにあるファイルをpushしましょう。今回は、ホームディレクトリ上の「hello」プロジェクトを共有すると仮定して進めます。
helloディレクトリにhello.txtを作成、hello world!と記述しておきました。helloディレクトリに移動、git initでリポジトリを作成します。
$ cd ~/hello
$ git init
helloディレクトリに.gitファイルが作成されました。そのままプロジェクトをローカルリポジトリにコミットしておきましょう。
$ git add .
$ git commit -m "first commit"
そのまま、先ほど作ったDropboxのhello.gitディレクトリを共有リポジトリとして登録します。
$ git remote add dropbox ~/Dropbox/Repos/hello.git
このコマンドの意味は次のとおりです。
$ git remote add [shortname] [url]
remote addで共有リポジトリの追加を行っています。[shortname]には共有リポジトリの名前をつけることができます。これをおこなうことで、urlを全て打ち込むことをせず、shortnameを使って共有リポジトリの操作ができます。
次のコマンドで、ローカルにあるプロジェクトを共有リポジトリにpushしてみましょう。
$ git push dropbox master
次のようにメッセージが出ていれば成功です。
共有リポジトリからプロジェクトをclone(コピー)する
プロジェクトを共有リポジトリで管理できるようになったので、次は別端末からプロジェクトをclone(コピー)してみましょう。例として別端末の作業ディレクトリ(今回の例ではwork)上で、プロジェクトをcloneしてみます。
$ mkdir work
$ cd ~/work
$ git clone -o dropbox ~/Dropbox/Repos/hello.git
上記コマンドは、remote addのときと同じように、[shortname]と[url]を指定することができます。
$ git -o [shortname] [url]
-oオプションでshortnameを指定しないと、originという名前のショートネームが自動でつきます。-oオプションでdropboxと指定してあげましょう。
無事にcloneされたかFinderで確認してみました。
このように、作業ディレクトリにプロジェクトをcloneできました。プロジェクトの中にhello.txtが入っていることが確認できます。
次はプロジェクトを編集してpush後、最初の端末からpullしてみましょう。
変更したプロジェクトをpush・pullしてみる
では、プロジェクトを編集後、共有リポジトリにpushします。さらに、最初の端末に戻って、変更をpullしてみましょう。
hello.txtの中身を「hello git!」に変更しました。変更したプロジェクトを共有リポジトリにpushしてみます。
$ cd ~/work/hello
$ git add .
$ git commit -m "second commit"
$ git push dropbox master
コマンドを入力しおわったら最初の端末に戻ります。helloプロジェクト内で次のコマンドを入力。
$ cd ~/hello
$ git pull dropbox master
ショートネームの設定が済んでいるので、git pullのみでpullできそうですが、なぜか私の環境ではうまくいきませんでした。git pull dropbox masterとすれば確実みたいです。
次のように、最初の端末にあるプロジェクトが変更されているのが確認できました。
これで、どこでもネット環境さえあれば、ソースコードを管理することができますね。
まとめ
本記事ではDropboxでGitを使う方法を紹介しました。また、他人とDropboxを共有して使う設定をすることで、複数人で開発をおこなうことができますね。
その際は、同じタイミングでpushするとコンフリクトを起こす場合があるようなので注意が必要みたいです。また別記事でまとめられたら追記したいと思います。
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク