如何撤消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”