.gitignore は .cvsignore と違ってホームディレクトリのものはデフォルトでは解釈されない
info cvs より
C.5 Ignoring files via cvsignore
================================
(snip
* The per-user list in `.cvsignore' in your home directory is
appended to the list, if it exists.
man gitignore より
NAME
gitignore - Specifies intentionally untracked files to ignore
(snip
o Patterns read from the file specified by the configuration variable
core.excludesfile.
git の場合、~/.gitconfig は解釈されるが、この中で
[core]
excludesfile = /path/to/.gitignore
の形で ~/.gitignore を指定してあげてないとその中身を ignore 対象にはしてくれない。おまけにちゃんとフルパスで書いてあげないといけない。
ということで自前のツールで
gitconfig.erb
[core]
excludesfile = <%= ENV['HOME'] %>/.gitignore
てな形で用意しておくことにした。これで Linux でも OSX でもユーザー名が変わっても大丈夫。