O "Git Filtro Chranch”O comando reescreve toda a história do ramo, o que significa que quaisquer commits removidos ou modificados serão perdidos permanentemente. Portanto, é altamente sugerido que você faça backup de seu repositório antes de utilizar este comando. Além disso, este comando cria novos começos e sha hash. Portanto, não é recomendável usá -lo em uma filial pública.
Este artigo discutirá:
Quais são as opções básicas de filtro disponíveis para o comando "git filtro rale"?
As opções básicas de filtro para “Git Filtro Chranch”Os comandos são fornecidos abaixo:
Opções de filtro | Descrição |
-Env filter | Modifique o ambiente em que os usuários fazem compromissos. |
-filtro de árvore | Reescrever a árvore e seu conteúdo. |
-filtro de índice | Reescreva o índice. |
-Filtro de pai | Reescrever a lista de pais do Commit. |
-filtro de msg | Reescrever as mensagens de confirmação. |
-filtro de commit | Executar compromissos. |
-filtro de tag-name | Reescreva o nome da tag. |
-Avaria vazia | Instrua o ramo de filtro Git para remover compromissos vazios. |
Como utilizar o comando "git filtro rale" com a opção "-tree-filter"?
Às vezes, os usuários desejam remover um arquivo específico de todas as confirmações devido a alguns motivos, como se o arquivo contenha algumas informações confidenciais ou secretas. Nesta situação, utilize o “Git filtro -ramo -Tree -filter 'rm -rf'“Comando para remover um arquivo específico de todo o histórico de um repositório.
Siga as instruções fornecidas para fazer isso.
Etapa 1: Navegue para o repositório local
Primeiro, escreva o comando dado e redirecione para o diretório desejado:
$ CD "C: \ git \ local_repo"
Etapa 2: Veja o conteúdo do repositório
Em seguida, exiba o conteúdo do repositório atual usando o seguinte comando:
$ ls
De acordo com a saída abaixo, o repositório atual contém dois arquivos. Escolha um arquivo específico que precise ser excluído. Por exemplo, selecionamos o “arquivo1.TXT" arquivo:
Etapa 3: Remova o arquivo de todo o histórico
Em seguida, execute o comando fornecido junto com o nome do arquivo selecionado para remover esse arquivo:
$ git filtro rale-rale-filtro de filtro 'rm -rf file1.TXT'
Aqui:
Observação: Se o arquivo não estiver presente em alguns começos, executando o ""RM FILENAME”A opção não funcionará para árvores e compromissos.
Etapa 4: Verifique as alterações
Por fim, verifique se o arquivo foi removido visualizando o conteúdo do repositório:
$ ls
Como utilizar o comando "git filtro rale" com a opção "-Index-filter"?
Se o usuário quiser modificar o índice do repositório em vez de toda a filial, o “Filtro de filtro Git -Index-filtro”O comando pode ser usado. Isso pode ser útil para remover arquivos específicos do índice.
Etapa 1: Exibir arquivos do repositório
Execute o comando abaixo estatado para listar os arquivos disponíveis do repositório atual:
$ Git LS-Files
A imagem abaixo exibe a lista de arquivos. Selecione o arquivo desejado que você deseja remover do índice. Por exemplo, selecionamos o “arquivo4.TXT" arquivo:
Etapa 2: Remova o arquivo do índice
Em seguida, remova o arquivo selecionado do índice escrevendo o seguinte comando:
$ git filtro-ramo-index-filtro 'git rm-cache-file-unmatch 4.TXT'
Aqui:
Etapa 3: Verifique as alterações
Por fim, execute o comando fornecido fornecido para garantir que o arquivo tenha sido excluído do índice:
$ Git LS-Files
Como utilizar o comando "git filtro rale" com a opção "-msg filter"?
Às vezes, os usuários desejam reescrever a mensagem de confirmação específica do histórico de logs. Para esse fim, o “git filtro -branch -f -msg filtro 'sed “s /// g”' --All" pode ser usado.
Etapa 1: Ver Histórico de Commits
Primeiro, verifique o histórico de commit sha hash do atual repositório de trabalho:
$ git log --oneeline
Na captura de tela abaixo, o histórico de compromissos pode ser visto. Escolha a mensagem de confirmação desejada que precisa ser reescrita. Por exemplo, selecionamos o “File2 adicionado”Mensagem de comprometer:
Etapa 2: Reescrever mensagem de confirmação
Em seguida, execute o seguinte comando para reescrever a mensagem de confirmação selecionada:
$ git filtro-branch -f--msg filtro 'sed "s/file2 adicionado/adicionando file2/g"'---ll
Aqui:
Etapa 3: Verificação
Por fim, verifique as mudanças verificando o compromisso na história:
$ git log --oneeline
Pode -se observar que a antiga mensagem de confirmação foi substituída pela nova mensagem de confirmação:
Isso foi tudo sobre o “Git Filtro Chranch”Comando em Git.
Conclusão
O "Git Filtro Chranch”O comando é usado para reescrever o histórico de compromissos de um determinado ramo ou de todos os ramos em um repositório. Ele permite que os usuários executem várias operações em compromissos, como remover arquivos, modificar mensagens de confirmação, etc. Além disso, isso pode ser usado para limpar um repositório específico e remover informações confidenciais. Este artigo explicou sobre o comando "git filtro rale" e suas opções de filtro.