Como Git Filtro Chranch All Command?

Como Git Filtro Chranch All Command?

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 “Git Filtro Chranch”Comando?
    • Como utilizar o “Git Filtro Chranch”Comando com o“-filtro de árvore”Opção?
    • Como utilizar o “Git Filtro Chranch”Comando com o“-filtro de índice”Opção?
    • Como utilizar o “Git Filtro Chranch”Comando com o“-filtro de msg”Opção?

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:

    • ““-filtro de árvore”A opção é usada para especificar um comando para executar em cada árvore no ramo.
    • ““rm -rf”A opção é utilizada para excluir o“arquivo1.TXT" arquivo:


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:

    • ““-filtro de índice”Especifica o comando que será usado para filtrar o índice.
    • ““-cache”A opção remove/exclui arquivos do índice.
    • ““-ignore-inmatch”Ignora quaisquer erros:



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:

    • ““-filtro de msg”A opção é usada para alterar a mensagem de confirmação.
    • ““-f”A opção executa a operação com força.
    • ““sed”Comando pesquisa a string“File2 adicionado”Na mensagem de confirmação e substitui -a por“Adicionando file2" mensagem.
    • ““- -todos”A opção aplica o filtro a todas as filiais no repositório:



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.