我有一个已提交的存储库,其中的工作流程如下:
在没有git的远程machine1上编辑。
~/project/files+folders
编辑后,我将其rsync到machine2,在那里它将与存储库合并。
~/project/.git
~/project/files+folders在machine2上,我使用git添加/提交文件。文件重命名是通过mv在machine1上执行的,并向下同步到machine2。这就是为什么我不能使用git-mv的原因,因为machine1没有git,甚至没有git也无关紧要,因为machine1上没有提交。
我的问题是,machine2上的git status显示重命名的文件首先被删除,然后重新添加,而不是重命名。内容保持不变。即使我直接在machine2上重命名它,它也不被识别。仅当我使用git mv时。
这意味着我需要在machine2上通过git mv重命名所有文件,在machine1上通过mv重命名所有文件,以便rsync继续按照预期运行(尚未对此进行测试,但我假设它不会同步重命名的文件,因为它们在两台机器上是相同的)。
是什么原因导致git无法通过mv检测到文件重命名?有没有我可以设置的标志,以便这个重命名会被注意到?
首先,我假设不会提交重命名,因为git status将其显示为deleted和added操作,而通常我在git status中看到renamed。
重命名将如下所示的mv module_stuff_information.py module_core.py
发布于 2019-03-21 18:41:07
您必须将这两个更改(删除和添加)都添加到索引中,以便git将其识别为重命名。因此,例如,git add -A应该会有所帮助。
https://stackoverflow.com/questions/55278162
复制相似问题