我有一个承诺的回购,其工作流程如下:
在没有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
将它显示为deleted
和added
操作,而通常我在renamed
看到git status
。
重命名看起来像这个mv module_stuff_information.py module_core.py
您必须将两个更改(删除和添加)添加到索引,以便git将其识别为重命名。例如,git add -A
应该有所帮助。