这是我的情况:我将文件移动到新位置,但不小心只提交了删除。然后在后续提交中,我将新文件提交到新位置。 git log --follow
似乎没有检测到文件已被移动,因此现在没有显示该文件的完整历史记录。
然后我尝试通过将文件移回原来的位置来解决这个问题,但它现在仍然有截断的历史记录lol,修复失败。
我现在如何修复此文件以使git检测历史链?
答案 0 :(得分:2)
您需要将两个提交合并在一起:
git reset --soft "HEAD^"
git commit --amend
或者你可以完全回到之前的提交,重做这些东西并修改提交:
git reset --hard "HEAD^"
# create the file, or move, ...
git commit --amend
最后,如果您已经推送到远程,则需要使用-f
覆盖远程历史记录:
git push origin -f