当使用gitbisect时,可以运行gitbisectskip将当前提交标记为不可构建/不可测试,尝试让Git选择其他提交改为进行测试。Git如何决定在gitbisectskip之后尝试哪个提交?实验表明这不仅仅是一个相邻的提交,但我无法找出模式。编辑:我知道基本的gitbisect是二进制搜索,但我对gitbisectskip很好奇,它显然在做更复杂的事情。实验表明它不仅仅是选择相邻的提交;下面创建了100个编号为0-99的提交,然后开始将它们一分为二。gitbisect选择的第一个提交在中间,但此后的每个gitbisectskip似乎或多或少都是随机选择的。$gitinitInit
当使用gitbisect时,可以运行gitbisectskip将当前提交标记为不可构建/不可测试,尝试让Git选择其他提交改为进行测试。Git如何决定在gitbisectskip之后尝试哪个提交?实验表明这不仅仅是一个相邻的提交,但我无法找出模式。编辑:我知道基本的gitbisect是二进制搜索,但我对gitbisectskip很好奇,它显然在做更复杂的事情。实验表明它不仅仅是选择相邻的提交;下面创建了100个编号为0-99的提交,然后开始将它们一分为二。gitbisect选择的第一个提交在中间,但此后的每个gitbisectskip似乎或多或少都是随机选择的。$gitinitInit
我知道gitbisect在设计上是分支感知的,所以如果在好的提交G和坏的提交B之间,你merge到一个分支中,它也需要考虑这些更改,因为该错误可能包含在分支中。在我的例子中,我有一个依赖项作为一个分支,我不时地merge对我的主项目的更改。依赖项可以被认为是一个库,它具有与我的主项目不同的运行方式、不同的构建系统等,但我仍然希望通过merge到主分支来对其进行最近的更改。问题在于,在这种情况下进行二等分时,您最终会在来自依赖项的提交中遇到不可编译的提交。我真的只想在进行二分法时将每个分支merge视为单个提交。到目前为止,我发现的一个解决方法是使用gitlog--first-paren
我知道gitbisect在设计上是分支感知的,所以如果在好的提交G和坏的提交B之间,你merge到一个分支中,它也需要考虑这些更改,因为该错误可能包含在分支中。在我的例子中,我有一个依赖项作为一个分支,我不时地merge对我的主项目的更改。依赖项可以被认为是一个库,它具有与我的主项目不同的运行方式、不同的构建系统等,但我仍然希望通过merge到主分支来对其进行最近的更改。问题在于,在这种情况下进行二等分时,您最终会在来自依赖项的提交中遇到不可编译的提交。我真的只想在进行二分法时将每个分支merge视为单个提交。到目前为止,我发现的一个解决方法是使用gitlog--first-paren
如果尝试从存储库根目录以外的任何地方运行任何git-bisect命令,则会被告知:Youneedtorunthiscommandfromthetopleveloftheworkingtree.这是为什么呢?我知道没有其他git命令有这个要求,我也没有看到bisect应该特别的明显原因。手册页也没有提及此限制。其实没什么大不了的。我主要只是好奇。 最佳答案 查看项目中的一些提交,我看到了MarcelM.Cary(marcel@oak.homeunix.org)的提交他在提交中说(它恰好是关于git-pull但我认为它是相关的)"git
如果尝试从存储库根目录以外的任何地方运行任何git-bisect命令,则会被告知:Youneedtorunthiscommandfromthetopleveloftheworkingtree.这是为什么呢?我知道没有其他git命令有这个要求,我也没有看到bisect应该特别的明显原因。手册页也没有提及此限制。其实没什么大不了的。我主要只是好奇。 最佳答案 查看项目中的一些提交,我看到了MarcelM.Cary(marcel@oak.homeunix.org)的提交他在提交中说(它恰好是关于git-pull但我认为它是相关的)"git
gitbisect通过计算“好”和“坏”之间的提交次数并检查中间的更改来工作。不幸的是,这对repo来说效果不佳,因为一个项目(例如框架)可能在早期有很多变化,而另一个项目(例如内核)可能有一堆后来的变化,所以'repoforall-c"gitbisect..."'可以让一个项目在比另一个项目更早的状态下checkout。我的问题是是否有办法让git-bisect根据提交的日期选择它的提交,所以当跨项目完成时,我们很可能会被留在干净编译的状态。 最佳答案 gitbisect并非旨在同时跨多个存储库使用。您最好编写自己的脚本来实现跨日
gitbisect通过计算“好”和“坏”之间的提交次数并检查中间的更改来工作。不幸的是,这对repo来说效果不佳,因为一个项目(例如框架)可能在早期有很多变化,而另一个项目(例如内核)可能有一堆后来的变化,所以'repoforall-c"gitbisect..."'可以让一个项目在比另一个项目更早的状态下checkout。我的问题是是否有办法让git-bisect根据提交的日期选择它的提交,所以当跨项目完成时,我们很可能会被留在干净编译的状态。 最佳答案 gitbisect并非旨在同时跨多个存储库使用。您最好编写自己的脚本来实现跨日
我有一个字典形式的数据..现在我从用户那里得到输入,它可以是任何东西..我正在尝试执行以下操作。如果键存在,那么很酷..从字典中获取值。如果不是,则获取最近的(在数字意义上)。例如..如果输入键是200键是这样的:....197,202,208...那么可能202是最接近200的键。现在,从算法的角度来看。它直截了当..但是有没有一种pythonic方法可以做到这一点?谢谢 最佳答案 由于字典键没有特定的顺序,这个问题变得更加困难。如果您可以使用如何制作dict以便它们按顺序排列(如您的示例)并使用python>=2.7您可以使用O
我有一个字典形式的数据..现在我从用户那里得到输入,它可以是任何东西..我正在尝试执行以下操作。如果键存在,那么很酷..从字典中获取值。如果不是,则获取最近的(在数字意义上)。例如..如果输入键是200键是这样的:....197,202,208...那么可能202是最接近200的键。现在,从算法的角度来看。它直截了当..但是有没有一种pythonic方法可以做到这一点?谢谢 最佳答案 由于字典键没有特定的顺序,这个问题变得更加困难。如果您可以使用如何制作dict以便它们按顺序排列(如您的示例)并使用python>=2.7您可以使用O