【发布时间】:2016-11-25 23:55:42
【问题描述】:
我犯了一个错误,所以我需要undo the last commit。
通常的步骤是:
git reset --soft HEAD~
// make changes...
git commit -c ORIG_HEAD
但我是无意中这样做的:
git reset --soft HEAD~
// make changes...
git commit -m "Some new message" // <-- shouldn't have done this!!
是等价的吗?如果没有,有什么影响,我怎么能(我应该?)“撤消撤消”?
【问题讨论】:
-
您的两种方案都会创建一个提交,但在第一种情况下,您只需重用来自
ORIG_HEAD的日志和作者信息。需要明确的是,从功能上讲,两者都进行了相同的提交。如果您不想要该提交,请将其还原或核对它。 -
@TimBiegeleisen 如果它们是相同的,并且我保持原样,那么那个特殊的
ORIG_HEAD会发生什么,因为我没有使用它(我假设如果我做得正确,它会被删除)。或者换一种说法,如果我以后需要再次撤消,那会是一个问题吗?
标签: git git-commit git-reset git-revert