无法使git停止跟踪package-lock.json

Gie*_*ius 7 git node.js npm

使用npm v5,现在package-lock.json正在创建文件npm install

建议提交此文件,但我发现这个文件由于某种原因在我的开发机器和我的服务器之间是不同的.即使我将该文件推送到repo,npm install在服务器之后,文件也会更改.

所以现在我试图让git跟踪这个文件.在从其他问题中得到许多答案后,我似乎已经设法这样做了,它没有在开发机器上跟踪,没有出现在repo本身,但是在我将代码拉到服务器并制作之后npm install,它出现在modified文件中.

文件在.gitignore,但服务器git由于某种原因忽略它.

git check-ignore -v -n package-lock.json
::      package-lock.json
git check-ignore -v -n --no-index package-lock.json
.gitignore:10:package-lock.json package-lock.json 

可能相关的信息:

开发机器:Windows 10.服务器:Ubuntu 14.04.我正在使用标签将代码提取到服务器.

And*_*ndy 16

你需要从你的repo(git rm package-lock.json)中删除它,以便git停止跟踪它.

.gitignore仅适用于未跟踪的文件.如果您的.gitignore中也有跟踪文件,则跟踪该文件的事实将覆盖它同样位于.gitignore中的事实.


com*_*ike 8

  • 要停止跟踪它,请将文件添加到.gitignore(您已经这样做了)
  • 要从存储库中删除它而不删除文件,请调用git rm --cached package-lock.json
  • 调用git status查看该文件被标记为已删除,并且该文件未列出为untracked(因为它被 gitignored),但它仍然存在

提交您的更改并在需要时推送。