Git未检测到文件重命名,内容未更改。无法使用git-mv

时间:2019-03-21 10:17:03

标签: git rename mv

我有一个已提交的仓库,其工作流程如下:

在没有git的远程machine1上进行编辑。

~/project/files+folders

编辑后,我将其同步到machine2,并与存储库合并。

~/project/.git
~/project/files+folders

然后在machine2上,我使用git做添加/提交文件。文件重命名是通过mv在machine1上执行的,并向下同步到machine2。这就是为什么我不能使用git-mv的原因,因为machine1没有git,也许也没有关系,因为在machine1上没有任何提交。

我的问题是,machine2上的git status显示重命名的文件首先被删除,然后被重新添加,而不是被重命名。内容不变。即使直接在machine2上重命名它,也无法识别。仅当我使用git mv时。

这意味着我需要通过machine2上的git mv和通过machine1上的mv重命名所有文件,以便rsync继续按预期方式运行(尚未测试,但是我假设它不会同步已重命名的文件,因为它们在两台计算机上都是相同的。

是什么原因导致git无法通过mv检测到文件重命名?我是否可以设置一个标志,以便该重命名得到注意?

有一件事,我假设不会提交任何重命名,因为git status将其显示为deletedadded操作,而通常我会在其中看到renamed git status

重命名看起来像这样mv module_stuff_information.py module_core.py

1 个答案:

答案 0 :(得分:1)

您必须同时对索引添加更改(删除和添加),以便git将其识别为重命名。因此,git add -A应该有帮助。