不希望把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”的变化了。