Что такое GitUI?
GitUI — это терминальный интерфейс для git, написанный на Rust. Он даёт именно те части графического клиента, которые действительно нужны: индексирование отдельных ханков и строк, чтение диффов, просмотр и поиск по логу, stash, blame, ветки и push — не выходя из терминала и без зависаний, которыми популярные GUI славятся на больших репозиториях.
⚡ Ключевые возможности GitUI
⚡ Быстрый на огромных репозиториях
Собственный бенчмарк upstream разбирает всю историю ядра Linux примерно за 24 секунды и около 170 МБ памяти — там, где тяжёлые GUI зависают или падают.
✂️ Индексирование ханков и строк
Индексировать, снимать, откатывать и сбрасывать целые файлы, отдельные ханки или конкретные строки — ради этого графический клиент обычно и открывают.
📜 Лог и диффы
Просматривать и искать по логу коммитов, смотреть дифф любого из них и делать blame построчно — в одном и том же клавиатурном интерфейсе.
📦 Stash
Сохранять, применять, доставать, удалять и просматривать stash-и в отдельной вкладке, вместо того чтобы помнить, какая подкоманда git stash что делает.
🌿 Ветки и удалённые репозитории
Создавать, переименовывать, удалять и переключать ветки, работать с remote и делать push или fetch, не возвращаясь в оболочку.
⌨️ Контекстная справка
? показывает ровно те клавиши, которые работают в текущем виде, а key_bindings.ron позволяет переназначить всё — хоть по-вимовски.
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; GitUI среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
🧩 О варианте 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: Установить GitUI
# Установить последнюю версию GitUI
sudo apt install gitui
# Проверить установку
gitui --version# Установить последнюю версию GitUI
apt install gitui
# Проверить установку
gitui --versionШаг 3: Первый запуск и настройка
# Откройте его в любом git-репозитории
cd /path/to/your/repo
gitui
# В любой момент нажмите ?, чтобы увидеть клавиши текущего вида
# Тема и сочетания клавиш лежат в каталоге конфигурации
ls ~/.config/gitui/
# Например, раскладка в стиле vim
$EDITOR ~/.config/gitui/key_bindings.ron🎯 Базовые примеры использования
Открытие репозиториев:
# Репозиторий в текущем каталоге
gitui
# Конкретный репозиторий, без перехода в него
gitui -d ~/src/linux
# Отдельные рабочий каталог и каталог git
gitui -d ~/src/project/.git -w ~/src/project
# Запуск с уже выбранным файлом во вкладке файлов
gitui -f src/main.rsВнешний вид и управление:
# Файл темы из ~/.config/gitui/
gitui -t mytheme.ron
# Свой файл с сочетаниями клавиш
gitui -k ~/.config/gitui/key_bindings.ron
# Свои символы клавиш — для клавиатур, где они рисуются иначе
gitui -s ~/.config/gitui/key_symbols.ron
# Использовать наблюдатель файловой системы вместо периодического обновления
gitui --watcherКогда нужно разобраться:
# Собрать данные окружения для отчёта об ошибке
gitui --bugreport
# Писать лог, пока вы воспроизводите проблему
gitui --logging --logfile /tmp/gitui.log
# Командная строка git остаётся для всего, что GitUI не покрывает
git rebase -i origin/main
# Для push по HTTPS нужен явно настроенный credential helper
git config --global credential.helper store🔧 Интеграция с другими инструментами
GitUI работает поверх вашей существующей настройки git:
- Ваши репозитории: обычный git-репозиторий, читаемый и записываемый через git-бэкенд на Rust — ничего специфичного для GitUI в нём нет
- Хуки:
pre-commit,commit-msg,post-commitиprepare-commit-msgвыполняются так же, как из командной строки - Подпись GPG: подписанные коммиты работают — с оговорками, которые upstream описывает в своём трекере
- Темы и раскладки:
theme.ron,key_bindings.ronиkey_symbols.ronв~/.config/gitui/ - По SSH: на удалённой машине достаточно быстр, чтобы привести коммит в порядок прямо на сервере; сборке amd64 не нужны библиотеки
🚀 Почему стоит выбрать deb.griffo.io?
- Официальный Debian: вообще не пакует GitUI —
apt install gituiна стандартной системе завершится ошибкой - cargo install gitui: свежая версия, но долгая сборка Rust на каждой машине, вне apt и вне вашего обновления системы
- Архив upstream: официальный бинарник, который вы вручную скачиваете к каждому выпуску
- deb.griffo.io: последняя версия с автоматическими обновлениями
- ✅ Всё ещё до 1.0: GitUI получает настоящие возможности в обычных выпусках, поэтому свежая версия — это разница между наличием подмодулей, поиска по логу и blame и их отсутствием
- ✅ Единственный источник apt: GitUI нет ни в архивах Debian, ни в архивах Ubuntu; этот репозиторий пакует официальную сборку upstream
- ✅ Автоматические обновления: пакеты обновляются в течение нескольких часов после релиза upstream
- ✅ Честная упаковка: бинарник upstream в
/usr/bin/gitui— upstream не выпускает ни man-страницы, ни дополнений, поэтому пакет их не выдумывает - ✅ Три архитектуры: amd64 (статическая сборка musl), arm64 и armhf, с объявленными зависимостями там, где upstream линкуется с glibc
- ✅ Много дистрибутивов: работает на Bookworm, Trixie, Forky и Sid
- ✅ Простое обслуживание: обновления обычными командами apt
📦 Репозиторий сборки пакета
Пакеты для Debian собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🎛️ gitui-debian - Сборки последних выпусков
🔗 Похожие пакеты
Также доступны в deb.griffo.io:
- lazygit - Другой терминальный git-интерфейс, если вам ближе его раскладка
- Jujutsu - Git-совместимая СКВ с удобным rebase
- Forgejo - Своя форджа, куда отправлять эти ветки
- Neovim - Редактор для всего, куда отправит дифф