Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git撤消上次提交_Git - Fatal编程技术网

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吗?如果你是的话,你需要逃离这个世界。谢谢。多么奇怪的警告