Existe um arquivo ou menu que permita alterar as configurações de como lidar com as terminações de linha?
Eu li que existem 3 opções:
Faça checkout no estilo Windows, confirme no estilo Unix
O Git converterá LF em CRLF ao verificar arquivos de texto. Ao confirmar arquivos de texto, o CRLF será convertido em LF. Para projetos de plataforma cruzada, esta é a configuração recomendada no Windows ("core.autocrlf" está definido como "true")
Faça o checkout como está, confirme no estilo Unix
O Git não realizará nenhuma conversão ao verificar arquivos de texto. Ao confirmar arquivos de texto, o CRLF será convertido em LF. Para projetos de plataforma cruzada, esta é a configuração recomendada no Unix ("core.autocrlf" está definido como "input").
Fazer check-out como está, confirmar como está
O Git não realizará nenhuma conversão ao fazer check-out ou confirmar arquivos de texto. A escolha dessa opção não é recomendada para projetos de plataforma cruzada ("core.autocrlf" está definido como "false")
Respostas:
A maneira normal de controlar isso é com
git config
Por exemplo
Para obter detalhes, role para baixo neste link para o Pro Git até a seção "core.autocrlf"
Se você quiser saber em que arquivo este é salvo, você pode executar o comando:
e o arquivo de configuração global do git deve abrir em um editor de texto, e você pode ver de onde esse arquivo foi carregado.
fonte
true
oufalse
são apenas duas opções, o instalador tem trêsinput
é a 3ª opção (conforme indicado no link que forneci). As 3 opções sãotrue
|false
|input
"1 ... ("core.autocrlf" is set to "true") ... 2 ... ("core.autocrlf" is set to "input") ... 3 ... ("core.autocrlf" is set to "false")"
então você basicamente respondeu sua própria pergunta? :)Formato de final de linha usado no SO
CR
(retorno de carro\r
) eLF
(LineFeed\n
)LF
(LineFeed\n
)Podemos configurar o git para corrigir automaticamente os formatos de final de linha para cada sistema operacional de duas maneiras.
.gitattributes
arquivoConfiguração Global
No Linux / OSXIsto irá corrigir qualquer
No WindowsCRLF
paraLF
quando você comete.Isso garantirá que, quando você fizer o checkout no Windows, todos
LF
serão convertidos emCRLF
Arquivo .gitattributes
É uma boa ideia manter um
.gitattributes
arquivo, pois não queremos que todos da nossa equipe definam sua configuração. Esse arquivo deve permanecer no caminho raiz do repositório e, se existir, o git o respeitará.Isso tratará todos os arquivos como arquivos de texto e será convertido na linha do SO que termina no checkout e volta ao
LF
commit automaticamente. Se você quiser contar explicitamente, useO primeiro é para checkout e o segundo é para commit.
Trate todas as
.jpg
imagens como arquivos binários, independentemente do caminho. Portanto, nenhuma conversão é necessária.Ou você pode adicionar qualificadores de caminho:
fonte
CR
(retorno de carro) sozinho?CR
sozinho, mas o OS X geralmente usaLF
.* text eol=lf
duas vezes para fazer o checkoutLF
no Windows?* text=auto
git decide se o conteúdo é texto ou não. Forçar todos os arquivos a serem texto deve ser* text
apenas.eol=cr
arquivos no Mac OS 9 e em outras plataformas herdadas?Por exemplo, desmarcar esse atributo em um determinado caminho [ . - texto] forçará o git a não tocar nas terminações da linha ao fazer check-in e check-out. Na minha opinião, esse é o melhor comportamento, pois a maioria dos editores de texto modernos pode lidar com ambos os tipos de terminações de linha. Além disso, se você como desenvolvedor ainda deseja fazer a conversão de final de linha ao fazer check-in, ainda pode definir o caminho para corresponder a determinados arquivos ou definir o atributo eol (em .gitattributes) em seu repositório.
Verifique também este post relacionado, que descreve o arquivo .gitattributes e o atributo de texto com mais detalhes: Qual é a melhor estratégia de manipulação de CRLF (retorno de carro, avanço de linha) com o Git?
fonte
. - text
dáis not a valid attribute name: .gitattributes:1
por favor colocarcat .gitattributes
Para mim, o que fez o truque foi executar o comando
dentro da pasta do projeto, eu queria especificamente para um projeto.
Esse comando alterou o arquivo no caminho {nome_do_projeto} / .git / config (fyi .git é uma pasta oculta) adicionando as linhas
no final do arquivo. Suponho que mudar o arquivo também faça o mesmo truque.
fonte
Se você deseja converter de volta os formatos de arquivo que foram alterados para o formato UNIX do formato PC.
(1) É necessário reinstalar o GIT da tartaruga e, na seção "Conversão final de linha", verifique se você selecionou a opção "Fazer check-in como está - faça check-in como está".
(2) e mantenha as configurações restantes como estão.
(3) quando a instalação estiver concluída
(4) escreva todas as extensões de arquivo que são convertidas para o formato UNIX em um arquivo de texto (extensions.txt).
(5) copie o arquivo no seu clone Execute o seguinte comando no GITBASH
fonte