我在git下有一个项目,其中最后一个提交具有正确的更改,但是必须完全还原倒数第二个提交,因此必须将从倒数第二个到最后一个的应用更改“忽略”。
最后一次提交和倒数第二次提交没有共同的修改文件。
我该怎么做?
答案 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>