Kos*_*tas 29 git version-control git-bisect
在我正在进行的项目中,我们保留每个功能都有自己的功能,并在功能准备好后将其合并回主功能.每个功能分支内的提交可能包括许多"WIP"和其他功能的破坏功能,直到它完整和稳定.
无论如何,由于主分支的提交是唯一的(据称)稳定的,我只想git bisect
在那个分支上.
有没有办法限制git bisect
只有一个分支?
Tom*_*ler 21
没有进一步的工作,没有简单的方法来实现这一点.玩了一会儿后,我有一些可能对你有帮助的东西.
git bisect start master f9d5924
for rev in $(git rev-list f9d5924..master --merges --first-parent); do
git rev-list $rev^2 --not $rev^
done | xargs git bisect skip
Run Code Online (Sandbox Code Playgroud)
这将启动git bisect f9d5924
作为您的良好提交和master
您的错误提交.然后它找到每个合并提交右侧的祖先不在左侧.它通过那些祖先git bisect skip
去跳过它们.但是当它确定哪个提交不好时,它将显示来自错误合并提交的所有可能的跳过提交.如下
$ git bisect good
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
0622204625d8817c5d8fd1a2a68b3aa91f2dcdf9
0c771566b9e77e3bdc0a66a7404c8eae9f321a68
5098b44f43f84b213eaab110073a6acd26a5cc02
8b05a808d5e15852fbddaa529ba241fdac8ff693
b0c755c3fa57e3c8d527e76fae38bc9925c01353
We cannot bisect more!
Run Code Online (Sandbox Code Playgroud)
在这种情况下b0c755c3fa57e3c8d527e76fae38bc9925c01353
,合并提交失败了.
编辑:如果您有一个章鱼合并,这将无法正常工作.
归档时间: |
|
查看次数: |
2480 次 |
最近记录: |