Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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_Git Commit_Git Reset_Git Revert - Fatal编程技术网

如何撤消git中的最后一次提交

如何撤消git中的最后一次提交,git,git-commit,git-reset,git-revert,Git,Git Commit,Git Reset,Git Revert,由于错误,我在develope分支中添加了git.和git commit。但幸运的是,我没有做git-push 所以我想把它恢复到原来的状态 我尝试了git重置--soft和git重置头--hard,但看起来我把它搞糟了 我该如何解决这个问题?我想回到原始状态,并可能保留代码更改。尝试使用--soft标志重置上次提交 git reset --soft HEAD~1 注意: 对于Windows,将头部部分用引号括起来,如:git reset--soft“HEAD~1”我想你还没有搞糟。尝试: g

由于错误,我在
develope
分支中添加了
git.
git commit
。但幸运的是,我没有做git-push

所以我想把它恢复到原来的状态

我尝试了
git重置--soft
git重置头--hard
,但看起来我把它搞糟了


我该如何解决这个问题?我想回到原始状态,并可能保留代码更改。

尝试使用
--soft
标志重置上次提交

git reset --soft HEAD~1
注意


对于Windows,将头部部分用引号括起来,如:git reset--soft“HEAD~1”

我想你还没有搞糟。尝试:

git reset HEAD^

这将使目录在您进行提交之前处于状态,
HEAD^
表示当前提交的父级(您不再需要的父级),同时保留对其所做的更改(未老化)。

这可能是重复的,但这是一个过于简单的答案,我希望90%的时间都是如此。谢谢您执行此操作后,如果您想完全删除未老化的更改,则需要运行以下操作:git reset--hard head不知道为什么此答案标记为正确。我抛出错误
fatal:不明确的参数“HEAD^”:未知修订或路径不在工作树中。使用“---”将路径与修订分开,
不会work@Green我也是。我使用此命令来完全删除最后一次提交:
git reset--hard HEAD~1
在windows上,插入符号是CMD的一个特殊字符(用于转义字符,类似于Linux中的反斜杠),因此最好引用“HEAD^”。
致命:模棱两可的参数“HEAD~1”:未知修订或路径不在工作树中。使用“---”将路径与修订分开
尝试使用git bash。如果您使用的是Windows,控制台将因某种原因无法工作,不确定原因。Git bash会这样做。@Green Windows不喜欢
HEAD~1
,用引号括起来,比如
Git reset--soft“HEAD~1”