Este artigo explicará brevemente a diferença entre git reset –hard, –soft e –mixed.
Qual é a diferença entre git reset –mixed, –soft e –hard?
O Git fornece várias opções de redefinição. Com base em como eles lidam com os commits, todas as opções disponíveis são diferentes umas das outras. Todos eles modificam o histórico do Git e movem o HEAD de volta. Além disso, eles lidam com as mudanças de maneira diferente, como:
- O ' -suave ” opção usada com o “ $ git reset ” para manter os arquivos e retornar as alterações de confirmação para o índice de preparação do Git.
- “ $ git reset – misturado ” é usado para desfazer as alterações de confirmação e remover o arquivo do índice de preparação sem excluí-lo do diretório de trabalho.
- O ' -duro ” com a opção “ $ git reset ” é usado para excluir todas as alterações e removê-las do diretório de trabalho local.
Vamos dar um exemplo para ver como o “ $ git reset ” O comando funciona com diferentes opções!
Etapa 1: vá para o repositório Git desejado
Primeiro, vá para o repositório Git desejado utilizando o botão “ cd ” comando:
$ cd 'C:\Ir \t is_repo'
Etapa 2: criar arquivo
Agora, execute o comando abaixo para criar um arquivo:
$ toque Arquivo4.txt
Etapa 3: adicionar arquivo ao índice de preparação
Use o ' git add ” para adicionar o arquivo recém-gerado ao índice de preparação:
$ git add Arquivo4.txt
Etapa 4: confirmar alterações
Em seguida, adicione todas as alterações ao repositório de trabalho executando o comando “ git commit ” comando:
$ git commit -m 'Arquivo4 adicionado'
Etapa 5: verifique o registro do Git
Em seguida, verifique o histórico de log do Git para ver os últimos commits que foram adicionados:
$ git logNa saída abaixo, pode-se ver que todos os últimos commits adicionados são exibidos e o “ CABEÇA ” está apontando para o commit recente:
Observação: Para conferir melhor a posição de apontamento atual do HEAD, execute o comando “ git log ” junto com o “ -uma linha ' bandeira:
$ git log --conectadosA saída fornecida abaixo mostra a lista de hash SHA de confirmação com mensagens de confirmação:
Etapa 6: use o comando git reset –soft
Para reverter as alterações adicionadas do repositório Git para o índice de preparação, utilize o “ git reset ” junto com o “– suave ” e especifique a posição HEAD desejada onde é necessário mover o ponteiro:
$ git reset --suave CABEÇA ~ 1
Etapa 7: verifique o status do Git
Agora, verifique a posição de reversão do HEAD, verifique o status do repositório Git:
$ git statusPode-se perceber que o “ git reset –suave ” comando retornou as alterações de confirmação para o índice de preparo do Git. Além disso, o “ Arquivo4.txt ” agora está no índice de preparação do Git e precisa ser confirmado:
Etapa 8: verifique o registro do Git
Para visualizar a posição atual do HEAD, execute o comando fornecido junto com o “ -uma linha ” opção:
$ git log --conectadosAqui, o HEAD está apontando para o “ Arquivo3 ' comprometer-se:
Passo 9: Use git reset — Comando misto
Para desfazer as alterações confirmadas e remover os arquivos da área de preparação sem excluí-los do diretório de trabalho, execute o comando “ $ git reset – misturado ” juntamente com a posição HEAD necessária do commit:
$ git reset --misturado CABEÇA~ 1
Etapa 10: verifique o status do Git
Visualize as alterações recém-adicionadas verificando o status do repositório Git:
$ git statusPode-se observar que as alterações de confirmação especificadas são removidas da área de preparação. No entanto, eles são colocados na área de trabalho:
Etapa 11: verifique o log do Git
Verifique o histórico do log de referência do repositório Git junto com o hash SHA:
$ git log --conectados
Passo 12: Use git reset — Comando rígido
Para remover alterações adicionadas do diretório de trabalho local do Git, execute o comando “ $ git reset –hard ” comando:
$ git reset --duro CABEÇA ~ 1
Etapa 13: Verifique o ponteiro HEAD invertido
Para verificar o ponteiro HEAD, volte para a posição especificada, execute o comando “ git log ” comando:
$ git log --conectadosA saída abaixo mostra que o HEAD está apontando para o “ Arquivo1 adicionado ' comprometer-se:
Etapa 14: verifique o status do Git
Para visualizar as alterações adicionadas, verifique o status do Git:
$ git statusVê-se que não temos nenhuma pista e alterações pendentes de “ Arquivo2.txt ' Arquivo. Portanto, File2.txt foi removido completamente:
Etapa 15: verifique a lista de conteúdo do repositório
Para verificar a lista de conteúdo do repositório, execute o comando “ ls ” comando:
$ lsComo você pode ver, o “ Arquivo2.txt ” arquivo não existe no diretório atual:
Explicamos a diferença entre as opções git reset –mixed, –soft e –hard.
Conclusão
O ' git reset ” é usado para redefinir as alterações, modificar o histórico do repositório Git e corrigir erros. O ' git reset –suave ” mantém os arquivos e retorna as alterações de confirmação para a área de preparação do Git. Em contraste, o “ git reset – misturado ” desfaça as alterações de confirmação e remova o arquivo do índice de preparação sem excluí-lo do diretório de trabalho. Para excluir todas as alterações e removê-las da área de trabalho do Git, o “ git reset –hard ” pode ser usado. Este artigo ilustrou a diferença entre git reset –mixed, –soft e –hard.