Domine o uso do git reset

logotipo
Normalmente, enviamos o código por meio do processo de git add, git commit -m, git push. Adicione-o à área de teste, envie-o ao repositório git para gerar o número da versão e envie-o para o repositório remoto para que outros usem. Este é um processo completo e muito tranquilo. Mas muitas vezes o desenvolvimento real não é tão suave, sempre haverá problemas de um tipo ou de outro.

git reset é o comando usado para reverter após enviarmos o conteúdo errado. git reset + número da versão é retornar a esse número de versão.

Normalmente usamos git reset HEAD para voltar à versão atual. git reset HEAD ^ Volte para a versão anterior.

Por exemplo, quando adicionamos um arquivo, descobrimos que o conteúdo errado foi adicionado. Nesse momento, apenas fizemos a operação add, que é adicionar o conteúdo modificado à área de armazenamento temporário. O commit ainda não foi executado, então o número da versão ainda não foi gerado e não há O número da versão atual corresponde ao conteúdo, portanto, só precisamos reverter o código para a versão atual.

git reset HEAD pode entender que remove o conteúdo adicionado à área de armazenamento temporário.

O cenário acima é que não há commit após add. Vamos dar uma olhada em como reverter após adicionar e commitar.

Se tivermos nos comprometido e ainda não tivermos feito push, não nos importamos com o conteúdo do push. O comando push não tem nada a ver com o envio. Ele apenas empurra para o controle remoto. Se empurrarmos, isto é, depois que voltarmos, nós empurraremos novamente. Portanto, não confunda a operação push. Ele não tem nada a ver com a versão enviada.

De volta ao tópico. Já nos comprometemos, indicando que o número da versão mais recente foi gerado. Neste momento, queremos reverter, devemos voltar para a versão anterior. Se você souber o número da versão anterior, git reset + número da versão, Isso é bom, mas geralmente não marcaremos o número da versão, é claro que você pode executar o comando git log para encontrá-lo. git nos fornece uma maneira mais fácil de voltar à versão anterior, git reset HEAD ^.

Este comando é usado especialmente para reverter para a versão anterior. Se sua jornada errada foi longe demais, apenas reverter para a versão anterior pode não ser capaz de resolvê-lo, então você precisa consultar o log e encontrar o número da versão correspondente para git reset + Número da versão, revertida.

Se o seu código de envio na parte do meio estiver errado, por exemplo, considere este exemplo: Enviamos 6 versões, 3 das quais contêm o código errado e precisam ser revertidas. Ao mesmo tempo, espero que os envios 1, 2, 4, 5 e 6 do código não sejam afetados.

Usando git revert + número da versão, você pode desfazer o envio especificado, para que possa desfazer o código de erro enviado na parte do meio. Observe que uma palavra é redefinida e a outra é revertida, então não confunda.

Aqui está um caso especial. Se você usar git reset HEAD ^ para reverter a versão anterior, e você achar que eu não devo reverter, pensando que esta operação é uma escolha errada, então podemos executar este comando novamente, o código é novamente Volte, este é um caso especial.

Há também um comando git reset --hard HEAD semelhante. Observe que o parâmetro --hard é adicionado aqui.

Observe que há uma diferença entre isso e a ausência de --hard. Com o parâmetro --hard, o conteúdo da área de trabalho também é modificado diretamente. Quando --hard não é adicionado, apenas a área de armazenamento temporário é operada sem afetar a área de trabalho. .

Use este comando na mesma camada para limpar o código.Quando experimentamos uma ideia ou conversamos com um amigo sobre o código, podemos modificar o código à vontade. E quando retornamos ao desenvolvimento normal, precisamos de um diretório de trabalho limpo, ou seja, para garantir que o diretório de trabalho atual seja consistente com o último arquivo commit do Git. Nós podemos fazer isso.

Se o seu código não for adicionado à área de teste, mas apenas modificado no espaço de trabalho, você pode usar git checkout. Abandone todas as modificações do arquivo. Porque o arquivo recém-criado não foi adicionado ao sistema de gerenciamento git. Portanto, é desconhecido git. Basta excluí-lo manualmente. Se for difícil excluir manualmente, não importa. Você pode usar o comando git clean -df para excluir arquivos e pastas que não foram rastreados no diretório atual.

git clean é frequentemente usado em combinação com git reset --hard. Lembre-se de que reset afeta apenas arquivos rastreados, então você precisa limpar para excluir arquivos que não foram rastreados. Combinar esses dois comandos pode fazer seu diretório de trabalho retornar completamente O status de um commit especificado.

Os dois comandos acima limparão o conteúdo do espaço de trabalho, mas você não pode restaurá-lo após a limpeza. Tente usar menos operações que irão perder arquivos, a menos que você tenha certeza de que esses arquivos não são mais necessários. Na verdade, podemos armazenar temporariamente o código e restaurá-lo quando necessário na próxima vez.

git stash salvará todas as alterações não confirmadas para a restauração subsequente do diretório de trabalho atual. Envie um novo armazenamento por meio do comando git stash e o diretório de trabalho atual estará limpo. Reaplicar o stash em cache pode restaurar o diretório de trabalho previamente armazenado em cache por meio do comando git stash pop.

Acho que você gosta

Origin blog.csdn.net/wu_xianqiang/article/details/108171952
Recomendado
Clasificación