Eclipse上でPDTを使ってFuelPHPのプロジェクトをGit管理したかったので、EGit で github を使えるようにしてみました。
参考にさせていただいたサイトはこちら。
FuelPHPってなんじゃ?(Git管理編)
Eclipse、PDT、FuelPHP は既に使える状態になっているものとします。
まずはEclipseからGitを使えるように、EGit をインストールします。
Eclipse の Helpメニュー -> Install New Software でダイアログを開きます。EGitのダウンロード用URLはデフォルトで登録されているので、--All Available Sites-- の中から Collaborat
インストールできたら Eclipse の Windowメニュー -> Preference
次にFuelPHPを使うプロジェクトを作成します。
1 $ oil create contact 2 $ cd contact
ここで気をつけなければいけないことがあります。oil create で作られたプロジェクトは、FuelPHPの github のリポジトリを clone して作られいるためGit管理になっています。その中でいくつかのディレクトリは git の
submodule として登録されているのですが、通常はその中の .git はディレクトリになっているはずが、私の環境(Ubuntu12.0
1 $ cat fuel/core/.git 2 gitdir: /home/akan uma/Learni ng/php/wor k/contact/ .git/modul es/fuel/co re
CentOS環境で試した時にはディレクトリとして作成されていたので環境によるのだと思いますが、このままだとあとでコミット候補としてインデックスに登録しようとした時に、下記のようなエラーが表示されます。
1 $ git add . 2 fatal: Not a git repository: /home/akan uma/Learni ng/php/wor k/sample/. git/module s/fuel/pac kages/pars er
また、submodule として登録した時にも下記のようにエラーになります。
1 $ git submodule add git://github.com/fue l/core.git fuel/core/ 2 The following path is ignored by one of your .gitignore files: 3 fuel/core 4 Use -f if you really want to add it.
そこで、下記の用にして .git ファイルの中身がさしているディレクトリを .git ディレクトリとして移動します。
1 $ rm fuel/core/.git 2 $ mv .git/modul es/fuel/co re fuel/core/ .git 3 $ rm fuel/packa ges/auth/. git 4 $ mv .git/modul es/fuel/pa ckages/aut h fuel/packa ges/auth/. git 5 $ rm fuel/packa ges/email/ .git 6 $ mv .git/modul es/fuel/pa ckages/ema il fuel/packa ges/email/ .git 7 $ rm fuel/packa ges/oil/.g it 8 $ mv .git/modul es/fuel/pa ckages/oil fuel/packa ges/oil/.g it 9 $ rm fuel/packa ges/orm/.g it 10 $ mv .git/modul es/fuel/pa ckages/orm fuel/packa ges/orm/.g it 11 $ rm fuel/packa ges/parser /.git 12 $ mv .git/modul es/fuel/pa ckages/par ser fuel/packa ges/parser /.git 13 $ rm -rf .git/modul es/fuel
次に、FuelPHP の Git 管理下から外すために下記のように Git 関連ディレクトリを削除します。
1 $ rm -rf .git .gitmodule
ローカルリポジトリを初期化します。
1 $ git init 2 Initialized empty Git repository in /home/akan uma/Learni ng/php/wor k/contact/ .git/
サブモジュールを追加します。
1 $ git submodule add git://github.com/fue l/core.git fuel/core/ 2 Adding existing repo at 'fuel/core' to the index 3 $ git submodule add git://gith ub.com/fue l/oil.git fuel/packa ges/oil 4 Adding existing repo at 'fuel/packa ges/oil' to the index 5 $ git submodule add git://gith ub.com/fue l/parser.g it fuel/packa ges/parser 6 Adding existing repo at 'fuel/packa ges/parser ' to the index 7 $ git submodule add git://gith ub.com/fue l/email.gi t fuel/packa ges/email 8 Adding existing repo at 'fuel/packa ges/email' to the index 9 $ git submodule add git://gith ub.com/fue l/auth.git fuel/packa ges/auth 10 Adding existing repo at 'fuel/packa ges/auth' to the index 11 $ git submodule add git://gith ub.com/fue l/orm.git fuel/packa ges/orm 12 Adding existing repo at 'fuel/packa ges/orm' to the index
ドキュメント類を削除します。
1 $ rm *.md 2 $ rm -rf docs
アプリケーション全体をコミット候補に加えるためにインデックスに追加します。
1 $ git add .
ローカルリポジトリにコミットします。
1 $ git commit -m 'First Commit.'
Eclipse の Fileメニュー -> New -> PHP Project で新規プロジェクト作成ダイアログを開きます。Project名を入力し、Content では Create project at existing location (from existing source) を選択し、oil create で作成したプロジェクトのルートディレクトリを選択し、Finish をクリックしてプロジェクトを作成します。
プロジェクトを右クリックし、Team -> Share Project を選択します。リポジトリタイプは Git を選択し次へ。Use or create repository
再度プロジェクトを右クリックし、Team -> Commit でコミットダイアログを表示し、コメントを入力してから Commit をクリックしてコミットします。
さらにプロジェクトを右クリックし、Team -> Remote -> Push を選択してダイアログを表示し、Location に github のリポジトリの情報を入力して次へ。Source ref: で master を選択して Add Spec ボタンをクリックし、Finish ボタンをクリックして github への Push を実行します。
以上で FuelPHP のプロジェクトを github 管理下に置くことができます。