Por que o .gitattributes é aplicado apenas aos arquivos adicionados ao repo após sua definição?

0

Nos meus repositórios, estou implementando uma nova estratégia interessante para preservar alguns arquivos com versão de mesclagens, que faz uso de drivers de mesclagem personalizados e atributos .gitattributes. Por favor, dê uma olhada:

link

No entanto, notei que, se eu aplicá-lo a arquivos já rastreados em repo / branches, ele não funciona. Para fazer isso funcionar, eu tenho que definir os caminhos em .gitattributes antes de adicionar os arquivos ao repo / branch, ou excluir os arquivos e adicioná-los novamente.

Não é um grande problema, mas estou bastante curioso sobre o motivo desse comportamento. Alguém sabe?

    
por Stratboy 28.01.2015 / 10:00

1 resposta

1

Na minha experiência, é típico não aplicar regras retroativamente a arquivos já existentes em um repositório. A mesma coisa que você está vendo aqui acontece com git e mercurial quando você tenta ignorar arquivos com um determinado padrão.

A vantagem, como eu vejo os arquivos de ignorar o WRT, é que ele permite facilmente sobrescrever a regra padrão, adicionando arquivos manualmente que precisam ser incluídos.

Para alterar as estratégias de mesclagem, pode haver alguma vantagem em alterar todos os arquivos de uma vez e não sei por que git força você a excluir e adicionar novamente os arquivos em vez de usar alguma opção para aplicá-la (ou talvez existe e eu não encontrei na selva chamada documentação do git).

    
por 28.01.2015 / 10:15

Tags