gpt4 book ai didi

git - 如何在 git 中恢复不正确移动文件的历史记录?

转载 作者:太空狗 更新时间:2023-10-29 14:23:18 27 4
gpt4 key购买 nike

我在我的存储库中移动了文件,但 git 没有检测到这是移动。它检测到删除和添加文件。我提交了这个更改,然后做了很多其他的事情。之后我意识到我看不到移动文件的历史记录。

我找到了错误的原因,现在我想知道如何解决这个问题。

有没有办法恢复文件的历史记录?

Viewing GIT history of moved files解决方案不能解决我的问题,因为我没有正确移动我的文件。所有历史都丢失了。

最佳答案

首先,我认为您误解了 git 中的 renames .至git ,文件将永远不会被“不当移动”,因为 git跟踪内容而不是文件和文件名。 git的创造者,Linus Torvalds,关于重命名是这样说的:

git really doesn't even care about the whole "rename detection" internally, and any commits you have done with renames are totally independent of the heuristics we then use to show the renames.1

所以实际上可能发生的是 git log --follow不适合你,因为 --follow默认情况下仅检查相似度为 50% 的文件的重命名。但是,您的文件与其重命名后的版本可能只有 20% 或 30% 相似。尝试使用 --find-renames=<n> 使用低于 50% 的不同值,看看是否能解决问题:

git log --follow --find-renames=35% path/to/your/renamed/file
  1. http://marc.info/?l=git&m=119638337122721&w=2

关于git - 如何在 git 中恢复不正确移动文件的历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29895789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com