如何恢复git提交历史记录

时间:2017-09-03 09:59:36

标签: git undo

所以我通过修改最后一次提交来破坏我的本地提交历史。仅供参考,我没有GIT经验。我认为修改用于撤消git add --all。所以我在Stack溢出问题中运行了两个命令: How to undo "git commit --amend" done instead of "git commit"

然而,看看哈希,我发现它仍然不同。在不破坏源代码更改的情况下,如何将本地git提交历史重置为github中的内容?

2 个答案:

答案 0 :(得分:1)

使用reset --soft HEAD^1然后pull origin <branch>

它将在不删除您的本地更改的情况下通过一次提交收回头部,然后将拉动您的分支以更新历史记录。之后,将更改保存为新提交,并像往常一样进行推送。

答案 1 :(得分:0)

所以不幸的是Sinapse的解决方案没有用,因为我可能会破坏历史记录,从其他堆栈溢出问题中运行命令。

最后,我从github创建了另一个克隆,并用新克隆的一个替换了.git文件夹,然后继续正确的提交(尚未将更改推送到github)。第二次提交的哈希(我搞砸了)现在有一个匹配的哈希。