2010年2月19日金曜日

Gitでバージョン管理してCakePHPを使う SVNも同様

開発環境に依存するファイルはバージョン管理に含んではならぬ!

いきなり余談でごめんなさい。この記事の一つ前の記事が釣りなんですが、ちょっとアクセスが多くて焦りましたw

本題ですが、例えばtmpフォルダ内のキャッシュなどの一時的なファイル(ログとかも)、config内の開発環境に依存するもの(開発環境によって設定を変えるもの)はバージョン管理に含みません。変更して間違ってコミットしたら、他の人の環境にも反映されて動かなくなっちゃうっていうトラブルが発生するからです。

無視して別名ファイルを用意する

キャッシュ系は別名ファイルは要りません。Gitの場合は空ディレクトリはバージョン管理の対象にできないので、emptyとかいうてきとうな名前の空ファイルを置けばいいです。.gitignoreで管理するのがいいと思います。

設定ファイルは別名ファイルを用意しておきます。例えばdatabase.phpをdatabase.php.sampleにしておいて、実際に開発する時にdatabase.phpというファイルにコピーして使います。database.phpは.gitignoreでバージョン管理対象外として指定されていることが前提です。core.phpもお忘れなく!

OS依存のものはグローバルに無視するようにする

Thumbs.dbとか.DS_Storeなどは、バージョン管理に含めないのはもちろんですが、各リポジトリの.gitignoreに書くよりも、各ユーザの.gitignoreに書いておく方が良いと思います。とは言っても、Thumbs.dbをコミットしそうな人がいる場合は、早めにリポジトリの.gitignoreに書いてコミットして先手を打っておいた方がいいかもしれませんねw

いい感じの.gitignoreが出来たら晒します

近々自分でもCakePHPを使う案件用に.gitignoreを用意しとこうと思うので、それが出来たらgistで晒します。この記事にも貼付けようと思います。あ、誰かが先にやってたら、そこにリンクを張ろう♪

0 件のコメント: