lazygit Cheatsheet

0.44

Navegue pelo git como um profissional com os atalhos do lazygit

Português: 2026-03-29

Se você já se pegou digitando git log --oneline --graph --decorate --all pela décima quinta vez hoje, lazygit está prestes a se tornar seu novo melhor amigo. É uma interface de terminal para git que transforma a confusão de comandos git em uma interface controlada por teclado onde staging, commits, rebasing e resolução de conflitos acontecem em poucas teclas. Pense nele como o meio-termo entre a CLI pura do git e um GUI completo — você tem feedback visual sem sair do terminal.

O modelo mental é simples: lazygit é organizado em painéis (Status, Files, Branches, Commits, Stash), e você alterna entre eles com teclas numéricas ou Tab. Dentro de cada painel, você navega com j/k (ou teclas de seta, se preferir), e pressiona teclas para executar ações no item selecionado. A maioria das ações é de uma única tecla — sem dois pontos, sem prefixos, sem comandos estilo :wq. O contexto importa: pressionar d no painel Files descarta alterações, mas no painel Stash remove uma entrada de stash.

A melhor forma de aprender lazygit é simplesmente abri-lo em um repositório e começar a pressionar teclas. A tecla ? é sua rede de segurança — ela mostra todos os atalhos disponíveis para o painel atual. Este cheatsheet cobre os atalhos que você vai usar diariamente e alguns truques de usuário avançado que vão te fazer pensar como viveu sem eles. Tudo aqui é baseado nos keybindings padrão; se você personalizou sua config, os resultados podem variar.

Navegação Básica
1-5
Ir para painel Status / Files / Branches / Commits / Stash
Tab
Alternar para o próximo painel
Shift+Tab
Alternar para o painel anterior
jk
Mover para baixo / cima na lista atual
Ctrl+d
Rolar visualização principal para baixo (meia página)
Ctrl+u
Rolar visualização principal para cima (meia página)
?
Mostrar keybindings do painel atual
Esc
Cancelar / voltar / fechar popup
q
Sair do lazygit
[]
Alternar entre abas do painel lateral (ex.: Local / Remote / Tags)
{}
Rolar visualização de diff esquerda / direita
x
Abrir menu com todas as ações disponíveis
Staging
Space
Adicionar / remover arquivo selecionado do stage
a
Adicionar ou remover todos os arquivos do stage
Enter
Abrir arquivo para staging individual de hunks / linhas
Space
Adicionar / remover hunk selecionado do stage (na visualização de staging)
a
Adicionar / remover arquivo inteiro do stage (na visualização de staging)
Tab
Alternar entre alterações staged e unstaged (na visualização de staging)
e
Abrir arquivo no editor
d
Descartar alterações no arquivo selecionado (cuidado!)
D
Abrir menu de opções de descarte (descartar tudo, clean, etc.)
i
Adicionar arquivo ao .gitignore
Commits
c
Fazer commit das alterações staged (abre input de mensagem)
C
Fazer commit com editor git (para mensagens multilinha)
A
Emendar último commit com alterações staged
r
Reescrever mensagem do commit selecionado
s
Fazer squash do commit selecionado no anterior
f
Fixup — fazer squash do commit no pai, descartar sua mensagem
d
Remover (deletar) commit selecionado
t
Taguear commit selecionado
g
Reset para o commit selecionado (abre menu soft/mixed/hard)
y
Copiar SHA do commit para o clipboard
o
Abrir commit no navegador
Enter
Ver arquivos e diff do commit
Branching
Space
Fazer checkout da branch selecionada
n
Criar nova branch a partir do HEAD atual
d
Deletar branch selecionada
r
Fazer rebase da branch atual sobre a branch selecionada
M
Mesclar branch selecionada na branch atual
R
Renomear branch selecionada
c
Fazer checkout de branch por nome (busca)
f
Forçar checkout da branch selecionada
Enter
Ver commits da branch
u
Definir / remover upstream da branch selecionada
w
Abrir opções de worktree
Stash
s
Fazer stash de todas as alterações (do painel Files)
S
Abrir opções de stash (apenas staged, manter index, etc.)
Space
Aplicar entrada de stash selecionada
g
Pop da entrada de stash selecionada (aplicar + remover)
d
Remover entrada de stash selecionada
Enter
Ver conteúdo da entrada de stash
r
Renomear entrada de stash
Operações Remotas
f
Fetch de todos os remotes
p
Pull do remote
P
Push para o remote
shift+P
Abrir opções de push (force push, set upstream, etc.)
u
Definir branch upstream
Rebase Interativo
e
Iniciar rebase interativo a partir do commit selecionado (modo edit)
Ctrl+j
Mover commit selecionado para baixo durante rebase
Ctrl+k
Mover commit selecionado para cima durante rebase
s
Marcar commit para squash
f
Marcar commit para fixup
d
Marcar commit para drop
e
Marcar commit para edit (pausar rebase aqui)
p
Marcar commit para pick (manter como está)
m
Continuar rebase / ir para próximo passo
Esc
Abortar rebase interativo
z
Desfazer última ação (via reflog)
Comandos Personalizados e Extras
:
Abrir prompt de comando personalizado (executar qualquer comando shell)
+
Abrir lista de repositórios recentes
@
Abrir painel de log de comandos
/
Filtrar / buscar no painel atual
Ctrl+r
Mudar para um repositório recente
W
Abrir menu de diff (comparar branches/commits)
Ctrl+o
Copiar nome / caminho do arquivo para o clipboard
.
Mostrar/esconder log de comandos na parte inferior

Dicas

Pressione Enter em um arquivo no painel Files para entrar no modo de staging linha por linha. Esse é o recurso matador do lazygit — você pode fazer stage de linhas individuais, não apenas hunks inteiros. Use v para alternar seleção de intervalo para staging de múltiplas linhas de uma vez.

Desfaça quase tudo com z. O lazygit usa o reflog por baixo dos panos, então mesmo commits removidos e rebases ruins podem ser revertidos. Não é infinito, mas cobre os momentos de "oh não".

Você pode definir comandos personalizados em ~/.config/lazygit/config.yml. Por exemplo, vincule uma tecla a git log --all --oneline --graph ou a um script de deploy específico do projeto. Comandos personalizados podem pedir input, confirmar antes de executar e até mostrar saída em um painel.

Use a tecla : para executar qualquer comando shell arbitrário sem sair do lazygit. Isso é ótimo para operações pontuais como git bisect start ou rodar sua suíte de testes contra um commit específico.

Ao resolver conflitos de merge, lazygit destaca seções conflitantes e permite escolher a alteração incoming ou current com uma única tecla. Navegue entre conflitos com [ e ], depois escolha um lado com Space. Muito menos propenso a erros do que editar marcadores de conflito à mão.

Você pode selecionar arquivos em massa pressionando v para entrar no modo de seleção por intervalo no painel Files. Mova com j/k para estender a seleção, depois pressione Space para fazer stage de tudo de uma vez.

Se você trabalha com múltiplos repositórios, pressione Ctrl+r para abrir um seletor de repositórios recentes. O lazygit lembra onde você esteve, então trocar de contexto é instantâneo.

Related Tools