Git撤消上次提交
我在两个分支之间错误地合并了。然后我运行了以下命令:Git撤消上次提交,git,Git,我在两个分支之间错误地合并了。然后我运行了以下命令: git reset --hard HEAD^ 我现在回到上一次提交(这是我想要的)。这样做对吗 错误提交仍在存储库中,可以吗?或者我应该做些其他事情将其从存储库中删除 我还没有推动或承诺任何其他事情。这是正确的做法 您可以执行git gc来垃圾收集断开连接的提交,但这不是必需的。mmmm。。。 也许这就是你需要的 另外,这篇文章也可以帮助您。将^与标题^一起使用对我不起作用。相反,我不得不使用以下引用: git重置--软头~ (git版本1
git reset --hard HEAD^
我现在回到上一次提交(这是我想要的)。这样做对吗
错误提交仍在存储库中,可以吗?或者我应该做些其他事情将其从存储库中删除
我还没有推动或承诺任何其他事情。这是正确的做法 您可以执行git gc来垃圾收集断开连接的提交,但这不是必需的。mmmm。。。 也许这就是你需要的
另外,这篇文章也可以帮助您。将
^
与标题^
一起使用对我不起作用。相反,我不得不使用以下引用:
git重置--软头~
(git版本1.7.12.4(Apple git-37)
)
(注意:如果您使用的是
zsh
(和我一样),您也可以转义^
字符,而不是我上面给出的备用命令)谢谢,但是我不想生成反向提交。好吧,在git gc
删除该提交之前需要90天。从reflog计数将reachable提交为reachable,reflog需要90天才能过期(默认情况下)。但答案的要点是正确的:git在寻找你,试图不永久删除任何内容,以防万一。@Jefromi:搞定了。我尽量不向人们推荐gc
,因为这是git中唯一一个不可逆的操作。你也可以做git reset--soft HEAD^对于后代,你可能想更正你的命令。这是git重置…
,而不是git提交…
。哎呀,谢谢你指出这一点。你在用zsh吗?如果你是的话,你需要逃离这个世界。谢谢。多么奇怪的警告