怎麼讓 git 忽略 .DS_Store

怎麼讓 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章