我有一个git存储库,其中所有文件都从一个文件夹移动到另一个文件夹。这会导致所有的历史记录丢失(这是在多次提交之前)。
我可以使用
查看这些文件的历史记录 git log --follow
但希望历史记录显示为"正常"。
我意识到我不能"恢复"这些文件的历史,因为git将移动视为删除和添加,并且有许多StackOverflow对这种影响的答案。
我想知道,然而,如果一个工作流(可能涉及从一个旧的提交分支)存在,将允许我恢复历史?
我在想一些类似这样的事情(尽管我不能让这个确切的过程在最后一步没有很多冲突的情况下工作):
- 在move之前签出commit
- 从这个提交分支并使用
git mv
正确移动文件 - 将此分支合并/快进到master的当前提示
有这样的可能吗?
如果它不是太早的历史记录,您可以签出提交,而不是使用以下命令重命名文件夹:
git mv oldDirectoryName newDirectoryName
,它将保留历史记录并手动应用更改。
关于第三点,我没有尝试过类似的事情,但是stackoverflow上的线程实际上处理类似的问题