Подтвердить что ты не робот

Делите пополам все, от первоначальной фиксации

Скажем, у меня небольшой проект с очень быстрым тестом script, и я просто хочу делить пополам все, начиная с первоначальной фиксации и заканчивая фиксацией curret. Как я могу это сделать?

Чтобы прояснить, я не хочу тратить время на определение фиксации, которая является хорошей, и фиксация, которая плоха, поэтому я ищу быстрый способ отметить последнюю фиксацию как плохую, а начальную фиксацию как хорошую.

4b9b3361

Ответ 1

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 "[email protected]" && git bisect reset' -

Но с этим вы можете просто запустить git quick-bisect ./test.sh.


Если вы используете версию git старше 1.7.4.2, у вас не будет параметра --max-parents, поэтому вам нужно будет использовать что-то вроде git rev-list HEAD | tail -n 1.