使用较旧的git提交

时间:2016-01-05 14:56:57

标签: git

我的项目中有6个提交。我想回到HEAD ^ 3,然后逐个尝试每个提交。我正在寻找将珠子HEAD ^ 3中的错误引入HEAD的代码。

我试过了 git checkout HEAD^3但所有后来的更改都将丢失。

1 个答案:

答案 0 :(得分:3)

  

我正在搜索将头部HEAD ^ 3中的错误引入HEAD的代码。

您应该使用git bisect执行此任务。

  

如果您知道问题的起点,则注释文件会有所帮助   如果您不知道什么是破坏,并且自上次知道代码工作的状态以来已经有数十或数百次提交,您可能会转向git bisect寻求帮助。

     

bisect命令通过提交历史记录进行二进制搜索,以帮助您尽快识别哪个提交引入了问题。

     

假设您刚刚将代码发布到生产环境中,您将收到有关开发环境中未发生的错误的错误报告,您无法想象为什么代码会这样做。你回到你的代码,事实证明你可以重现这个问题,但你无法弄清楚出了什么问题。

     

您可以将代码一分为二。首先你运行git bisect start来开始工作,然后你使用git bisect bad来告诉系统你当前的提交被破坏了。那么,你必须告诉bisect什么时候最后一个已知的好状态,使用git bisect good [good_commit] ...

阅读[此处]有关如何操作的完整说明。

以下是有关如何使用它的示例代码

enter image description here