繁体   English   中英

git:仅重做旧的提交

[英]git: redo an old commit only

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

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

我怎样才能做到这一点?

典型的方法是

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

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

注意:这不会重写您的历史记录,在需要推送时不需要--force任何东西。

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

那是:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM