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