hario@harionote:~/blog$ glow articles/git-ignore-settings.md

File: articles/git-ignore-settings.md1.4Kmarkdown

---
date: tags: [#git]
---

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

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

結論

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


.git/info/excludeファイル

ポイント:

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

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

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

skip-worktree

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

無視リストに追加

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

無視リストから削除

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

無視してるやつ確認

bash
git ls-files -v | grep ^S

以上です。


参考

share:

sponsored

whoami

Hario

最近はReactとかNext.jsとかをよくさわってるただのエンジニアです。開発関連の記事が多めですが、ガジェットも好きだったりします。たまにそれらとは全然関係ない記事も書いたりもします。

hario@harionote:~/blog$