Às vezes, os desenvolvedores enviam acidentalmente informações confidenciais, como chaves de API, credenciais de conta ou dados pessoais. Reescrever o histórico do Git permite que eles removam essas informações confidenciais do repositório, garantindo que não sejam acessíveis a outras pessoas. Em alguns casos, os desenvolvedores podem querer reorganizar a ordem ou a estrutura de seus commits. Isso pode envolver reorganizar commits, combinar commits relacionados ou dividir um commit grande em commits menores e mais focados.
Este tutorial demonstrará como reescrever as ferramentas de histórico do Git em detalhes.
O que é a ferramenta Reescrever histórico no Git?
No Git, o termo “ reescrevendo a história ” refere-se à capacidade de modificar o histórico de confirmação de um repositório. Envolve mudar ou alterar os commits existentes, como modificar mensagens de commit, reorganizar ou combinar commits, ou mesmo remover commits completamente. O Git fornece vários comandos e técnicas para reescrever o histórico, como:
Esses comandos permitem que você modifique mensagens de commit, reorganize commits, incorpore alterações de outras ramificações ou até mesmo reescreva todo o histórico de commits.
Como reescrever o histórico utilizando o comando “git commit –amend”?
Para reescrever o histórico usando o comando “git commit” junto com a opção “–amend”, siga os passos abaixo:
- Mova para o diretório Git indicado.
- Visualize o histórico de log executando o comando “ git log ” comando.
- Reescreva o histórico de commits executando o comando “ git commit ” com o “ –alterar ”opção.
Etapa 1: mover para o diretório Git local
Inicialmente, especifique o caminho do repositório Git desejado junto com o “ cd ” e mova para ele:
cd 'C:\Usuários\usuário\Git \n itRepo'
Etapa 2: exibir o log do Git
Para visualizar o histórico de log do Git, use o botão “ git log ” com o “ -uma linha ”opção. Ele exibirá cada commit em uma única linha:
git log --on-line
Etapa 3: reescrever o histórico
Execute o “ git commit –amend ” junto com o “- m ” opção para reescrever a mensagem de confirmação mais recente:
git commit --alterar -m 'história modificada'
A imagem abaixo indicada indica que o histórico de confirmação foi modificado com sucesso:
Etapa 4: verificação
Para verificação, use o comando abaixo indicado para visualizar o commit atualizado:
git log --on-line
Pode-se observar que o commit mais recente foi atualizado com sucesso:
Como reescrever o histórico usando o comando “git rebase -i”?
Para reescrever a história usando o botão “ git rebase -i ” comando, siga as etapas fornecidas:
- Veja o histórico de registros do Git.
- Reescreva o histórico mesclando todos os commits em um único commit usando o comando “ git rebase eu ” comando.
Etapa 1: exibir o log do Git
Execute o comando fornecido para verificar o histórico de log do repositório de trabalho atual:
git log --on-line
A saída fornecida mostra que todos os commits foram listados com sucesso:
Etapa 2: reescrever o histórico de confirmação
Execute o “ git rebase ” junto com o “ -eu ” para o modo interativo e defina o valor da opção “ CABEÇA ” de acordo com sua escolha para selecionar os commits:
git rebase -eu CABEÇA ~ 4
Como resultado, o editor padrão apareceu na tela:
Agora, substitua o “ escolha ” palavra-chave com “ abóbora ” para mesclar todos os commits em um único commit para reescrever o histórico:
A saída indicada abaixo indica que todos os commits foram mesclados no HASH de commit único:
Etapa 3: confirme a regravação do histórico
Verifique as alterações executando o comando “ git log ” junto com o “ -uma linha ” para listar cada commit em uma única linha:
git log --on-line
Pode-se notar que os commits selecionados foram mesclados com sucesso:
Fornecemos a maneira mais fácil de reescrever o histórico usando uma ferramenta diferente no Git.
Conclusão
A ferramenta de reescrita do histórico no Git modifica o histórico de commits do repositório. Envolve alterar os commits existentes, como modificar mensagens de commit e reorganizar ou combinar commits. O Git fornece vários comandos e técnicas para reescrever o histórico, incluindo “ git commit –amend ' e ' git rebase ”.