Я делаю git bisect и на данный момент нашел несколько хороших и плохих коммитов, что я могу подтвердить, запустив git bisect log.
Однако, если я запускаю git log для своей ветки git log --graph --decorate=full origin/master..mybranch, я вижу, что он отображает, что определенный коммит — это origin/mybranch и mybranch, а другой, который я в настоящее время проверил, — (HEAD), но он не отображает коммиты, которые были «хорошими» или «плохими» с чем-либо.
Моя версия git — «git version 2.40.0.windows.1».
Вот воспроизведение с использованием общедоступного репозитория git.
git clone https://github.com/agrimm/zombie-chaser.git
cd zombie-chaser
git bisect start
git bisect bad d27ec73cf2f1df89cbccd41494f579e066bad6fe
git bisect good 3a99fd1ee5a20aa18e5202e9a8c3ee0ba04a740e
git log --graph --decorate=full master
* commit d27ec73cf2f1df89cbccd41494f579e066bad6fe (refs/remotes/origin/master, refs/remotes/origin/HEAD, refs/heads/master)
| Date: Mon Apr 12 23:24:20 2010 +1000
|
| Fixed typos, updated home page URL.
|
* commit ae1c1d263168cf123578ff5d50f4fc7eb9726a52 (HEAD)
| Date: Sun Apr 11 22:17:39 2010 +1000
|
| Bump up to version 0.1.0.
|
* commit 2a1e2a6c7d2b7036a36c291cc220cbc486815aa8
| Date: Sun Apr 11 19:19:27 2010 +1000
|
| Move library files and ui files into a lib subdirectory, and other changes to file loading.
|
* commit 3a99fd1ee5a20aa18e5202e9a8c3ee0ba04a740e
| Date: Sun Apr 11 12:28:10 2010 +1000
|
| Removed gosu as a dependency, to satisfy jruby.
Запуск журнала git bisect:
$ git bisect log
git bisect start
# status: waiting for both good and bad commits
# bad: [d27ec73cf2f1df89cbccd41494f579e066bad6fe] Fixed typos, updated home page URL.
git bisect bad d27ec73cf2f1df89cbccd41494f579e066bad6fe
# status: waiting for good commit(s), bad commit known
# good: [3a99fd1ee5a20aa18e5202e9a8c3ee0ba04a740e] Removed gosu as a dependency, to satisfy jruby.
git bisect good 3a99fd1ee5a20aa18e5202e9a8c3ee0ba04a740e
Что я ожидал: какой-то текст «хорошо» или «плохо» после определенных коммитов, что я на самом деле получил: ничего.





Вам нужно включить bisect refs либо (самый простой, показывает все ссылки):
git log --decorate-refs=refs/ [other options]
Или (длиннее, но точнее):
git log --graph --decorate=full --decorate-refs=refs/bisect \
--decorate-refs=refs/heads --decorate-refs=refs/tags \
--decorate-refs=refs/remotes --decorate-refs=refs/stash \
--decorate-refs=HEAD
Здесь я перечислил refs/bisect вместе с декорированными ссылками по умолчанию, поэтому
что мы не включаем больше, чем хотим. [1]
--decorate=full означает, что рефы показаны «полностью», другими словами
полный путь ссылки:
# with `--decorate=short`
master
# with `--decorate=full`
refs/heads/master
«Полный» не означает «всевозможные рефери» (по крайней мере, я так думал сначала).
Команда git log --graph --decorate=full origin/master..mybranch
не работает, потому что refs/bisect по умолчанию не украшен. Я не
думаю man git-log[2] ужасно прямолинейно документирует то, что
ссылки по умолчанию есть, но это упоминается как своего рода приложение к одному
из переключателей:
Если ни одна из этих опций или настроек конфигурации не указана, то ссылки используются в качестве украшения, если они соответствуют
HEAD,refs/heads/,refs/remotes/,refs/stash/илиrefs/tags/.
log.excludeDecoration
git log --oneline --graph --glob=refs/bisect/bad* --not --glob=refs/bisect/good*(или новый/старый, или любые другие термины, которые вы используете вместо плохих/хороших) могут быть полезны.