← 戻る

git skip-worktreeでチーム共有ファイルのローカル変更を無視する


課題

チームでgit管理している設定ファイル(エディタ設定、AI設定など)を頻繁にローカル修正するが、毎回 git status に差分が出て邪魔。かといってgit管理から完全に外すと、チームへの共有ができなくなる。

解決: --skip-worktree

# 適用(ローカル変更をgitに無視させる)
git ls-files <dir>/ | xargs git update-index --skip-worktree

# 解除(再びgitで変更を追跡する)
git ls-files <dir>/ | xargs git update-index --no-skip-worktree

--assume-unchanged との違い

フラグ用途git resetで解除
--assume-unchangedパフォーマンス最適化される
--skip-worktree意図的なローカル変更の無視されない

ローカル設定のカスタマイズには --skip-worktree が適切。

注意点

  • ローカル専用の設定。チームメンバーも各自で実行が必要
  • リモートで対象ファイルが更新されると git pull 時にコンフリクトする可能性あり(一時的に解除して対応)
  • 新規追加ファイル(未追跡)は対象外。必要なら .gitignore で対応