Índice
Método 1: Use a redefinição do Git
Método 3: Use o checkout do Git
1. Cancele o último commit
Se você precisar desfazer seu último commit do Git, existem algumas maneiras diferentes de fazer isso. Isso inclui desfazer um commit, comprometer-se com um novo branch, reverter com o Git e muito mais.
Aqui estão três métodos:
Método 1: Use a redefinição do Git
Use o comando Git reset para desfazer o último commit:
git reset HEAD~1
Isso move o ponteiro HEAD de volta para o commit anterior (HEAD~1) e limpa o conteúdo do último commit.
ou
git reset HEAD^
Retirar duas vezes ou n vezes
git reset HEAD~2
Método 2: Use Git reverter
Use o comando Git revert para desfazer o último commit e criar um novo commit que desfaça o original:
git revert HEAD
Isso cria um novo commit que desfaz as alterações feitas antes do commit. Depois de inserir este comando na linha de comando, você precisa editar a mensagem do commit desfeito para que o Git crie um novo commit.
Método 3: Use o checkout do Git
Você também pode usar o comando Git checkout para restaurar a árvore de trabalho para o estado do último commit. Isso apagará todas as alterações não confirmadas, portanto, certifique-se de ter um backup:
git checkout HEAD~1
Isso restaurará a árvore de trabalho para o estado do último commit, que é o estado anterior ao seu último commit. Observe que quaisquer modificações feitas aqui serão descartadas.
Seja qual for o método que você usar, certifique-se de fazer backup do seu trabalho antes de desfazer um commit. Isso ajuda a evitar a exclusão acidental de conteúdo irrecuperável durante a operação.
2. Cancele o último push
Se você já enviou o código e deseja retirar este commit, pode fazê-lo através das seguintes etapas:
git push --force
Em primeiro lugar, ao usar git push
o comando, você precisa adicionar --force
parâmetros para forçar a substituição do commit existente no warehouse remoto. O comando é o seguinte:
git push --force origin <branch_name>
Entre eles, <branch_name>
representa o nome da ramificação que você deseja desfazer.
git reflog
Se o status anterior da confirmação não for retornado ao warehouse local, você precisará usar git reflog
o comando para localizar o valor SHA-1 da confirmação. O comando é o seguinte:
git reflog
Este comando listará o histórico de envio de todo o repositório Git, incluindo o envio apontado pelo ponteiro HEAD e o envio que foi abandonado.
git reset
Encontre o valor SHA-1 de um commit para o qual você deseja retornar e, em seguida, use o seguinte comando para retornar ao estado do commit:
git reset --hard <commit_SHA-1>
Entre eles, <commit_SHA-1>
indica o valor SHA-1 do commit a retornar.
git push --force
Em seguida, use o comando push anterior para enviar, adicionar --force
parâmetros e sobrescrever os registros históricos de envio do warehouse remoto. O comando é o seguinte:
git push --force origin <branch_name>
Lembrete: O uso git push --force
de comandos pode causar efeitos irreversíveis em armazéns remotos, armazéns de outros membros e versões históricas, então você precisa ser cauteloso ao operar. Em geral, um comando é usado no fluxo de trabalho git revert
para reverter uma confirmação para garantir a integridade e a capacidade de manutenção do controle de versão.
3. Expansão
git log view commit log
parâmetro de confirmação
--misturado
Altere o código sem excluir o espaço de trabalho, desfaça o commit e desfaça a operação git add .
git reset --mixed HEAD^ é equivalente a git reset HEAD^
--macio
Não exclua o espaço de trabalho para alterar o código, desfaça o commit e não desfaça o git add.
--duro
Exclua o espaço de trabalho para alterar o código, desfaça o commit e desfaça o git add.
--alterar
Modifique o comentário, entre no editor vim e altere: wq
Por favor, goste se for útil e desenvolva um bom hábito!
Por favor, deixe uma mensagem para encorajamento, comunicação e perguntas!