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