Redefinir HEAD no Git

Abdul Jabbar 30 janeiro 2023
  1. Git Head Reset
  2. Git Head Reset --soft
  3. Git Head Reset --mixed
  4. Git Head Reset --hard
Redefinir HEAD no Git

Git nos ajuda em muitos aspectos ao trabalhar em repositórios compartilhados.

Podemos realizar muitas funções usando Git, como podemos criar um novo branch, fundir um branch, remover um branch, conforme nossos requisitos. Essas ações podem ser realizadas por meio de vários comandos Git.

O comando git reset é um recurso composto e de várias origens para desfazer as alterações. Este comando pode ser usado com três opções principais: --soft, --mixed, --hard.

Esses três argumentos correspondem ao mecanismo de gerenciamento do Git chamado The Commit Tree (HEAD).

O HEAD aponta o último commit quando o branch de checkout Git é aplicado. Além disso, também podemos dizer que Git HEAD aponta para o último commit do branch atual.

Quando verificamos um branch ou fazemos um novo branch, Git HEAD transfere o último commit para nosso branch local. Mais precisamente, HEAD é um ponteiro que sempre aponta para o commit atual, e pode ou às vezes não pertencer ao branch atual.

Git Head Reset

Quando salvamos nossas alterações no repositório desejado, devemos estar relaxados, pois usamos o comando git reset para retornar às alterações que foram feitas, ele fará com que nosso branch atual volte ao seu lugar original onde estava antes do comando correu.

A opção HEAD libera o novo branch. Podemos dizer que o que git reset-hard HEAD pode fazer é destruir todas as alterações que fizemos e que não foram confirmadas.

O comando git reset pode ser usado em combinação com outros comandos:

  • Transfere para onde aponta o ramal HEAD.
  • Para fazer com que pareça um objeto de árvore.
  • Para se parecer com a pasta de trabalho atual.

E, existem duas categorias diferentes de git reset.

Git Head Reset --soft

Este comando Git irá reiniciar o HEAD. Mas nosso índice e diretório de trabalho não serão afetados de forma alguma.

Podemos usar a opção de comando reset do Git para redefinir o chefe de um branch local:

git reset --soft

Git Head Reset --mixed

O comando misto git reset mudará a localização do cabeçalho para o commit especificado e, além disso, apagará as mudanças da área de teste. Este é um exemplo de como desfazer as alterações.

Portanto, se executarmos o comando Git reset HEAD, ele moverá o HEAD de volta para o primeiro commit pai novamente. A sintaxe para a situação discutida acima é a seguinte:

git reset --mixed or $ git reset

Git Head Reset --hard

Este comando pode ser um obstáculo para nós. Só pode ser usado se soubermos exatamente como usá-lo.

Quando usamos git reset-hard HEAD para restaurar para o último commit torna-se um problema para nós. Felizmente, nós desenvolvedores temos uma solução melhor para sua correção.

Observe que git reset --hard é um comando ameaçador. Ele pode destruir todas as nossas modificações não confirmadas. Devemos verificar primeiro e ter certeza de que a saída de status Git está limpa antes de lidar com isso.

Este comando removerá os commits armazenados no índice se quisermos remover todos os commits no índice e na área de teste (precisamos desfazer nosso último commit e o último commit antes disso). Podemos usar o comando reset Git com a opção --hard:

git reset --hard HEAD~2

Este comando removerá qualquer confirmação do índice e da área de teste. Também removerá o commit do histórico.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Artigo relacionado - Git Reset