Git没有检测到文件重命名,内容没有变化。不能使用git-mv

问题描述 投票:1回答:1

我有一个承诺的回购,其工作流程如下:

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

~/project/files+folders

编辑后我将它rsync到machine2,在那里它与存储库合并。

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

在机器2上我然后使用git do add / commit文件。文件重命名在machine1上通过mv执行,然后rsynced下载到machine2。这就是为什么我不能使用git-mv的原因,因为machine1没有git,也许它甚至不重要因为它没有在machine1上进行提交。

我的问题是机器2上的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

git rename mv
1个回答
1
投票

您必须将两个更改(删除和添加)添加到索引,以便git将其识别为重命名。例如,git add -A应该有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.