Como limpar commits git?

Perguntado por: lmata . Última atualização: 18 de maio de 2023
4.7 / 5 11 votos

Para desfazer o último commit feito você deve usar o comando a seguir:

  1. git reset HEAD~1. Ou o comando a seguir, que é um atalho para o comando acima:
  2. git reset HEAD^ Ou até mesmo o atalho a seguir:
  3. git reset HEAD~ Esses três comandos querem dizer o seguinte: ...
  4. git reset HEAD~3.

01 O comando reset

  1. Sobrescrever o branch atual para que ele aponte para o commit correto.
  2. Opcionalmente resetar o buffer zone para que ele satisfazer o commit especificado.
  3. Opcionalmente resetar o dirétorio de trabalho para que ele equipare-se ao commit especificado.

A ferramenta mais básica e poderosa para fazer isso é o comando git log . Por padrão, sem argumentos, git log lista os commits feitos neste repositório em ordem cronológica inversa; isto é, o commit mais recente aparece primeiro.

Para desfazer o último commit feito você deve usar o comando a seguir:

  1. git reset HEAD~1. Ou o comando a seguir, que é um atalho para o comando acima:
  2. git reset HEAD^ Ou até mesmo o atalho a seguir:
  3. git reset HEAD~ Esses três comandos querem dizer o seguinte: ...
  4. git reset HEAD~3.

Em síntese, git clean é um método conveniente para excluir arquivos não monitorados em um diretório de trabalho do repositório. Arquivos não monitorados são aqueles que estão no diretório do repositório, mas ainda não foram adicionados ao índice com git add .

Para excluir uma branch local basta executar o comando branch com -d ou -D , passando o nome da branch que você quer apagar. A opção -d é mais segura, pois ela só apaga a branch se você já tiver feito merge ou enviado as alterações para seu repositório remoto, evitando perda de código.

1 Resposta

  1. Execute git stash para guardar suas alterações atuais.
  2. Execute a operação que deseja ( pull por exemplo)
  3. Execute git stash pop para tirar suas alterações da pilha de stashes.

O primeiro comando é para reverter todas as alterações em arquivos que estavam versionados: git checkout -- . Ao último comando, você ainda pode acrescentar o -x para também apagar arquivos que foram criados mas estão sendo ignorados pelo git (portanto, não aparecem no git status ).

O comando git revert é usado para desfazer alterações ao histórico de commits do repositório. Outros comandos de "desfazer", como o git checkout e o git reset , movem os indicadores de referência do HEAD e do branch para commits especificados.

Exibir commits em um repositório

  1. No GitHub.com, navegue até a página principal do repositório.
  2. Abaixo do nome do repositório, clique em Insights.
  3. Na barra lateral esquerda, clique em Commits.

Pode ocorrer de querer se desfazer de commit anterior ao último, então aconselho a apontar diretamente para o hash do que deseja desfazer. Desfazendo um commit Remoto, basta utilizar git revert “hash do commit”, este hash você obtém através do git reflog, dito anteriormente!

Com o comando git log, você pode visualizar o que vem sendo feito em uma determinada branch ou avaliar as alterações de um arquivo em especial. Isso pode ser útil para você entender como alguma parte do código vem sendo evoluída, ou pode ajudar a avaliar os commits locais antes de dar git push.

Visualizar alterações na linha
Também é possível usar a visualização “Detalhes da confirmação” para ver quais linhas foram alteradas em cada arquivo. Para ver quais linhas foram alteradas em um arquivo, siga estas etapas. Acesse a visualização “Detalhes do commit” de um commit específico.

Na página Git repositories (Repositórios do Git), escolha o repositório que deseja excluir. Na página do repositório, escolha todos os blocos de anotações que estão vinculados ao repositório no momento. Selecione Unlink notebook (Desvincular bloco de anotações). Na página do repositório, selecione Delete (Excluir).

Uma boa mensagem de commit deve deixar muito claro tudo o que foi feito. Dessa forma fica mais fácil identificar quais foram as mudanças feitas sem que tenham que ver o código. O que pode poupar muito tempo na busca de uma alteração que foi feita.

Quando você não precisar mais utilizar um stash específico, você pode usar o git stash drop passando a referência de qual stash deseja deletar. Ou você também pode apagar todos os seus stashes usando o comando git stash clear.

Reverting a commit in GitHub Desktop

  1. Na barra lateral esquerda, clique em Histórico.
  2. Clique com o botão direito do mouse no commit que deseja reverter e clique em Reverter Alterações no Commit.

Use o comando git stash quando quiser gravar a condição atual do diretório ativo e do índice, porém queira voltar para um diretório funcional limpo. O comando salva as suas alterações locais e reverte o diretório de trabalho para coincidir ao commit HEAD .

Exclua um branch com o comando git branch -d <branch> . A opção -d excluirá o branch somente se você já fez o push e o merge com o branch remoto. Use a opção -D em vez disso se quiser forçar a exclusão do branch, mesmo que você ainda não tenha feito o push e o merge com ele.

Você pode usar o Git reset para reverter um branch para seu estado em um commit anterior. O comando Git reset pode ser usado com vários sinalizadores: O --hard sinalizador informa ao Git para redefinir o branch para o commit especificado e descartar todas as alterações subsequentes.

Acesse o diretório no seu repositório que deseja excluir. No canto superior direito, selecione o menu suspenso e clique em Excluir diretório. Revise os arquivos que você excluirá. No campo "Mensagem do commit", digite uma mensagem curta e relevante que descreva a alteração que você fez no arquivo.