git错误地将文件标记为重命名

时间:2014-10-12 13:26:30

标签: git

我有两个已经在git中添加和提交的文件。

  

报告
  report_dates

现在,我已经修改了这两个文件并尝试提交但git错误地将report_dates文件标记为在我将它们添加到暂存区域后重命名。

> git status
On branch master
Changes not staged for commit:  
  (use "git add <file>..." to update what will be committed)  
  (use "git checkout -- <file>..." to discard changes in working directory)  
      modified:   report
      modified:   report_dates

> git add report
> git add report_dates

> git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
      renamed:    report_dates -> report
      modified:   report_dates

我尝试使用 git commit --dry-run 进行验证,并将该文件显示为已重命名。提交会覆盖原始文件吗?有两个不同的文件,其中90%的内容相似。

1 个答案:

答案 0 :(得分:2)

正如我之前在&#34; git status shows rename but it's incorrect&#34;中所解释的那样,您需要在看到正确的状态之前实际提交。

提交前的git status

  • 仍然基于索引,看起来重命名已经发生 有时git commit --dry-run -a(请注意-a)可以提供帮助。
  • 检测:
    • report_dates being moved(在report重命名)
    • report_dates正在修改

它(git status)确实知道 确定直到您实际提交:在提交之前您可能仍然删除了report_dates

但实际提交将注册两个文件(无覆盖),而新git status不会显示任何重命名(confirmedOP shnazz)。