1
resposta

Erro: warning: CRLF will be replaced by LF in

Bom dia gente!

Eu fiz o usuário e o passo a passo mas quando coloco " git add . " para adicionar todos os arquivos da pasta que abri pelo git da o erro:

$ git add . warning: CRLF will be replaced by LF in contato.html. The file will have its original line endings in your working directory warning: CRLF will be replaced by LF in index.html. The file will have its original line endings in your working directory warning: CRLF will be replaced by LF in produtos.html. The file will have its original line endings in your working directory error: 'status/' does not have a commit checked out fatal: adding files failed

Olhei no stack over flow sobre o comando " git config --global core.autocrlf true " mas não funciona ainda da esse erro, alguém sabe como resolver?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Cinthya! Tudo bom?

Desde já, peço perdão pela demora em retornar.

Quando estamos desenvolvendo um projeto, é comum que apareçam erros e avisos ao longo de sua construção. Enquanto o primeiro termo envolve a existência de inconsistências capazes de impedir a continuidade da execução, os avisos, embora também indiquem inconsistências, apenas nos alertam sobre pontos que podem vir a afetar o andamento do projeto.

A mensagem que você compartilhou com a gente, na realidade, é um aviso, logo isso não irá interferir de maneira explícita em seu sistema.

Mas afinal, o que esse “warning” (aviso em Inglês) significa e como podemos removê-lo?

Em tradução livre, o texto que aparece em tela diz: “CRLF será substituído por LF em contato.html. O arquivo terá suas terminações de linha originais em seu diretório de trabalho”.

LF (Line Feed) e CRLF (Carriage Return + Line Feed) referem-se ao modo pelo qual a linha de texto, do nosso código, é finalizada. Ambos são utilizados para um controle das linhas, vejamos o que cada expressão significa na prática:

  • LF: no Windows, representa a ida para uma próxima linha. No Linux e no Mac, por outro lado, representa o início de uma linha;
  • CRLF: representa a união entre o CR (que determina o retorno do cursor ao início da linha) e o LF.

Esses caracteres estão presentes de maneira implícita em nosso código. Para a leitura de todo o programa, é preciso indicar quando uma linha termina e quando a próxima é iniciada. Por meio do CRLF, não só avisamos que iremos para a próxima linha, como também apontamos seu começo.

Dependendo do sistema operacional que estamos utilizando, o uso desses caracteres varia. Quando o GIT se depara com isso, ele pode tentar converter as terminações de linha CRLF em LF ou vice-versa e, quando tal procedimento ocorre, um aviso é apresentado em tela.

Uma maneira de evitar que ele apareça é através do comando que você compartilhou conosco. No entanto, ele é, na maioria das vezes, utilizado em sistemas Linux. Ao lidar com o Windows, precisa-se alterar o “true” por “false”, da seguinte forma:

git config --global core.autocrlf false

Além disso, há uma outra alternativa para a resolução do mesmo problema, que é normalizar os términos de linha por meio do arquivo .gitattributes.

O .gitattributes é bastante útil ao se tratar do controle de ações do GIT. Dentre suas possibilidades de uso, há a conversão de finais de linha de arquivos de texto.

Depois de criar o arquivo .gitattributes dentro da página do seu projeto, adicione o seguinte trecho dentro dele:

* text=auto

Com isso, haverá a conversão de CRLF em LF dos arquivos “enxergados” e o repositório seguirá um certo padrão de linhas.

Para finalizar e atualizar a nossa work tree (histórico de commits), teremos que executar o seguinte comando em nosso terminal:

git add --renormalize .

Por meio dele, todo o nosso projeto, desde seu início, será atualizado com a nova modificação que fizemos. Além disso, assim que tentarmos realizar o comando git add . novamente, o aviso não mais aparecerá.

Cinthya, espero que tenha compreendido minha explicação. Fico à disposição para te auxiliar caso apareça uma nova dúvida.

Até mais e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!