Шпаргалка по lazygit

0.44

Навигация по git как профи с горячими клавишами lazygit

Русский: 2026-03-29

Если вы уже пятнадцатый раз за день набираете git log --oneline --graph --decorate --all, lazygit вот-вот станет вашим лучшим другом. Это терминальный UI для git, который превращает разрозненную кучу git-команд в клавиатурный интерфейс, где staging, commit, rebase и разрешение конфликтов происходят за пару нажатий. Думайте о нём как о золотой середине между голым git CLI и полноценным GUI — визуальная обратная связь без выхода из терминала.

Ментальная модель проста: lazygit организован в панели (Status, Files, Branches, Commits, Stash), и вы переключаетесь между ними цифровыми клавишами или Tab. Внутри каждой панели вы навигируете через j/k (или стрелками, если вам так удобнее) и нажимаете клавиши для выполнения действий над выбранным элементом. Большинство действий — это одно нажатие, без двоеточий, без префиксов, без :wq-стиля. Контекст имеет значение: d в панели Files отбрасывает изменения, а в панели Stash — удаляет запись.

Лучший способ изучить lazygit — просто открыть его в репозитории и начать нажимать клавиши. Клавиша ? — ваша страховка, она показывает все доступные шорткаты для текущей панели. Эта шпаргалка покрывает шорткаты, которые вы будете использовать ежедневно, и несколько продвинутых приёмов, которые заставят задуматься, как вы жили без них. Всё здесь основано на стандартных привязках; если вы кастомизировали конфиг, результаты могут отличаться.

Основы навигации
1-5
Перейти к панели Status / Files / Branches / Commits / Stash
Tab
Переключиться на следующую панель
Shift+Tab
Переключиться на предыдущую панель
jk
Перемещение вниз / вверх в текущем списке
Ctrl+d
Прокрутить основной вид вниз (полстраницы)
Ctrl+u
Прокрутить основной вид вверх (полстраницы)
?
Показать привязки клавиш для текущей панели
Esc
Отменить / вернуться / закрыть popup
q
Выйти из lazygit
[]
Переключение между вкладками боковой панели (например, Local / Remote / Tags)
{}
Прокрутить diff-вид влево / вправо
x
Открыть меню со всеми доступными действиями
Staging
Space
Добавить / убрать файл из staging
a
Добавить или убрать все файлы из staging
Enter
Открыть файл для staging отдельных hunk / строк
Space
Добавить / убрать выбранный hunk из staging (в режиме staging)
a
Добавить / убрать весь файл из staging (в режиме staging)
Tab
Переключение между staged и unstaged изменениями (в режиме staging)
e
Открыть файл в редакторе
d
Отбросить изменения в выбранном файле (осторожно!)
D
Открыть меню отбрасывания (отбросить всё, clean и т.д.)
i
Добавить файл в .gitignore
Commits
c
Зафиксировать staged-изменения (открывает ввод сообщения)
C
Зафиксировать через git-редактор (для многострочных сообщений)
A
Amend последнего commit staged-изменениями
r
Перефразировать сообщение выбранного commit
s
Squash выбранного commit в предыдущий
f
Fixup — squash commit в родительский, отбросив его сообщение
d
Drop (удалить) выбранный commit
t
Пометить выбранный commit тегом
g
Reset к выбранному commit (открывает меню soft/mixed/hard)
y
Скопировать SHA commit в буфер обмена
o
Открыть commit в браузере
Enter
Просмотреть файлы commit и diff
Ветвление
Space
Checkout выбранной ветки
n
Создать новую ветку от текущего HEAD
d
Удалить выбранную ветку
r
Rebase текущей ветки на выбранную
M
Merge выбранной ветки в текущую
R
Переименовать выбранную ветку
c
Checkout ветки по имени (поиск)
f
Принудительный checkout выбранной ветки
Enter
Просмотреть commit ветки
u
Установить / убрать upstream для выбранной ветки
w
Открыть параметры worktree
Stash
s
Stash всех изменений (из панели Files)
S
Открыть параметры stash (только staged, keep index и т.д.)
Space
Применить выбранную запись stash
g
Pop выбранной записи stash (применить + удалить)
d
Удалить выбранную запись stash
Enter
Просмотреть содержимое записи stash
r
Переименовать запись stash
Remote-операции
f
Fetch со всех remote
p
Pull с remote
P
Push на remote
shift+P
Открыть параметры push (force push, set upstream и т.д.)
u
Установить upstream-ветку
Интерактивный Rebase
e
Начать интерактивный rebase от выбранного commit (режим edit)
Ctrl+j
Переместить выбранный commit вниз во время rebase
Ctrl+k
Переместить выбранный commit вверх во время rebase
s
Пометить commit для squash
f
Пометить commit для fixup
d
Пометить commit для drop
e
Пометить commit для edit (приостановить rebase здесь)
p
Пометить commit для pick (оставить как есть)
m
Продолжить rebase / перейти к следующему шагу
Esc
Прервать интерактивный rebase
z
Отменить последнее действие (через reflog)
Пользовательские команды и дополнительно
:
Открыть строку ввода пользовательской команды (любая shell-команда)
+
Открыть список недавних репозиториев
@
Открыть панель лога команд
/
Фильтр / поиск в текущей панели
Ctrl+r
Переключиться на недавний репозиторий
W
Открыть меню diff (сравнение веток/commit)
Ctrl+o
Скопировать имя / путь файла в буфер обмена
.
Показать/скрыть лог команд внизу

Советы

Нажмите Enter на файле в панели Files, чтобы войти в режим построчного staging. Это киллер-фича lazygit — можно добавлять отдельные строки, а не только целые hunk. Используйте v для переключения выделения диапазона для staging нескольких строк сразу.

Отмена почти чего угодно через z. lazygit использует reflog под капотом, так что даже удалённые commit и неудачные rebase можно откатить. Возможности не бесконечны, но покрывают моменты «ой, нет».

Вы можете определить пользовательские команды в ~/.config/lazygit/config.yml. Например, привяжите клавишу к git log --all --oneline --graph или скрипту деплоя проекта. Пользовательские команды могут запрашивать ввод, просить подтверждение перед запуском и даже показывать вывод в панели.

Используйте клавишу : для запуска любой произвольной shell-команды, не выходя из lazygit. Это отлично подходит для разовых операций вроде git bisect start или запуска тестов на конкретном commit.

При разрешении merge-конфликтов lazygit подсвечивает конфликтующие участки и позволяет выбрать incoming или current изменение одним нажатием. Навигация по конфликтам через [ и ], затем выбор стороны через Space. Гораздо менее подвержено ошибкам, чем ручное редактирование маркеров конфликтов.

Можно массово выделять файлы для staging, нажав v для входа в режим выделения диапазона в панели Files. Перемещайтесь j/k для расширения выделения, затем Space для staging всего сразу.

Если вы работаете с несколькими репозиториями, нажмите Ctrl+r, чтобы открыть выбор недавних репозиториев. lazygit помнит, где вы были, так что переключение контекста мгновенное.

Related Tools