如何在意外删除文件并将其添加回不同位置后如何修复我的git历史记录?

时间:2016-10-15 03:53:01

标签: git

这是我的情况:我将文件移动到新位置,但不小心只提交了删除。然后在后续提交中,我将新文件提交到新位置。 git log --follow似乎没有检测到文件已被移动,因此现在没有显示该文件的完整历史记录。

然后我尝试通过将文件移回原来的位置来解决这个问题,但它现在仍然有截断的历史记录lol,修复失败。

我现在如何修复此文件以使git检测历史链?

1 个答案:

答案 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