Как превратить историю Git-репозитория в захватывающее кино

21 июн 2026

Репозиторий давно не обновлялся

Последнее обновление было 6 месяцев назад.

13,115
790
231
6 месяцев

Представьте, что вы приходите в новый проект с огромным легаси. Тысячи коммитов, сотни разработчиков, папки, которые никто не открывал годами. Можно часами листать git log или изучать структуру каталогов, а можно запустить одну команду и увидеть, как проект рос, дышал и менялся в реальном времени.

Речь пойдет о Gource. Это инструмент, который превращает скучные логи систем контроля версий в живую анимацию. Я наткнулся на него довольно давно, но до сих пор считаю, что это лучший способ визуализировать «пульс» разработки.

Что это вообще такое

Gource — это опенсорсный визуализатор, который строит дерево репозитория. Корень проекта — в центре, папки — это ветви, а файлы — светящиеся листочки. Самое интересное начинается, когда появляются «человечки» (аватары разработчиков). Они летают между файлами, стреляют в них лазерами при изменении, создают новые ветки и удаляют старые.

Это не просто красивая картинка для презентации перед заказчиком. Когда смотришь на ускоренную историю разработки за пять лет, начинаешь замечать странные вещи. Например, как один человек в одиночку переписывает половину проекта за выходные, или как целые разделы кода «отмирают» и исчезают.

Как это работает на практике

Инструмент написан на C++ и использует OpenGL для рендеринга. Чтобы все летало плавно, вам понадобится видеокарта с 3D-ускорением. Gource понимает Git, SVN, Mercurial и Bazaar из коробки.

Реклама

Самый простой способ запустить его в папке с проектом:

gource

Если проект старый и большой, лог может генерироваться долго. В таких случаях лучше сначала выгрузить данные в файл, а потом уже скармливать его утилите. Для SVN это особенно актуально, чтобы не нагружать сервер лишними запросами.

gource --log-command svn > my-project.log
gource my-project.log

Что можно настроить

Gource — это настоящий комбайн с десятками флагов. Можно поменять почти все: от разрешения экрана до скорости «старения» файлов.

Вот несколько полезных параметров, которые я использую чаще всего:

  • -s: количество секунд, за которые проходит один день разработки. По умолчанию стоит 10, но для старых проектов лучше ставить 1 или даже меньше, иначе видео затянется на часы.
  • --auto-skip-seconds: если в проекте были периоды затишья (например, месяц никто ничего не коммитил), Gource просто пропустит это время.
  • --user-image-dir: можно подсунуть папку с фотографиями команды. Тогда вместо стандартных аватарок над файлами будут летать реальные лица коллег.
  • --key: выводит легенду с расширениями файлов. Сразу видно, когда в проекте стало больше .ts файлов и меньше .js.

Кстати, если вы хотите сделать из этого полноценный ролик для YouTube, Gource умеет отдавать поток кадров в формате PPM. Его можно подхватить через ffmpeg и собрать в видео с любым кодеком.

Зачем это разработчику

Помимо чисто эстетического удовольствия, у Gource есть вполне прикладные кейсы.

Во-первых, это отличный инструмент для онбординга. Показать новичку 2-минутный ролик о том, как проект превратился из маленького скрипта в огромный монолит, гораздо эффективнее, чем объяснять это на словах. Видно, какие части кода самые активные, а какие — стабильные и почти не меняются.

Во-вторых, это крутой способ подвести итоги года. Мы в одной команде запускали Gource на корпоративе, чтобы вспомнить, через какой ад прошли при рефакторинге ядра. Это создает крутое чувство общности.

В-третьих, это помогает выявить «автобусный фактор» (bus factor). Если на визуализации видно, что к огромному куску дерева (важному модулю) подлетает только один аватар на протяжении года — у вас проблемы.

Тонкости управления

Во время просмотра можно не просто сидеть и смотреть. Gource интерактивен:

  • Пробел ставит симуляцию на паузу. В этот момент можно мышкой потыкать в файлы и посмотреть, кто их трогал последним.
  • Клавиша V переключает режим камеры. Она может либо следить за активностью, либо показывать все дерево целиком.
  • Клавиши + и - меняют скорость симуляции прямо на лету.

Gource — это не тот инструмент, который вы будете использовать каждый день. Но это чертовски мощная штука для анализа истории и презентации работы команды. Он превращает абстрактные строки кода в осязаемую структуру.

Если у вас есть проект, которому больше года, обязательно попробуйте запустить на нем Gource. Гарантирую, вы залипните минимум на 15 минут, рассматривая, как суетились ваши коллеги (и вы сами) в прошлом году.

Проект живет на GitHub уже больше десяти лет, стабилен и поддерживается автором. Лицензия GPL v3 позволяет использовать его без особых ограничений.

С чего начать? Просто установите его через ваш пакетный менеджер (например, brew install gource на Mac или apt install gource на Ubuntu) и запустите в корне любого репозитория.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.