.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
このページあなたの質問に答えるのに役立ちました。