混帐:重做一个老只提交

问题描述 投票:2回答:2

我已经在git的一个项目,最后提交了正确的改变,但未来对最后提交必须完全恢复,所以从第三到最后下一个到最后必须是“忽略”应用的更改。

最后提交和共同的下一个到最后一次提交有没有修改的文件。

我怎样才能做到这一点?

git revert
2个回答
4
投票

做到这一点的典型方法是

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

这将创建分支的顶端之上的新的提交,包含你的错误提交包含反向变化。

注意:这不重写历史,无需任何--force当你需要推动。


1
投票

如果你是在一个分支,你可以使用cherry-pick

那是:

  • 从最后一个良好的创建一个新的分支提交(例如:主)
  • 然后,樱桃采摘最后一次提交:git cherry-pick <last-commit-sha>
© www.soinside.com 2019 - 2024. All rights reserved.