我想将我的主分支恢复到状态8提交前

时间:2011-03-21 15:31:40

标签: git revert

我刚刚意识到我在过去的8次提交中某处引入了内存泄漏。 最简单的解决方案是恢复到8次提交,然后仔细添加更改 回来。最简单的方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:6)

看看git bisect。这听起来就像你在寻找的。

基本上,你在历史记录中告诉它一个已知的好点和已知的坏点,然后它会帮助你执行二进制搜索,直到找到违规提交。

以下是有关其使用的教程:http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#using-bisect

但是,如果您不想这样做,请创建一个临时分支,您现在就可以做一堆git reset HEAD^一次提交一个提交,或者{{{ 1}}然后git reset HEAD~8用于您和临时提交之间的每次后续提交。

答案 1 :(得分:1)

将您的主人克隆到另一个分支,然后在主人git reset --hard上克隆到相关提交。然后使用git cherry pick将每个还原的提交从备份分支引入主分支并进行检查。如果一切正常,那么继续下一次提交,依此类推。

如果您不熟悉,请在实际操作之前阅读我所说的命令。 : - )