假设我有一个带有非常快速测试脚本的小项目,我只想将所有内容一分为二,从初始提交到当前提交。我该怎么做?
澄清一下,我不想浪费时间来识别好提交和坏提交,所以我正在寻找一种快速方法来将最新提交标记为坏提交,并将初始提交标记为好提交.
最佳答案
git bisect start
git bisect good
git bisect bad `git rev-list --max-parents=0 HEAD`
git bisect run ./test.sh
或者将这些命令 merge 到一个别名中,例如:
bisect-all = !git bisect start && git bisect bad &&\
git bisect good `git rev-list --max-parents=0 --first-parent HEAD`
然后只需使用 git bisect-all
,git bisect run ./test.sh
。
创建一个别名来处理整个过程稍微复杂一些:
quick-bisect = !sh -c 'git bisect start && git bisect bad &&\
git bisect good `git rev-list --max-parents=0 --first-parent HEAD` &&\
git bisect run "$@" && git bisect reset' -
但有了它,您可以简单地运行 git quick-bisect ./test.sh
。
如果你使用的 git 版本早于 1.7.4.2,你将没有 --max-parents
选项,所以需要使用类似 git rev 的东西-列表头 | tail -n 1
代替。
关于git - 一分为二,从最初的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657868/