Git没有检测到大的重命名操作

时间:2014-10-28 12:09:27

标签: git batch-rename smartgit

我进行了一种品牌重塑并重命名项目中的所有根文件夹。 Smartgit将所有文件视为缺失和未跟踪。当我提交时,其中一些在日志中标记为renamed,但其中很多都没有。我不想丢失与fork源的连接以获取这些文件。我不会更改文件中的任何内容,只需重命名所有根文件夹和内部的一些文件。

我通过Total Commander重命名功能重命名。使用git mv手动重命名这些内容需要很长时间。

我该怎么做才能帮助git检测重命名?

更新

我发现它只检测最近添加的文件中的重命名,这些文件在fork源中不存在。

UPDATE2

我创建了2个克隆来测试这种行为。

  1. 更改了一个文件,提交并推送克隆1。
  2. 在克隆2中执行重命名,提交,拉动。
  3. 现在我在克隆2中遇到了一个rebase冲突。好像它实际上检测到重命名,但为什么会发生冲突呢?

    enter image description here

1 个答案:

答案 0 :(得分:1)

Git不会在提交时[1]跟踪重命名,但总是在运行时计算它们。因此,你无能为力。另见:

https://stackoverflow.com/a/7941544/241453

[1] https://git.wiki.kernel.org/index.php/Git_FAQ#Why_does_Git_not_.22track.22_renames.3F