Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当某个功能中断时,如何搜索旧git提交_Git_Git Checkout - Fatal编程技术网

当某个功能中断时,如何搜索旧git提交

当某个功能中断时,如何搜索旧git提交,git,git-checkout,Git,Git Checkout,在追踪某个功能崩溃的时间时,我发现了过去的一个commit waaay,该功能仍然可以工作。现在,我想以增量方式签出更新的提交,以查看功能何时中断,而不必通过散列来标识它们,而是相对于我标识的散列(该功能仍在工作) 有没有办法做到这一点: git checkout "COMMITHASH + X COMMITS NEWER (closer to master)" 或者在签出提交后: git checkout "X COMMITS NEWER (closer to master)" 这个问题的

在追踪某个功能崩溃的时间时,我发现了过去的一个commit waaay,该功能仍然可以工作。现在,我想以增量方式签出更新的提交,以查看功能何时中断,而不必通过散列来标识它们,而是相对于我标识的散列(该功能仍在工作)

有没有办法做到这一点:

git checkout "COMMITHASH + X COMMITS NEWER (closer to master)"
或者在签出提交后:

git checkout "X COMMITS NEWER (closer to master)"

这个问题的其他解决方案也很受欢迎,但我仍然想知道是否有类似于上面伪语句的语法,类似于
HASH~1
,但方向相反。

正是对于这个用例,git对分特性使用了二进制搜索

按如下方式使用:

  • git对分开始
    开始对分
  • git对分坏
    将头部标记为坏
  • git bisect good HASH
    将提交
    HASH
    标记为最后一次已知的良好提交(也可以是git引用),例如以前的版本
  • 然后,在最后一个已知的好提交和最后一个已知的错误提交之间的中间检测。在这里做测试

    根据您的结果,发出
    git bisect good
    git bisect bad
    ,git将继续执行,直到找到错误提交

    停止对分问题
    git bisect reset


    (如果您有子模块,您可能需要在每个步骤后更新它们)。

    阅读git bisect的帮助,作为您方法的替代方法。它可以让你通过二进制搜索从一个已知的传递提交到一个已知的失败提交来发现一个bug。这是我问题的正确答案。不过,我仍然想知道是否可以像我在问题中所问的那样指定提交偏移量。请参阅作为所有可能的git修订的参考。没有新的X语句。-也许您可以先在头部创建一个分支,然后使用git checkout branch~X,然后减少X。git没有“向上”的引用(只有向下,即回到历史中)。