动机
我正在做一个二等分并考虑保存它的状态,然后可能会继续它。目前尚不清楚是否git bisect log
可以做到这一点。
发帖前先搜索
man git bisect
说:
平分日志和平分重播
在将修订标记为好或坏后,发出以下命令以显示到目前为止所做的工作:
$ git bisect log
如果您发现在指定修订状态时出错,可以将此命令的输出保存到文件中,对其进行编辑以删除不正确的条目,然后发出以下命令以返回更正状态:
$ git bisect reset $ git bisect replay that-file
与使用 git bisect进行战斗回归相比,这似乎更多地表明答案是肯定的。
保存日志并重播
如果您想向其他人展示您的二分过程,您可以使用以下示例获取日志:
$ git bisect log > bisect_log.txt
并且可以使用以下方法重播它:
$ git bisect replay bisect_log.txt
实验
我刚刚做了一个实验来用 git 1.9.0 检查这个。
tar zcvf git.tgz .git
git bisect log >bisectlog
git reset --hard
git bisect replay bisectlog
We are not bisecting.
Bisecting: 2 revisions left to test after this (roughly 2 steps)
[somehash] Some commit log
tar zdf git.tgz
.git/BISECT_ANCESTORS_OK: Mod time differs
.git/BISECT_EXPECTED_REV: Mod time differs
.git/BISECT_LOG: Mod time differs
.git/BISECT_LOG: Size differs
.git/BISECT_NAMES: Mod time differs
.git/BISECT_START: Mod time differs
.git/HEAD: Mod time differs
.git/index: Mod time differs
.git/index: Contents differ
.git/logs/HEAD: Mod time differs
.git/logs/HEAD: Size differs
.git/ORIG_HEAD: Mod time differs
.git/ORIG_HEAD: Contents differ
.git/refs/bisect/bad: Mod time differs
.git/refs/bisect/good-0702dc7ec1d80d8ed38d7fe597dc0cce98ddccfc: Mod time differs
.git/refs/bisect/good-07357488ecac01085e6a5df1e4d44e00da4842e5: Mod time differs
.git/refs/bisect/good-5b753b5d63f16b60f5ccd6a954cf2f92e721af08: Mod time differs
.git/refs/bisect/good-5fac8a8900d5a27bbdf4bebd8b49cfef9757a4e3: Mod time differs
.git/refs/bisect/good-b2a73d5c02353589a81fb247255f78c41137299a: Mod time differs
.git/refs/bisect/good-f3f89511415bf386a6d4c815b92c9d3679a5e2eb: Mod time differs
git bisect 日志 | diff - bisectlog
25a26
> # first bad commit: [someotherhash] Some other commit message
结论
所以,这样重播后,git bisect log
输了一条线。
我想说git bisect log
包含大部分信息,但并不总是全部。
注意:用于本实验的二等分意味着对其他提交的几次手动重置,这可能会解释一些事情。
有没有人问过自己同样的问题?
是否应该关心丢失的线路?