如何在Git中撤消我的最后一个提交?

16 浏览
0 Comments

如何在Git中撤消我的最后一个提交?

这个问题已经有答案在这里了

如何在Git中撤销最近的本地提交?

我如何在Git中撤销我的最后一次提交?

git reset --hard HEAD

还是

git reset --hard HEAD^

admin 更改状态以发布 2023年5月20日
0
0 Comments

git reset --soft HEAD^会保留你工作目录中的修改内容。

git reset --hard HEAD^将会丢弃你所做的改动!!!

0
0 Comments

如果您不确定自己的“取消提交(uncommit)”意味着什么,也不知道是否想要使用git reset,请参见“返回到先前的Git提交”。

如果您想更好地理解git reset,请参见“你能用简单的英语解释一下“git reset”的作用吗?”。


如果您知道自己要使用git reset,那么这仍然取决于您所谓的“取消提交(uncommit)”意味着什么。如果您只想撤消提交的操作,保留其他一切不变,请使用:

git reset --soft HEAD^

如果您想撤消提交的操作以及您已经暂存的所有更改,但保留工作区(您的文件)不变:

git reset HEAD^

如果您实际上想要彻底撤销它,扔掉所有未提交的更改,并将所有内容重置为先前提交的状态 (如原始问题所问):

git reset --hard HEAD^


原始问题还问到了HEAD^而不是HEADHEAD指的是当前提交——通常是当前检出分支的尖端。 ^是一种符号,可以附加到任何提交指示符上,表示“前一个提交”。因此,HEAD^是当前提交之前的提交,就像master^是主分支尖端之前的提交一样。

这里是git-rev-parse文档的一部分,描述了指定提交的所有方式(^只是其中的基本方式之一)。

0