Gitでローカルでのみ特定のファイルを無視する設定をする。【未追跡ファイルと追跡済ファイルそれぞれに対応 / Git】

Gitでローカルでのみ特定のファイルを無視する設定をする。【未追跡ファイルと追跡済ファイルそれぞれに対応 / Git】

チームで開発してるけど自分のローカル環境で生成されるファイルがignoreされないなー、でも勝手に無視リスト更新する権限ないなーとか、そもそも自分の環境だけ特殊な事情があるんだよなー的なときに設定する方法の備忘録です。
すでにリポジトリで追跡済みのファイルと未追跡のファイルそれぞれに対応する方法をまとめました。

結論

.git/info/excludeファイルskip-worktree機能を使えばok


.git/info/excludeファイル

ポイント:

  • 未追跡ファイルのみに効く
  • 直接編集するかechoで書き込めばok
    (メモ: .gitフォルダをmacのFinderで表示するには「command + Shift + .」)
echo .npmrc >> .git/info/exclude

./git/info/excludeは↓のような感じ

# git ls-files --others --exclude-from=.git/info/exclude
.npmrc

skip-worktree

  • 追跡済みのファイルに対して無視したいときに有効
  • コマンドで設定するよ

無視リストに追加

git update-index --skip-worktree path/to/file

無視リストから削除

git update-index --no-skip-worktree path/to/file

無視してるやつ確認

git ls-files -v | grep ^S

以上です。


参考

Share this post