首页 > 解决方案 > Git - 我怎样才能回到初始提交?

问题描述

我有一个只有一次提交的 git repo。在我本地的 master 分支中,我不小心做了一个 git commit --amend,所以现在我收到一条消息说

On branch master 

Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively. 

如何丢弃修改后的提交并返回原始提交?我想让我的本地 master 和 origin/master 保持最新状态,无需提交任何内容

标签: git

解决方案


您可以使用reflog重置为它在当前master提交之前引用的提交:

git reset --hard master@{1}

在这种情况下,reflog 是一个真正的救星。值得在Git Book中阅读:

在您的 Git 旅程中的某个时刻,您可能会意外丢失提交。通常,发生这种情况是因为您强制删除了一个对其进行过工作的分支,而事实证明您毕竟想要该分支;或者你硬重置一个分支,从而放弃你想要的东西的提交。假设发生这种情况,您如何才能恢复您的提交?[...]

通常,最快的方法是使用名为git reflog.


推荐阅读