Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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 对分以找到修复了bug的提交_Git_Bisect - Fatal编程技术网

Git 对分以找到修复了bug的提交

Git 对分以找到修复了bug的提交,git,bisect,Git,Bisect,“git bisect”的正常用例是将引用的尖端声明为“坏”状态,并在历史记录中搜索最新的“好”状态。这在搜索引入bug的提交时是有意义的 然而,有时会在旧代码中发现一个bug,这在最新提交中得到修复,问题是:哪个提交修复了这个bug?有可能使用“代码”> Git SISTECTS/,用“好”和“坏”两种词的反向含义,即将固定的bug视为“坏”状态,并将bug称为“好”状态。但这有点让人困惑——在一个“好”状态开始对分,然后再搜索一个“坏”状态可能会更清楚。但git似乎不喜欢这种方法: $ gi

“git bisect”的正常用例是将引用的尖端声明为“坏”状态,并在历史记录中搜索最新的“好”状态。这在搜索引入bug的提交时是有意义的

然而,有时会在旧代码中发现一个bug,这在最新提交中得到修复,问题是:哪个提交修复了这个bug?有可能使用“代码”> Git SISTECTS/<代码>,用“好”和“坏”两种词的反向含义,即将固定的bug视为“坏”状态,并将bug称为“好”状态。但这有点让人困惑——在一个“好”状态开始对分,然后再搜索一个“坏”状态可能会更清楚。但git似乎不喜欢这种方法:

$ git bisect start
$ git bisect good
$ git checkout <commit with known bug>
$ git bisect bad
Some good revs are not ancestor of the bad rev.
git bisect cannot work properly in this case.
Maybe you mistake good and bad revs?
$git对分开始
$git二等分好
$git结帐
$git对分坏
一些好的转速不是坏转速的始祖。
git对分在这种情况下无法正常工作。
也许你搞错了好转速和坏转速?

处理这种情况的好方法是什么?

您可能已经注意到git并不是关于“漂亮的外观”和“直观的界面”。你确实猜到了答案和正确的git方式:只需将修复视为坏,而不将修复视为好

因为除了有点难看之外,它可以完美地处理您的(不太常见的)情况,所以git中不需要对它进行特殊支持,并且您可以假设永远不会有


编辑:我错了。Git在2.7版中增加了对此的支持–请参阅。

您可能已经注意到,Git并不是关于“漂亮的外观”和“直观的界面”。你确实猜到了答案和正确的git方式:只需将修复视为坏,而不将修复视为好

因为除了有点难看之外,它可以完美地处理您的(不太常见的)情况,所以git中不需要对它进行特殊支持,并且您可以假设永远不会有


编辑:我错了。Git在2.7版中增加了对此的支持–请参阅。

可能重复的Git 2.7版中可能重复的,对它有特殊支持。请参阅可能的副本。从Git2.7开始,对它有特殊的支持。请参阅可能的副本。