Node.js 如何防止git commit删除文件
我刚刚做了一个git提交,它似乎从我的node_modules文件夹中随机删除了一些文件。有人有这个问题吗 要明确的是,我最新的git提交被删除了Node.js 如何防止git commit删除文件,node.js,git,angular-fullstack,Node.js,Git,Angular Fullstack,我刚刚做了一个git提交,它似乎从我的node_modules文件夹中随机删除了一些文件。有人有这个问题吗 要明确的是,我最新的git提交被删除了 delete mode 100644 node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/cdnjs-cdn-data/external/cdnjs.json delete mode 100644 node_modules/grunt-node-inspector/
delete mode 100644 node_modules/grunt-google-cdn/node_modules/google-cdn/node_modules/cdnjs-cdn-data/external/cdnjs.json
delete mode 100644 node_modules/grunt-node-inspector/node_modules/node-inspector/front-end-node/Images/src/favicon.eps
delete mode 100644 node_modules/moment/min/tests.js
delete mode 100755 node_modules/requirejs/bin/r.js
我以前从未见过这种情况,我也无法理解为什么会发生这种情况。这会阻止我构建应用程序进行部署。有人知道这是怎么发生的吗?以及将来如何防止这一情况发生吗?我的期望是这些文件在某个时候被删除了(我不能说是通过什么机制删除的) 如果您使用的是Git 2.0或更高版本,当您键入
Git add.
时,您会将删除的文件暂存以提交git add.
基本上是说“我想在这个repo中进行所有更改”,在本例中包括删除文件
在以前的版本中,行为是不同的(我只是针对Git1.9和2.6.3验证了不同的行为)
我只做了git添加。事先
因此,您要求Git将所有内容放在
(当前目录)中。这:
e、 g.指定dir
不仅会记录在工作树中修改的文件dir/file1
,还会记录添加到工作树中的文件dir/file2
,还会记录从工作树中删除的文件dir/file3
如果这些文件被某个非git进程删除,并且随后运行了git add.
,然后提交,则删除操作将被提交
比较git add和的文档显示,此行为在版本2中发生了更改。要告诉git忽略提交中删除的文件并提交所有其他更改,请执行以下操作:
git add --ignore-removal .
git commit
本身并不能告诉你使用什么。什么是提交阶段?你在任何文件上运行过git-rm
吗?@Chris,我只运行了git-add。您使用的Git版本是什么?@DanielMann如何找到我的Git版本?我注意到的唯一原因是咕噜咕噜的谷歌cdn打破了我的习惯build@DanielManngit版本2.2.0感谢您的建议,但我没有接触这些文件。他们在一个不知名的地方做一些与开发无关的事情,除了可能有一个错误导致我不得不查找他们。关于它们可能被篡改的机制还有其他建议吗?@rashadb抱歉,我无法推测是什么改变了你的文件系统。你问为什么要进行删除,现在你知道了。是你上演的。Git没有从您的文件系统中删除它们。这不是一个令人满意的答案,因为我没有对这些文件采取任何特定的操作。我只能猜测这是怎么发生的。