1. 程式人生 > >Windows平臺.gitignore檔案無效的解決方法

Windows平臺.gitignore檔案無效的解決方法

不希望把node_modules檔案提交到倉庫中,於是在.gitignore添加了如下規則。

node_modules/

但執行”git status”,卻總髮現該死的node_modules資料夾總出現在untracked檔案裡,如下:

our branch is ahead of 'origin/master' by 4 commits.
  (use "git push" to publish your local commits)
Untracked files:
(use "git add <file>..." to include in what will be committed)
   node_modules/

按照以往的經驗,清除node_modules的儲存歷史即可,執行如下命令:

# 清除歷史儲存記錄
git rm -r --cached node_modules/

然後再檢視檔案的狀態,如下:

# 檢視檔案狀態
git status

但詭異的事情發生,node_modules資料夾依然出現在untracked檔案裡,一向都無往不勝的辦法毫無作用,真是百思不得解!why?

百般無奈中,切換了到Linux平臺進行操作,神奇的事情發生了,.gitignore檔案完全沒問題,node_modules再也不出現在untracked檔案中了。什麼原因?這麼看來,問題出現在.gitignore檔案的儲存格式上。

切換到Windows平臺,檢視.gitignore的編碼方式,竟然是UTF-8,將其另存為ANSI格式(Linux預設的編碼方式),然後執行”git status”,發現git再也不會追蹤”node_modules”的變化了。