git - Git 不能正确检测某些文件的修改?
问题描述
我注意到 Git 没有正确检测到由 TI 的 Code Composer Studio (Eclipse) 生成的修改过的 .out 文件(它们已经在索引中)。编译/构建后,调用git status
显示 .out 文件changes to be committed
(已删除)而untracked files
不是 in changes not staged for commit
。知道是什么具体导致某些文件以这样的方式结束吗?
解决方案
如果文件存在于当前提交中但不存在于索引中,则该文件的状态为“已删除”。
如果文件存在于工作树中但不在索引中,则该文件是未跟踪的。
在这种情况下,两者都是正确的:文件在当前提交中(永远冻结在那里,以及所有其他冻结到提交的文件),而不是在索引中(因为某人或某事将其从索引中删除) ,并且在工作树中。鉴于您在此评论中的描述,IDE 可能已经运行git rm
以从索引和工作树中删除文件,或者可能已经运行相当于git add -u
在从工作树中删除文件之后但在重新创建文件之前工作树。
(该git add
命令注意到工作树中缺少该文件,将从索引中删除该文件。随后git add
,当文件在工作树中时运行,会将其复制到索引中,但您需要它的一个变体git add
添加了一个尚未出现在索引中的文件。)
推荐阅读
- ruby-on-rails - Rails + PostgreSQL:如何获取至少订购一次的产品+获取订单#和经理ID
- reactjs - 你如何在没有 babel 的情况下运行 reactjs
- python - python中的堆叠圆形条形图
- postgresql - PostgresQL:整个事务是否总是写入复制槽?
- xaml - Xamarin 将 ImageButton 对齐到底部
- javascript - ODOO12 如何调用客户端动作
- python - 如何在没有 HSV 颜色空间的情况下进行颜色过滤/遮罩?
- c# - 我可以从 Visual Studio 将 Git 链接类型(分支、提交等)添加到我的 TFS(AZURE)工作项吗?
- google-cloud-platform - 配置 ssh 设置后 ssh 到 GCP 实例失败:权限被拒绝
- parent-child - 子表应该有一个新的代理键,还是只使用父表的键?