CakePHPとXAMPPとEGit、おまけでDropbox

こんな要件で開発するための環境構築について。

  • 複数開発者/拠点で開発したい
  • でも非公開にしたいのでGithubは使いません
    • 有料プランにすれば?というツッコミは華麗にスルー
  • (Cake)PHPで手っ取り早く開発したい
  • GUI(Windows, Eclipse)でなんとかなりませんか?

開発ツールのインストール

Pleiades All in One のPHP版がオススメ。これ一つに、XAMPPもEGitも入っています。まさに"All-in-One"!
Eclipse 日本語化 | MergeDoc Project

公開リポジトリの作成

まず、Gitの公開リポジトリDropbox上に作成します。もちろん、一プロジェクトに付き一つ作成するだけでOKです。

手順

1. Dropbox上に公開リポジトリ用のフォルダを作成し、他の開発者(Dropboxアカウント)と共有します。
2. EclipseのGitリポジトリー・エクスプローラーに、3つのGitリポジトリーアイコンが並んでいます。「このビューへ既存のローカルGitリポジトリーを追加」("緑"のプラス記号付き)、「Gitリポジトリーを複製し、このビューへ追加」("青"い矢印付き)、「Gitリポジトリーを作成し、このビューへ追加」("黄"のプラス記号付き)です。このうちの"黄"アイコンを押します。
3. 親ディレクトリーは手順1で作成したフォルダを指定します。名前(リポジトリー名)は".git"という接尾語(?)を付けるのがお約束だそうです(例:"hoge.git")。
4. "Bareリポジトリーとして作成"にチェックを入れ、「完了」を押します。

開発用リポジトリの作成

次に、開発用のリポジトリを作成します。一人/一拠点目とそれ以降とですべきことが変わります。

共通の手順(1)

1. "HOME"環境変数を設定します。この環境変数Cygwinのホームディレクトリを示すので、すでに設定されている場合は変更しない方が吉です。そうでない場合は、"C:\Users\(あなたのユーザ名)\git"あたりがいいでしょう。

一人/一拠点目の手順

2. もう一度"黄"アイコンを押します。今度は親ディレクトリーにHOMEで設定したディレクトリが表示されるはずです。
3. 名前(例:"hoge")を付けて「完了」を押します。"Bare〜"にチェックは入れません。
4. CakePHPをダウンロード、解凍します。
5. エクスプローラ等で、中身を3のステップで作成されたhogeフォルダにコピーします。フォルダ構成は以下のようになります。

- git\
 - hoge\
  - .git\
  - app\
  (以下略)

6. Eclipseで表示をリフレッシュすると、コピーしたファイルが表示されます。
7. ".gitignore"を編集し、app/tmp(必要であれば、app/Configも)を削除します。
(参考: CakePHPで作成したアプリをGitにコミットするときの注意点 - TODO: ブログの名前を考える)
8. 開発開始前のCakePHPをいったんコミットします。

それ以降の人/拠点の手順

2. "緑"アイコンを押し、リポジトリを複製(取得)する。
3. ロケーションは「ローカルファイル...」を押して、Dropbox上に同期された公開リポジトリ(hoge.git)を選択する。
4. その他の項目を適切に選択し、「完了」を押すと C:\Users\(あなたのユーザ名)\git にリポジトリが複製される。
5〜8. なし

共通の手順(2)

9. コマンドプロンプトを管理者権限で起動し、\xampp\htdocs にシンボリックリンクをはる。

c:\pleiades-*\xampp\htdocs>mklink /d hoge C:\Users\(あなたのユーザ名)\git\hoge
hoge <<===>> C:\Users\(あなたのユーザ名)\git\hoge のシンボリックリンクが作成されました

(参考: memorycraft: FuelPHPってなんじゃ?(Eclipseとxamppでローカル開発編))
10. XAMPPを起動し、localhost/hoge が表示できることを確認する。


試行錯誤しながらだったので実際上記の通りには作業してないけど、これが最短距離、のはず。(え