整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ
靠北 .DS_Store 到底是什麼?該不該加入到版本控制內?
前言
.DS_Store 到底是什麼東西?它到底該不該加入到版本控制內?為什麼會有它呢?所以這一篇就簡單聊一下 .DS_Store 這個東西。
.DS_Store 是什麼?
.DS_Store 是 MacOS 作業系統專屬的隱藏文件,英文全稱為「Desktop Services Store」,如果你是 Microsoft Windows 開發者的話,你可以把它想像成是 desktop.ini,但這一篇主要是說明 .DS_Store 是什麼,因此 Microsoft Windows 就可以離開啦~
那麼由於 .DS_Store 本身是一個隱藏資料夾,那麼查看隱藏資料夾的方式是在 Finder 視窗按下組合按鈕 Command + Shift + . 即可以顯示(反之再按一次就會隱藏),但就算你這樣做你也會發現根本沒有辦法看到 .DS_Store。
因為 Finder 並不會直接顯示出 .DS_Store,而是你必須使用終端機並輸入以下指令才能看到
1 | |

除此之外你也可以輸入 file 來查看 .DS_Store 是什麼類型的檔案
1 | |

那 .DS_Store 到底是什麼呢?簡單來講 .DS_Store 裡面主要儲存了一些資訊,例如:資料夾的圖標、視窗的設置等等,因此通常 .DS_Store 在每一個資料夾內都有,基本上就是隨處可見的等級了,但 .DS_Store 並不會佔用太多記憶體空間,所以通常來講是不用去特別理會它。
該不該把 .DS_Store 加入版本控制
其實這個答案非常淺顯易見,就是「不建議」加入版本控制內,就如同前面所言, .DS_Store 會記錄一些資訊,因此如果將 .DS_Store 加入到版本控制內時,是有可能發生一些資訊安全的問題(僅僅是有可能而已)。
因此許多 CLI 預設的 .gitignore 都會忽略 .DS_Store,以下舉例 Vite 的 .gitignore
1 | |
但為了保護開發者,還是會建議 .gitignore 要將 .DS_Store 加入忽略清單內。
阻止 .DS_Store 的生成
當然也可以阻止 .DS_Store 的生成,只需要在終端機輸入以下指令
1 | |
接下來重新啟動 Mac 就可以了。
若你想要恢復生成 .DS_Store,可以使用以下指令
1 | |
同上,恢復生成後要記得重新啟動 Mac
如果是想要搜尋 + 刪除當前 Mac 裡面所有 .DS_Store 檔案,可以使用以下指令
1 | |
基本上這樣子就不會一直長出 .DS_Store 了。
.DS_Store 該不該刪除或停用?
其實認真來講是不建議刪除或停用,儘管你是可以這樣做,也沒有任何問題。
但是除非你有什麼特別的原因,不然 .DS_Store 是不會影響你的效能的,通常也不會有太多的資安問題,除此之外 .DS_Store 主要也是幫你記錄一些資訊,如果你刪除的話可能會出現一些問題。
所以這個問題就留給你自己思考。
但有一點可以很明確的告知為了保護開發者,還是會建議 .gitignore 要將 .DS_Store 加入忽略清單內。
參考文獻
整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ