git:仅重做旧的提交

时间:2019-02-02 23:09:03

标签: git revert

我在git下有一个项目,其中最后一个提交具有正确的更改,但是必须完全还原倒数第二个提交,因此必须将从倒数第二个到最后一个的应用更改“忽略”。

最后一次提交和倒数第二次提交没有共同的修改文件。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

典型的方法是

git revert HEAD^
# HEAD points to the last commit, so HEAD^ is the commit just before

它将在分支提示的顶部创建一个新的提交,其中包含错误提交所包含的反向更改。

注意:这不会重写您的历史记录,在您需要推送时无需--force进行任何操作。

答案 1 :(得分:1)

如果您在分支机构中,则可以使用cherry-pick

也就是说:

  • 根据上一次的良好提交(例如master)创建新分支

  • 然后选择最后一次提交:git cherry-pick <last-commit-sha>