怎麼讓 git 忽略 .DS_Store
很多前端開發攻城獅都會將 Mac OSX 作爲自己的開發環境,在這個環境下往往會出現一些奇妙的問題,比如這篇文章的主要內容——如何讓你的 git 忽略 .DS_Store
什麼是 .DS_Store
由於這個文件往往前面有一個 .
所以在 Finder 中是不可見的,但是它確確實實存在於每一個文件夾中,甚至包含外部設備
這個文件存儲了這個文件夾的元數據信息,比如文件夾的圖標信息、窗口位置、視圖等等
我們可以在一個目錄中打開終端:
# ls -a
這個命令可以顯示所有文件,通過這樣的方式就可以看到 .DS_Store
那麼如果我們刪除了這個文件會發生什麼呢?事實上並不會有很多嚴重的影響,只是會暫時丟失這個文件夾的元數據,並且這個文件會被 Mac OS X 重新生成
由於大家的開發平臺不同(Mac/PC),這就導致了團隊寫作中會導致一些問題,我們可以令 git 忽略這個文件
在本地倉庫忽略
要忽略一個目錄下的某個文件或者文件夾,只需要在 .gitignore
中進行配置,我們可以在這個本地倉庫的根目錄下配置 .gitignore
文件,如此一來這個文件夾下的所有子文件夾的.DS_Store
都會被忽略,如:
node_modules
dist
.vscode
deploy.sh
.DS_Store
如果我們在創建 .gitignore
之前.DS_Store
就已經存在於這個文件中,我們需要通過 git rm --cached .DS_Store
刪除這個索引
但是在每一個項目中都這樣進行配置不免有些繁瑣,我們也可以在全局進行配置
在全局進行配置
我們的 git 一般會按照根目錄下的 .gitconfig 中的配置運行,我們可以先在根目錄下創建一個 .gitignore_global
文件,格式和.gitignore
相同,其中的內容是所有要忽略的文件:
.DS_Store
node_modules
.vscode
.idea
之後我們要在 .gitconfig
添加這條配置,將下面兩行添加到文件末尾
[core]
excludesfile =/Users/你自己的用戶名/.gitignore_global
end