gitignore-boilerplates(長いので以後giboと呼びます)という便利なツールを紹介します。これは.gitignoreのひな形を作ってくれるものです。
もう少し詳しく説明すると、giboは様々なOS・エディタ・言語・フレームワークなどに特化したファイルの情報を利用して、複数環境を考慮した.gitignoreを作ってくれます。
.gitignoreに入れたいファイルは環境ごとに変わってくるわけですが、各人がcommitしたくないファイルの存在に気づくたびにチマチマ.gitignoreに追記していくのって本当に無駄だと思うんですよね。giboはそれを自動化してくれるというわけです。
例えば、WindowsとMacOSXの2環境、Emacsとvimの2エディタを使う人がいるC言語のプロジェクトであれば、次のようにして.gitignoreを作ることができます。
$ gibo Windows OSX Emacs vim C >> .gitignore
この結果は次のようになります。ほぼ文句のない内容だと思いますが、いかがでしょうか。
### /Users/hnw/.gitignore-boilerplates/Global/Windows.gitignore # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ ### /Users/hnw/.gitignore-boilerplates/Global/OSX.gitignore .DS_Store .AppleDouble .LSOverride Icon # Thumbnails ._* # Files that might appear on external disk .Spotlight-V100 .Trashes ### /Users/hnw/.gitignore-boilerplates/Global/Emacs.gitignore *~ \#*\# /.emacs.desktop /.emacs.desktop.lock .elc auto-save-list tramp .\#* # Org-mode .org-id-locations *_archive ### /Users/hnw/.gitignore-boilerplates/Global/vim.gitignore .*.sw[a-z] *.un~ Session.vim .netrwhist ### /Users/hnw/.gitignore-boilerplates/C.gitignore # Object files *.o # Libraries *.lib *.a # Shared objects (inc. Windows DLLs) *.dll *.so *.so.* *.dylib # Executables *.exe *.out *.app
PHPを例に取れば、Eclipse、NetBeans、PhpStormといった統合開発環境や、Symfony、CakePHP、ZendFrameworkといったフレームワークにも対応しています。ctagsやetagsの作るタグファイルに対応する「Tags」も忘れがちなので助かりますね。
ちなみに、この.gitignoreの情報はGitHub公式の.gitignoreテンプレート収集リポジトリ https://github.com/github/gitignore から内容を取ってきています。このリポジトリが充実すればgiboが対応する環境も増えるというわけです。
そんなわけで、プロジェクト立ち上げ時はgiboで.gitignoreを作っちゃいましょう。