Что это такое
Lazygit — терминальное приложение для работы с Git. Оно не заменяет Git и не создает свой формат репозитория: под капотом остаются обычные Git-команды, но большинство ежедневных действий собирается в один экран с горячими клавишами.
Репозиторий jesseduffield/lazygit появился на GitHub в 2018 году. Проект написан на Go и распространяется под MIT. Его популярность легко объяснить: Git мощный, но многие действия в командной строке требуют помнить флаги, копировать хэши коммитов и постоянно переключаться между `status`, `log`, `diff` и редактором.
Что внутри
Среди ключевых возможностей — добавление отдельных строк в индекс, интерактивный rebase, cherry-pick, bisect, рабочие деревья, отмена действий, граф коммитов, фильтры и пользовательские команды. То есть Lazygit закрывает не только “посмотреть статус”, а почти весь повседневный цикл работы с ветками и изменениями.
Как выглядит обычный запуск
Пример показывает идею: сначала можно проверить состояние обычным Git, а затем открыть Lazygit в том же репозитории и выполнить добавление в индекс, commit, rebase или просмотр истории уже через единый интерфейс.
git status
lazygit
Почему он удобен
Главная польза Lazygit — контекст. Когда слева видны файлы, рядом разница изменений, ниже история, а действие вызывается одной клавишей, меньше шансов потерять, что именно сейчас добавлено в индекс, на какой ветке ты находишься и какой коммит хочешь изменить.
Это особенно заметно в задачах вроде частичного добавления в индекс, правки старого коммита, переноса одного коммита между ветками или просмотра конфликтов. Все это можно сделать голым Git, но Lazygit сокращает механическую часть и оставляет пользователю само решение.
Сильные стороны и ограничения
Сильная сторона проекта — скорость для людей, которые уже понимают Git. Интерфейс не прячет модель Git полностью, а делает ее видимой: индекс, неиндексированные изменения, коммиты, ветки, stash и рабочие деревья остаются теми же понятиями.
Ограничение в том, что Lazygit не учит Git с нуля и не спасает от неправильного rebase. Новичку все равно нужно понимать, что такое индекс, ветка, конфликт и принудительная отправка. Лучший сценарий — использовать Lazygit как ускоритель, а не как способ вообще не разбираться в системе контроля версий.