Что такое Serie?
Serie — это терминальный интерфейс для просмотра истории Git-репозитория. Он показывает то же, что git log --graph --all, но граф рисуется через протокол встроенных изображений терминала, а не приближается ASCII-графикой — ветки и слияния читаются с первого взгляда. Рядом с графом — прокручиваемый список коммитов с поиском и подробным видом. Это сознательно просмотрщик, а не клиент Git: он не делает коммитов, веток и push.
⚡ Ключевые возможности Serie
🖼️ Настоящий граф коммитов
Граф рендерится изображениями через протокол Kitty или iTerm2, поэтому линии веток остаются читаемыми даже при десятках параллельных веток.
🔍 История с поиском
Список коммитов рядом с графом, который прокручивается и ищется, вместо листания вывода git log.
📄 Подробный вид коммита
Выберите коммит — и увидите его сообщение, ссылки и дифф, не покидая граф.
🎛️ Параметры графа
Хронологический или топологический порядок, ячейки одинарной или двойной ширины, скруглённые или угловые рёбра — задаются в командной строке или в конфиге.
⌨️ Свои сочетания клавиш
? показывает текущие сочетания, и каждое можно переопределить в config.toml.
🧰 Пользовательские команды
Запускайте свои команды для выбранного коммита: вывод в отдельном виде, запуск в фоне или приостановка Serie ради интерактивной программы.
apt upgrade держит вас на последней версии.
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh и Zed; Serie среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
🧩 О варианте extrepo. extrepo — штатный инструмент Debian для внешних репозиториев: он создаёт файл sources и устанавливает ключ подписи, предварительно сверив его с подписанными метаданными. Этот репозиторий зарегистрирован в нём как griffo, а бесплатное навсегда зеркало — как griffo-free, поэтому в Debian (bookworm, trixie, forky и sid) команды выше и есть вся настройка.
extrepo настраивает только файл sources и ключ — учётные данные подписки по-прежнему прописываются в /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu не поддерживается, так как extrepo публикует метаданные только для выпусков Debian: там используйте команды с sudo или от root.
Шаг 2: Установить Serie
# Установить последнюю версию Serie
sudo apt install serie
# Проверить установку
serie --version# Установить последнюю версию Serie
apt install serie
# Проверить установку
serie --versionШаг 3: Запустить в репозитории
# Serie читает репозиторий в текущем каталоге
cd /path/to/your/repo
serie
# В любой момент нажмите ?, чтобы увидеть сочетания клавиш
# Если граф не появился, укажите протокол изображений явно
serie -p kitty
# Необязательный файл конфигурации — для клавиш и значений по умолчанию
mkdir -p ~/.config/serie
$EDITOR ~/.config/serie/config.toml🎯 Базовые примеры использования
Просмотр истории:
# Полная история текущего репозитория
serie
# Только свежие коммиты — для очень больших репозиториев
serie -n 5000
# Топологический порядок вместо хронологического
serie -o topo
# Начать с выбранного HEAD, а не самого нового коммита
serie -i headПодгонка графа под терминал:
# Задать протокол изображений, если автоопределение ошиблось
serie -p kitty
serie -p iterm
serie -p kitty-unicode
# Более узкие ячейки графа для маленького окна
serie -g single
# Угловые рёбра вместо скруглённых
serie -s angular
# Или просторный скруглённый вид на широком терминале
serie -g double -s roundedКонфигурация и повседневность:
# Файл конфигурации — клавиши и значения по умолчанию
mkdir -p ~/.config/serie
$EDITOR ~/.config/serie/config.toml
# Или указать Serie конфигурацию в другом месте
SERIE_CONFIG_FILE=~/dotfiles/serie.toml serie
# Serie только читает историю — git остаётся вашим клиентом
git -C ~/src/project log --oneline -5
# Так что коммиты по-прежнему делает git
git commit -v🔧 Интеграция с другими инструментами
Serie нужны две вещи, и он сотрудничает с третьей:
- git: обычный Git-репозиторий и бинарник
git, который пакет тянет как зависимость - Ваш терминал: эмулятор, понимающий протокол встроенных изображений Kitty или iTerm2 — подходят Ghostty, Kitty, WezTerm и iTerm2
- Файл конфигурации:
$XDG_CONFIG_HOME/serie/config.tomlили то, на что указываетSERIE_CONFIG_FILE - Пользовательские команды: повесьте
git diff, редактор или свой скрипт на клавишу и выполняйте на выбранном коммите - Ваш git-клиент: Serie намеренно не коммитит и не пушит, поэтому он соседствует с lazygit, GitUI или обычным git, а не заменяет их
🚀 Почему стоит выбрать deb.griffo.io?
- Официальный Debian: вообще не содержит Serie — на стандартной системе устанавливать нечего
- cargo install --locked serie: свежая версия, но нужен тулчейн Rust и сборка на каждой машине, вне apt
- Архив upstream: официальный бинарник, скачиваемый вручную к каждому выпуску
- deb.griffo.io: последняя версия с автоматическими обновлениями
- ✅ Молодой и быстро растущий: пользовательские команды, настраиваемые клавиши и параметры графа появились в обычных выпусках — свежая сборка это уже другой инструмент по сравнению с прошлогодней
- ✅ Единственный источник apt: Serie нет ни в архивах Debian, ни в архивах Ubuntu; этот репозиторий пакует официальную сборку upstream
- ✅ Автоматические обновления: пакеты обновляются в течение нескольких часов после релиза upstream
- ✅ Честная упаковка: бинарник upstream в
/usr/bin/serieиgitкак зависимость; upstream не выпускает ни man-страницы, ни дополнений, поэтому пакет их не выдумывает - ✅ Две архитектуры: amd64 и arm64 — обе статические сборки musl без зависимостей
- ✅ Много дистрибутивов: работает на Bookworm, Trixie, Forky и Sid
- ✅ Простое обслуживание: обновления обычными командами apt
📦 Репозиторий сборки пакета
Пакеты для Debian собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🌳 serie-debian - Сборки последних выпусков
🔗 Похожие пакеты
Также доступны в deb.griffo.io:
- Ghostty - Терминал, который рисует граф по протоколу Kitty
- lazygit - Терминальный git-интерфейс для того, что Serie сознательно не делает
- Jujutsu - Git-совместимая СКВ с удобным rebase
- Forgejo - Своя форджа за той историей, которую вы читаете
git log --graph выдавал стену из палочек и звёздочек.