Win,MAC::gitとDropboxで開発環境を同期

これまで制作環境はWindows(Apache+PHP+MySql)でしたが激重なため、サクサクのMacへ移行しようとしています。

画像処理系のソフトなどWindows用のを使っている部分もあるので、Macでの環境が整うまでWinとMacのどちらのマシンで更新を行っても互いに修正内容を簡単に同期できるようにする必要があります。

個人で制作しているので、これまではファイルのバージョン管理をしなくても不都合はありませんでしたが、これを機にgitを使ってバージョン管理をしてみることにしました。

 

バージョン管理システムは職場でsubversionを使ったことがありますがgitは初めてです。

調べてたら下記の記事がこれらの概念を分かりやすくまとめていました。

イラストでわかる!git入門の入門 : アシアルブログ

 

■まずはWin側の準備

(1) msysgitのインストール

これを入れるとWinでgitが使えるとのことです。

http://code.google.com/p/msysgit/downloads/listにアクセスし、Git-1.7.11-preview20120710.exeをダウンロードして実行。バージョンがたくさんあるけど何かみんなbetaって書かれてる。最新版を落とせばいいと思われます。

インストールしたの結構前なのでインストーラーの画面でどういう風にチェック入れてインストールしたか忘れてしまいました。あと今調べてたらWindowsの環境変数HOMEとPATHの設定が必要っぽいけど、設定した形跡がないです。記憶がない....

インストール後にGit Bashを起動して初期設定をやったと思います。

 

(2) TortoiseGitのインストール

これを入れるとWinでgitが使いやすくなるとのこと。subversionでもTortoiseSVNというのがありますが、そのgit版のようです。

http://code.google.com/p/tortoisegit/wiki/DownloadにアクセスしてTortoiseGit-1.8.2.0-32bit.msiとTortoiseGit-LanguagePack-1.8.2.0-32bit-ja.msiをダウンロードしてそれぞれ実行。

これもどういうチェックをを入れてインストールしたか忘れた...

日本語のLanguagePackを入れたので[設定]-[一般]から言語を日本語に設定したと思われます。

 

細かい部分の記憶がおぼろげになってしまいましたが、インストールと設定がうまくいくとWindowsのエクスプローラーの右クリックメニューからインストールしたGitの機能が使えるようになります。

Winでのgitの使い方は下記のページに非常に細かなチュートリアルが書かれていて参考になりました。

Gitによるバージョン管理入門 for windows

 

(3) Dropboxのインストール

ネットがあれば複数のマシンでフォルダを共有できます。

https://www.dropbox.comにアカウント登録してインストール。

各マシン上のDropboxフォルダの内容がオンラインストレージを介して同期されます。

Dropboxフォルダは初期設定だと C:¥Users¥username¥Documents¥Dropboxに作成されます。

 

(4) WinのDropboxフォルダにリモートリポジトリ(ベアリポジトリ)を作成

C:¥Users¥username¥Documents¥Dropboxにリモートリポジトリ用のフォルダを作ります。

フォルダ名は何でもいいですが複数のサイトを管理したいので、まずrepositoriesフォルダを作って、さらにその中に各サイト用のフォルダを作りました。

リモートリポジトリのフォルダ名は末尾に.gitを付ける必要があります。C:¥Users¥username¥Documents¥Dropbox¥repositories¥example.gitという感じになります。

これを右クリックして[Gitここにリポジトリを作成]を選びます。

表示されるウィンドウで[Bareを生成(作業ディレクトリを作りません)]をクリックしてOKをクリックするとリポジトリが作成されます。

 

(5) Winの開発用のフォルダにローカルリポジトリを作成

私はC:¥wwwにWebサイトごとのフォルダを設けて制作しています。何かやりかたまわりくどいかもしれないけど中身が消えちゃったりするのが怖いので、念のため既存のC:¥www¥exampleを一旦リネームして退避してから空のフォルダとして作り直した後、右クリックして[Gitクローン(複製)]を選びました。

表示されるウィンドウでURLの欄に(4)で作成したC:¥Users¥username¥Documents¥Dropbox¥repositories¥example.gitを入力、ディレクトリはC:¥www¥exampleで[OK]します。(Putty認証キーのなんちゃらはチェックを外したかも)

するとC:¥www¥exmaple¥.gitというフォルダができます。こいつが作業用フォルダ内のファイルの更新履歴が記録される場所です。

 

(6) Winのローカルリポジトリにファイルをコミット

さきほどリネームで退避した元々のexampleの中身をexampleに入れ直した後、exampleフォルダを右クリックして[Git Gui]を選びます。

Git Guiが開きます。左上の「コミット予定に入っていない変更」エリアにファイルが表示されるので(私のマシンでは何だかめちゃくちゃ時間がかかる)これらを選んで[変更をコミット予定に入れる]をクリックします。

するとファイル達が「ステージングされた(コミット予定済の)変更」に移動します。

「コミットメッセージ」に“最初のコミット”とか分かりやすい内容を適当に書いてから[コミット]をクリックします。

 

(7) Winのローカルリポジトリからリモートリポジトリにファイルをプッシュ

Git Guiで[プッシュ]をクリックします。さらに表示される画面で[プッシュ]をクリックするとリモートリポジトリに内容が反映されます。

 

■やっとここでMac側の作業

(8) Dropboxのインストール

どうやったのか忘れました。確かhttps://www.dropbox.comにアクセスしてインストールしたと思います。(3)で登録したアカウントでログインするように設定しました。

Finderの「よく使う項目に」Dropboxのアイコンが増えていてアクセスしやすくなっていました。ターミナルでアクセスする場合/Users/username/DropboxDropboxフォルダの場所です。WinからプッシュしたリモートリポジトリがDropboxフォルダに自動で格納されます。 

 

(9) gitのインストール

http://code.google.com/p/git-osx-installer/downloads/listにアクセスしてgit-1.8.3.1-intel-universal-snow-leopard.dmgをダウンロードしてダブルクリックでマウントしてインストーラーを実行。だったかな...これも細かい手順を忘れてしまいました。

インストーラーを次へ、次へってやってたら終わって、あれ?ほんとにうまくいったのかな?って感じだったと思います。

 

(10) 作業フォルダにローカルリポジトリの作成

私は/Users/username/Sitesにサイト毎のディレクトリを作ることにしました。

ターミナルで作っておいたサイトのディレクトリに移動して、gitのコマンドを実行します。

 

cd ~/Sites/example

git init

git pull ~/Dropbox/repositories/example.git

 

これで作業フォルダにローカルリポジトリが作成されて、リモートリポジトリからファイル一式が展開されます。

既に作業環境のApacheのセットアップは済んでいるのでブラウザからアクセスしてWinで更新した最新の内容がMacで表示されるのを確認できました。

 

(11) ついでにMacで修正した内容をローカルリポジトリへコミット&リモートリポジトリへプッシュ

 

git add *

git commit -m 'Macからの初コミット!'

git push ~/Dropbox/repositories/example.git

 

WinでリモートからローカルにプルすればMacの修正が適用されます。

ただし、Dropboxの内容が完全にダウンロード完了する前にやろうとすると失敗します。

 

うーん、備忘録のつもりが実際にやってから時間が空いてしまって、忘れた記録みたいになってしまった。