すべてのフォルダとサブフォルダにあるすべての .DS_Store ファイルを .gitignore する 質問する

すべてのフォルダとサブフォルダにあるすべての .DS_Store ファイルを .gitignore する 質問する

.gitignore ファイルに .DS_Store を追加しましたが、すべてのフォルダーとサブフォルダーではなく、ルート ディレクトリの .DS_Store のみが無視されているようです。

これを修正するにはどうすればいいでしょうか?

ベストアンサー1

問題は、以前のコミットで誤って.DS_Storeリポジトリにファイルを追加したことにあると思います。もちろん、リポジトリでファイルが追跡されると、該当する .gitignore ファイルのエントリと一致しても、引き続き追跡されます。

.DS_Storeリポジトリに追加されたファイルを手動で削除する必要があります。

git rm --cached .DS_Store

削除されると、git はそれを無視するはずです。ルート ファイルには次の行のみが必要です.gitignore: .DS_Store. ピリオドを忘れないでください。

git rm --cached .DS_Store

.DS_Store現在のディレクトリからのみ削除します。

find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch

.DS_Storesリポジトリからすべてを削除します。

フェルトヒント:おそらくファイルをインクルードしたくないので.DS_Store、グローバルルールを作成します。まず、グローバル.gitignoreファイルをどこかに作成します。例:

echo .DS_Store >> ~/.gitignore_global

ここで、git にこれをすべてのリポジトリで使用するように指示します。

git config --global core.excludesfile ~/.gitignore_global

このページあなたの質問に答えるのに役立ちました。

おすすめ記事