Граф Git из git log

Превратите историю в граф Git.

Вставьте вывод git log, и LetDraw нарисует граф Git, который можно редактировать: по блоку на каждый коммит с коротким хешем и сообщением, имена веток и тегов на коммитах, на которые они указывают, и стрелки от каждого коммита к его родителям. Слияния и ветки наконец понятны с первого взгляда.

История репо · из git log
a1f9e3c Merge branch 'login' 7b8e4d0 login · Add login form c51f9e2 Update README 52d0b7a Add login API client 3e8a1f4 v1.2 · Release 1.2
Шаг за шагом

Как визуализировать историю Git

Одна команда в терминале, одна вставка в LetDraw.

  1. Запустите git log с родителями

    Для лучшего результата выполните git log --all --pretty=format:'%h %p%d %s', чтобы каждая строка содержала коммит, его родителей и имена его веток или тегов.

  2. Вставьте его в «Создать из кода»

    Откройте «Создать из кода» (функция Pro) в меню «Другие инструменты» и вставьте. Вывод git log распознаётся автоматически, и сразу появляется предпросмотр.

  3. Выберите направление

    Расположите коммиты сверху вниз или слева направо и переключайтесь между аккуратным и эскизным видом.

  4. Вставьте и объясните

    Поместите граф на холст, обведите важный коммит, добавьте заметки, затем поделитесь ссылкой или экспортируйте в PNG, SVG или PDF.

Ветки и слияния рисуются за вас

Граф Git, который можно редактировать, а не только смотреть

Коммиты с веткой или тегом показаны зелёным, коммиты слияния янтарным, остальные синим, а от каждого коммита идёт стрелка к каждому из его родителей. Результат состоит из обычных фигур LetDraw, поэтому перед тем как поделиться, можно отодвинуть ветку в сторону, выделить неудачное слияние или добавить стикер.

  • Имена веток и тегов показаны на коммитах, на которые они указывают
  • Коммиты слияния выделены, со стрелками к каждому родителю
  • До 200 коммитов за одну вставку, линии --graph тоже принимаются
Попробовать
$ git log --all --pretty=format:'%h %p%d %s' a1f9e3c 7b8e4d0 c51f9e2 Merge branch 'login' 7b8e4d0 52d0b7a (login) Add login form c51f9e2 3e8a1f4 Update README 52d0b7a 3e8a1f4 Add login API client 3e8a1f4 (tag: v1.2) Release 1.2 a1f9e3c 7b8e4d0 c51f9e2 52d0b7a 3e8a1f4
Для чего это используют

Когда картинка говорит больше, чем лог

Историю веток трудно объяснить словами и легко объяснить картинкой.

Онбординг

Покажите новым коллегам, как связаны main, релизные и feature-ветки в вашем настоящем репозитории.

Код-ревью

Приложите прямо к ревью картинку того, что содержит ветка и куда она будет слита.

Разбор запутанного слияния

Разложите коммиты вокруг инцидента и отметьте, где попало ошибочное изменение.

Заметки к релизу и документация

Покажите, какие коммиты попали между двумя тегами, и экспортируйте граф в PNG, SVG или PDF.

Стратегия ветвления

Сравните, как ваша команда ветвится на самом деле, с процессом, о котором вы договорились.

Обучение Git

Превратите демо-репозиторий в диаграмму и рисуйте на ней вживую, объясняя rebase и merge.

Вопросы

Граф Git: частые вопросы

Какой формат git log подходит лучше всего?
Каждая строка должна начинаться с хеша коммита, за которым идут хеши родителей, необязательные метки в скобках и заголовок. Именно это выводит git log --all --pretty=format:'%h %p%d %s'.
А как насчёт git log --oneline или --graph?
Принимаются оба. ASCII-линии из --graph удаляются, но в --oneline нет хешей родителей, поэтому коммиты рисуются одной прямой линией, а не настоящими ветками и слияниями.
Покидает ли моя история браузер?
Нет. Лог разбирается и раскладывается полностью в вашем браузере. Сохраняется только вставленная вами диаграмма, как любой другой рисунок.
Это бесплатно?
«Создать из кода», функция, которая превращает git log в диаграмму, входит в Pro и Enterprise. Тариф Free всё равно даёт полный холст, все типы диаграмм и экспорт в PNG, SVG и PDF, без банковской карты.

Смотрите на свои ветки, а не только читайте о них.

Откройте LetDraw, вставьте git log и получите граф коммитов, который можно редактировать и показывать другим.