1. ホーム
  2. plugins

macの.DS_Storeとgitの.DS_Storeを削除する方法

2022-02-15 06:40:25
<パス

.DS_Storeとは何ですか?

Macをお使いの方は、各ディレクトリにシステムが自動的に隠しファイルである.DS_Storeを生成することが多いことにお気づきでしょう。DS_Store (Desktop Services Store) は、Apple の Mac OS X オペレーティング システムによって作成される隠しファイルで、ファイルのアイコンの場所や背景色の選択など、ディレクトリのカスタム プロパティを保存するために使用されます。Windowsのdesktop.iniに相当するものです。

Gitの中にさらに.DS_Storeファイルがあったらどうしよう!?

1. ローカルブランチに残っている場合は、mac上のファイルを削除して再プッシュすればOKです

コマンドラインウィンドウを開く

現在のディレクトリとそのサブディレクトリにあるすべての .DS_Store ファイルを削除します。

find . -name '*.DS_Store' -type f -delete

非表示の .DS_store ファイルをすべて削除する(この手順は省略可能です)

sudo find / -name ".DS_Store" -depth -exec rm {} \; 

2. プロジェクト内に自動生成された .DS_Store ファイルがまだない場合は、.DS_Store を .gitignore ファイルに直接追加するだけです。すでにプロジェクトに .DS_Store ファイルがある場合は、それをプロジェクトから削除して .gitignore に追加する必要があります ( .gitignoreファイルとは )

を以下のように設定します。

This will skip the .DS_Store that is not in the project
1.find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
Add .DS_Store to .gitignore
2. echo .DS_Store >> ~/.gitignore
Update the project
3.git add --all
4.git commit -m '.DS_Store banished!'

.DS_storeの生成を禁止する。

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

.DS_storeの生成を復元します。.DS_storeの世代を復元します。

defaults delete com.apple.desktopservices DSDontWriteNetworkStores