Macで開発していると、自動生成される「.DS_Store」がGitに混ざってしまうことがあります。
不要な差分やコンフリクトの原因になるため、削除・除外しておくことが大切です。
こんな人におすすめ
- プロジェクトに.DS_Storeが混ざって困っている人
- 今後コミットされないように設定したい人
- 過去の履歴から.DS_Storeを消したい人
.DS_Storeとは何か
.DS_Storeは、macOSのFinderが作る隠しファイルです。
フォルダの表示設定を保持するだけで、ソース管理には不要です。
既存の.DS_Storeを削除する
# プロジェクト内の.DS_Storeを削除
find . -name .DS_Store -delete
# Gitの管理対象から外す
git rm -r --cached .DS_Store
git commit -m "Remove .DS_Store"
git push
.gitignoreで再発防止
.gitignore
に以下を追加します。
.DS_Store
すでに追跡中なら git rm --cached .DS_Store
を併用してください。
全リポジトリで無視する(グローバル設定)
echo ".DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
履歴から完全に削除する(必要な場合のみ)
git filter-repo --path .DS_Store --invert-paths
git push origin --force --all
※チームで利用する際は注意してください。
Comment