他の人は Vagrantfile をプロジェクトルートの上に置いてるけど自分はプロジェクトルートに置きたくて、Vagrantfile を ignore したいと思った。しかしそれは自分の都合なので PROJECT_ROOT/.gitignore
には追加したくない。そんなことはありませんか。
シェルの設定ファイルでやるみたいに、 .gitignore.local
みたいなファイルを作って読み込ませたり出来ないのかなと思ったけど、出来ないみたいだった。
ところで git はホームディレクトリにある .gitconfig に git config --global
したときの設定情報を保存する。自分は ~/.gitconfig に以下のように書いてる。
[core]
excludesfile = /Users/morygonzalez/.gitignore
自分のホームディレクトリにも .gitignore
ファイルを作っていて、こちらをプロジェクト横断的に読み込ませている。従ってこちらに Vagrantfile を追加しても良かった。
しかしそうするとプロジェクト横断的に Vagrantfile が無視されてしまい、Vagrantfile をバージョンコントロールしているプロジェクトで困ってしまう。
調べてみたところ、リモートブランチには反映させたくないけど自分の手元だけで特定のファイルを無視したいときには以下のようにすると良さそうだった。
-
PROJECT_ROOT/.git/info/exclude
に無視したいファイル名を記載する -
PROJECT_ROOT/.git/config
で以下のように記載する
[core]
excludesfile = /path/to/ignore-definition
自分は新しく ignore-list 用のファイルを作るのが面倒くさかったので .git/info/exclude
に無視したいファイルリストを書いた。