Atlassian SourceTree: Como alterar as terminações de linha globalmente?


10

Existe uma maneira no Atlassian SourceTree ou com meu atual host git (BitBucket) para alterar as terminações de linha globalmente para todos os meus repositórios.

Eu acho que eles estão atualmente configurados para Unix (acho que fiz isso por acidente), mas estou desenvolvendo apenas no Windows. Meu IDE continua me enviando mensagens de aviso e erros sobre terminações de linhas mistas nos meus arquivos e eu gostaria de corrigi-lo, mas toda vez que empurro meu projeto para a nuvem ele é alterado de volta para finais do Unix, mesmo que eu mude em lotes as terminações de linha eles são revertidos de qualquer maneira.

Respostas:


12

Você pode configurar a manipulação de final de linha por repositório adicionando um arquivo .gitattributes especial à pasta raiz do seu repositório Git. Se esse arquivo for confirmado no repositório, ele substituirá a configuração core.autocrlf do desenvolvedor individual.

Neste arquivo, você pode configurar o Git para detectar automaticamente as terminações da linha.

Nota: - Nem todas as ferramentas gráficas do Git suportam o arquivo .gitattributes, por exemplo, o Eclipse IDE atualmente não o suporta.

Aqui está um exemplo de arquivo .gitattributes. Você pode usá-lo como modelo para seus repositórios:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

Você notará que os arquivos são correspondidos - *. C, * .sln, * .png--, separados por um espaço e, em seguida, recebem uma configuração - texto, texto eol = crlf, binário. Analisaremos algumas configurações possíveis abaixo.

text = auto O Git manipula os arquivos da maneira que achar melhor. Essa é uma boa opção padrão.

text eol = crlf O Git sempre converterá as terminações de linha em CRLF no checkout. Você deve usar isso para arquivos que devem manter terminações CRLF, mesmo no OSX ou Linux. Por exemplo, aqui está um projeto do Windows que aplica finais de linha CRLF.

text eol = lf O Git sempre converterá as terminações de linha em LF no checkout. Você deve usar isso para arquivos que devem manter as terminações LF, mesmo no Windows. Por exemplo , aqui está um projeto que aplica finais de linhas LF.

O Git binário entenderá que os arquivos especificados não são texto e não deve tentar alterá-los. A configuração binária também é um alias para -text -diff.


Links externos podem ficar indisponíveis; nesse caso, sua resposta teria pouco valor. Inclua as informações essenciais em sua resposta e use o link para atribuição e uma fonte de informações adicionais. Obrigado.
Fixer1234

Espero que isso inclui o detalhamento necessário
gpullen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.