如何撤消';git提交';

如何撤消';git提交';,git,Git,我想撤消最后一个Git操作,Git commit 我希望看到它完全从历史上消失。 我还希望将所有包含的更改作为本地更改保存在我的工作副本中,以便以后可以提交这些更改 还没有什么进展 我不想要的: git revert-这只会创建另一个提交,其中包含错误提交的负数,而我本来不应该这样做 git reset--hard或--soft-不会将提交的更改转换回本地更改,只保留我尚未提交的更改(使用--soft) 运行git reset--soft将从您的历史记录中删除提交,但保留工作副本中的更改。根据

我想撤消最后一个Git操作,
Git commit

我希望看到它完全从历史上消失。 我还希望将所有包含的更改作为本地更改保存在我的工作副本中,以便以后可以提交这些更改

还没有什么进展

我不想要的:

  • git revert
    -这只会创建另一个提交,其中包含错误提交的负数,而我本来不应该这样做
  • git reset--hard
    --soft
    -不会将提交的更改转换回本地更改,只保留我尚未提交的更改(使用--soft)

运行
git reset--soft
将从您的历史记录中删除提交,但保留工作副本中的更改。

根据文档,它不会吗?我误解了吗?它将保留我尚未提交的任何本地更改,但不会将已提交的更改恢复为本地更改。@PeterV:
git reset--soft
根本不会影响工作副本。它将只重置指向第二个最近提交的
HEAD
指针,有效地从历史记录中删除最近提交的内容。这不需要
HEAD^
参数吗?@echristopherson:是的(或您想重置的任何提交)。您能举个例子说明
git reset--soft code>如何不适用于您吗?我发现很难理解它的功能和您想要的功能之间的区别。我做了
git reset--soft
,但现在
git status
显示我的工作目录是干净的,没有要提交的内容。我希望所有提交的内容都在工作目录中。