从初始提交开始分割所有内容



假设我有一个具有非常快的测试脚本的小项目,并且我只想将从初始提交到当前提交的所有内容平分。我该怎么做呢?

澄清一下,我不想浪费时间来识别一个提交是好的,一个提交是坏的,所以我正在寻找一种快速的方法来标记最近的提交是坏的,而最初的提交是好的。

git bisect start
git bisect good
git bisect bad `git rev-list --max-parents=0 HEAD`
git bisect run ./test.sh

或者将这些命令合并到别名中,例如:

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-list HEAD | tail -n 1之类的选项。

最新更新