Menu
Coddy logo textTech

Git Commit --amend

Última atualização

git commit --amend substitui o commit mais recente por um novo, permitindo corrigir sua mensagem ou adicionar arquivos que você esqueceu de preparar. Ele não adiciona um segundo commit; reescreve o último. Como isso muda o hash do commit, só emende commits que você ainda não enviou.

Experimente estes comandos no terminal playground: um shell real no seu navegador, sem nada para instalar.

git commit --amend substitui o último commit por um reescrito, em vez de adicionar um segundo commit.

Sintaxe

CommandWhat it does
git commit --amendEdita o último commit e sua mensagem
git commit --amend -m "new message"Altera a mensagem do último commit em linha
git commit --amend --no-editAdiciona os arquivos preparados e mantém a mesma mensagem

Casos comuns

GoalCommand
Corrigir um erro de digitação na última mensagemgit commit --amend -m "fixed message"
Adicionar um arquivo esquecido ao último commitgit add file e depois git commit --amend --no-edit
Emendar um commit já enviado (cuidado)emende e depois git push --force-with-lease

Perguntas frequentes sobre git commit --amend

Como altero a mensagem do meu último commit?
Execute git commit --amend -m "new message" para substituí-la em linha, ou git commit --amend para abrir seu editor e reescrevê-la ali. Isso reescreve o último commit com a nova mensagem; não faça isso em um commit que você já enviou, a menos que esteja preparado para forçar o push.
Como adiciono um arquivo esquecido ao último commit?
Prepare o arquivo com git add <file> e depois execute git commit --amend --no-edit. A opção --no-edit mantém a mensagem de commit existente e apenas incorpora as alterações recém-preparadas ao commit anterior.
O git commit --amend cria um novo commit?
Não: ele substitui o último commit em vez de adicionar um. O resultado parece um único commit, mas tecnicamente é um novo commit com um novo hash que toma o lugar do antigo. É por isso que emendar um histórico compartilhado exige um force push.
É seguro emendar um commit já enviado?
Apenas com cuidado. Emendar reescreve o commit, então após enviá-lo você precisaria de git push --force-with-lease, o que pode atrapalhar quem já baixou o original. Em uma branch compartilhada, prefira um novo commit ou git revert em vez de emendar.
Posso praticar isso online?
Sim. Abra o terminal playground para executar git commit --amend em um shell real no seu navegador, sem nada para instalar. O curso interativo e gratuito de Git da Coddy também aborda como corrigir commits passo a passo.
Coddy programming languages illustration

Aprenda Git com a Coddy

COMEÇAR