首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止git提交删除文件

如何防止git提交删除文件
EN

Stack Overflow用户
提问于 2015-12-09 02:40:28
回答 3查看 1.5K关注 0票数 4

我刚刚完成了一个git提交,它似乎从我的node_modules文件夹中随机删除了几个文件。有人有这个问题吗?

要明确的是,我最近的git提交删除了

代码语言:javascript
复制
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

我以前从没见过这种事,我也不明白为什么会发生这种事。这使我无法构建用于部署的应用程序。有没有人知道这种情况是如何/为什么发生的,以及今后如何加以预防?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-09 02:55:05

我的期望是那些文件在某个时候被删除了(通过什么机制,我不能说)。

如果您使用的是Git2.0或更高版本,那么当您输入git add .时,就会将已删除的文件进行提交。git add .基本上说“我想在这个回购中完成所有的更改”,在本例中包括删除文件。

这种行为在以前的版本中是不同的(我刚刚用Git 1.9和2.6.3验证了不同的行为)。

票数 1
EN

Stack Overflow用户

发布于 2015-12-09 02:55:37

我只是加了一句。事前

因此,您要求Git在. (当前目录)中完成所有操作。这个包括已删除的文件

例如,指定dir不仅会记录工作树中修改的文件dir/file1、添加到工作树中的文件dir/file2,而且还会记录从工作树中删除的文件dir/file3

如果这些文件被某个非git进程删除,然后运行git add .,然后提交,则删除将被提交。

比较版本1.9.2版本2.0.0 of git-add的文档可以发现,这种行为在第2版中发生了变化。

票数 1
EN

Stack Overflow用户

发布于 2019-03-26 14:44:28

要让git忽略提交中已删除的文件并提交所有其他更改,请执行以下操作:

代码语言:javascript
复制
git add --ignore-removal .
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34169851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档