我刚刚做了一个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/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
我以前从未见过这个,但我无法理解为什么会这样。这阻止我构建我的应用程序进行部署。有谁知道这是怎么发生的?为什么会发生这种情况以及未来如何防止这种情况发生?
答案 0 :(得分:1)
我的期望是那些文件在某些时候被删除了(通过什么机制,我不能说)。
如果您使用的是Git 2.0或更高版本,则在键入git add .
时,您将暂存已删除的文件以进行提交。 git add .
基本上说“我想暂存此回购中的所有更改”,在这种情况下包括删除文件。
以前的版本中的行为有所不同(我只是针对Git 1.9和2.6.3验证了不同的行为)。
答案 1 :(得分:1)
我只做了git add。预先
所以你要求Git在.
(当前目录)中展示所有内容。这includes deleted files:
e.g。指定
dir
不仅会记录在工作树中修改的文件dir/file1
,还会在工作树中添加文件dir/file2
,还会记录从工作树中删除的文件dir/file3
如果这些文件被某些非git进程删除,并且您随后运行git add .
然后提交,则删除将被提交。
比较version 1.9.2和version 2.0.0 git-add
的文档显示此版本在第2版中已更改。
答案 2 :(得分:0)
告诉git忽略提交中已删除的文件并提交所有其他更改:
git add --ignore-removal .