Manipular o histórico é muito comum para desenvolvedores que trabalham regularmente com Git. Na verdade, os desenvolvedores muitas vezes precisam remover commits do histórico do Git. Felizmente, o Git fornece muitos comandos para tornar esta operação possível.
Vamos ao que interessa 😎.
Antes de manipular o histórico do Git, certifique-se de que seu diretório de trabalho esteja livre de quaisquer alterações usando o comando git status .
Para excluir commits de um servidor remoto, primeiro você precisará removê-los do seu histórico local.
Se os commits que você deseja remover forem colocados no topo do seu histórico de commits, use o comando git reset --hard
com o objeto HEAD
e o número de commits que você deseja remover.
git reset --hard HEAD~1
Este comando removerá o commit mais recente .
git reset --hard HEAD~3
Este comando removerá os três últimos commits .
Você também pode remover até um commit específico usando o hash de um commit, assim:
git reset --hard <hash>
Se, no entanto, você quiser remover commits não consecutivos, você precisará usar um rebase interativo.
git reflog
.git rebase -i <hash>
.git rebase --continue
ou recomece abortando o rebase .Para excluir commits do controle remoto, você precisará enviar suas alterações locais para o controle remoto usando o comando git push .
git push origin HEAD --force
Como o seu histórico local diverge do histórico remoto, você precisa usar a opção force
.
Como você pode ver, o Git facilita a exclusão de commits de um servidor remoto.
No entanto, você precisa ter cuidado ao usar o comando git push
com a opção force
porque você pode perder o progresso se não for cauteloso.
Obrigado por ler!