使用 npm v5,现在
package-lock.json
文件是在 npm install
之后创建的
建议提交此文件,但我遇到的问题是,由于某种原因,我的开发计算机和服务器之间的文件不同。即使我将该文件推送到存储库,在服务器上的
npm install
之后,文件也会发生变化。
所以现在我试图让 git 取消跟踪这个文件。在遵循其他问题的大量答案之后,我似乎几乎设法做到了这一点,它没有在开发机器上跟踪,也没有出现在存储库本身中,但是在我将代码拉到服务器并制作
npm install
之后,它出现在modified
文件。
文件位于
.gitignore
中,但服务器 git 由于某种原因忽略了它。
git check-ignore -v -n package-lock.json :: 包锁.json
git check-ignore -v -n --no-index package-lock.json .gitignore:10:package-lock.json package-lock.json
可能相关的信息:
开发机器:Windows 10。 服务器:Ubuntu 14.04。 我正在使用标签将代码拉到服务器。
您需要将其从存储库中删除 (
git rm package-lock.json
),以便 git 停止跟踪它。
.gitignore 仅适用于未跟踪的文件。如果您的 .gitignore 中也有一个跟踪文件,则该文件被跟踪的事实会覆盖它也在 .gitignore 中的事实。
.gitignore
(您已经这样做了)git rm --cached package-lock.json
git status
可以看到该文件被标记为已删除,并且该文件没有被列为untracked
(因为它被gitignored),但它仍然存在提交更改并根据需要推送。
但正如OP所指出的,建议提交此文件。除非你陷入困境,也许想想为什么要从仓库中删除它。