非常规Git重命名/移动

非常规Git重命名/移动,git,binary,rename,move,mv,Git,Binary,Rename,Move,Mv,目前,我需要使用一个用户友好的图形IDE 我想方便一些模块的重命名/移动,但是在后端IDE使用几个二进制文件创建模块。在使用git mv重命名拼写错误的模块后,我的上一次编译失败 我猜在二进制文件中有我看不到的路径引用 在这个IDE中,通过创建一个新模块、复制粘贴内容和删除旧模块(都在IDE中),简化这个过程非常简单 这一举动可悲地打破了git的历史,我愿意保持这一点。有没有一种方法可以执行这种伪文件移动/重命名,然后在事实发生后告诉git它们是相同的,并将它们重新绑定在一起?git并不真正了解

目前,我需要使用一个用户友好的图形IDE

我想方便一些模块的重命名/移动,但是在后端IDE使用几个二进制文件创建模块。在使用
git mv
重命名拼写错误的模块后,我的上一次编译失败

我猜在二进制文件中有我看不到的路径引用

在这个IDE中,通过创建一个新模块、复制粘贴内容和删除旧模块(都在IDE中),简化这个过程非常简单


这一举动可悲地打破了git的历史,我愿意保持这一点。有没有一种方法可以执行这种伪文件移动/重命名,然后在事实发生后告诉git它们是相同的,并将它们重新绑定在一起?

git并不真正了解文件重命名。您可以执行您所描述的操作(剪切旧文件的全部内容并粘贴到新文件中),当您
git rm
旧文件和
git add
新文件时,
git status
将显示您重命名了该文件

但是,我想您的目标是能够向Git询问新文件名的历史记录,并让它在重命名之前向您显示旧文件的历史记录。Git并没有以您可能希望的方式完全支持这一点,但是在
Git日志中有一个“hack”——follow
尝试这样做。这里详细介绍了这一点以及移动文件内容时发生的机制:

是的,
git log--follow
是我试图做的(我认为我的语法:
git log--[path]
是一样的)。从你提供的链接,我理解,没有办法。。。为日志的follow选项将这些文件“重新缝合”在一起,并且跟踪方法(即使重命名)只是通过适当的提交分析。为了
git日志,没有办法将
rm
add
绑定在一起--遵循
。您同意吗?尝试使用
git日志--遵循--[path]
。它试图将删除和添加的内容缝合在一起……或者至少应该是这样,我还没有尝试过。