質問: お世話になります。 .gitignoreファイルの変更を行いました。 これによりgit statusのChanges not staged for commitに.gitignoreがリストアップされました。 この変更は自分専用にカスタマイズしたもので、チームで共有するものではありません。 そのためgitの管理下から.gitignoreファイルを除外しようと考えました。 そのために用いたのが、次の2つです。 1 .git/info/excludeに追加する 2 ~/.gitignore_globalを作成し~/.gitconfigに追加する git config --global core.excludesfile ~/.gitignore_global どちらの方法を使っても除外できるはずなのですが、いずれもgit statusすると .gitignoreが表示されてしまいます。 何か他に作業が必要なのでしょうか?
回答: こんにちは。 `.gitignore` がすでにリポジトリで管理されている状況なので、ignore のしようがないためそのような状況になっています。 .gitignore は単に「管理しないものを指定する」だけなので、すでに管理されているものには一切影響しません。 考え方を逆にして下さい。 「自分専用に書き換えた .gitignore を管理対象から外す」ではなくて、「自分専用の ignore 設定を .git/info/exclude に書く」とするだけで解決するはずです。 もし本当に「管理下の特定ファイルの変更を一切無視したい」というなら、`git update-index --skip-worktree` が使えると思いますが、これは自分が何をしているのかきっちり理解してから使わないと事故につながる操作なのであんまりオススメしません。