【发布时间】:2019-08-12 04:10:34
【问题描述】:
我有一个提交的 repo,其工作流程如下:
在没有 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 将其显示为deleted 和added 操作,而通常我在git status 中看到renamed。
重命名看起来像这样mv module_stuff_information.py module_core.py
【问题讨论】: