在提交项目时,出现一堆warning:LF will be replaced by CRLF in...,一直卡在更新索引,准备提交那儿,在网上查了,说是换行符的问题,解决办法 git config --global core.autocrlf false
即可解决,然而我这里没有效果,不知是哪里的问题,哪位大神帮忙看下。下面是config中的内容
漂亮男人2017-05-02 09:51:01
문제를 해결하기 전에 몇 마디 더 말씀드리고 싶습니다. GitHub 또는 기타 원격 호스팅 서버를 통해 다른 사람들과 코드 개발을 공동으로 수행하는 경우 줄 바꿈이 올바르게 처리되는지 확인하는 것이 중요합니다. 우선, 운영체제마다 개행 문자에 대한 정의가 다르다는 점을 알아야 합니다. Unix나 Unix 계열 운영체제에서는 개행 문자를 LF라고 하고, Windows 시스템에서는 개행 문자를 CRLF라고 합니다. 둘 사이에는 큰 차이가 있습니다:
참고: 캐리지 리턴(CR)과 줄 바꿈(LF)의 차이인 'r'과 'n'에서 인용되었습니다.Unix 시스템에서 각 줄의 끝은 "<linefeed>"입니다. Windows 시스템에서는 "n"이며 각 줄의 끝은 "<linefeed><carriage return>"입니다.
이것이 문제의 근원입니다. 즉, 귀하는 Windows 시스템을 사용하고 친구는 Mac을 사용하는 경우 Git을 사용하여 소프트웨어를 공동으로 개발할 때 일관되지 않은 줄 바꿈 문제가 발생합니다.
Git은 실제로 일관되지 않은 줄 바꿈 문제를 자체적으로 처리할 수 있지만 예상치 못한 결과가 발생할 수 있습니다. 따라서 관련 설정이 필요합니다. 일반적으로 귀찮게 하고 싶지 않다면 아래와 같이 일반적인 방법을 사용할 수 있습니다.
으아아아
실제로 Windows 버전의 git 또는 togoiseGit을 설치했을 때 이미 이러한 구성을 만들었을 수도 있습니다. 예를 들어 포스터에서 이러한 경고가 생성된 이유는 다음과 같습니다. 경고: LF는 다음에서 CRLF로 대체됩니다...를위 구성을 했기 때문이죠. 거기에 붙어있는 이유는 교체해야 할 곳이 너무 많기 때문일 수도 있습니다. 잠시만 기다려도 됩니다. 그런데
로 변경하면 git이 자체적으로 처리하도록 하므로 경고가 보고되지 않습니다. 이렇게 하면 문제가 근본적으로 해결되지 않습니다. 이렇게 하면 친구와 줄 바꿈이 일치하지 않을 수 있습니다. true
false
물론, 일관되지 않은 줄 바꿈 문제를 해결하는 더 좋은 방법이 있습니다. 줄 바꿈을 통합하려면
와 다소 비슷하며, 이름도 비슷할 뿐만 아니라 사용법과 작성 구문도 비슷합니다. .gitattributes
.gitignore
해당 파일은 반드시 웨어하우스 루트 디렉터리에 위치해야 하며, 다른 파일과 마찬가지로 수정 및 제출이 가능합니다. 이 파일을 작성하는 방법은 다음과 같습니다.
파일 내용은 두 개의 열로 나누어진 테이블과 같습니다. 왼쪽 열은 Git이 일치해야 하는 파일 이름이고 오른쪽 열은 Git이 사용해야 하는 줄 바꿈 형식입니다. 밤을 살펴봅시다:
으아아아에 대해 잘 아시는 분은 위 파일의 왼쪽 열이 매우 익숙하다고 느끼실 것입니다. 여기서는 자세히 설명하지 않겠습니다. 익숙하지 않은 분은 직접 관련 정보를 확인하시기 바랍니다. 유일한 차이점은
파일의 오른쪽에 .gitignore
, .gitattributes
, text
와 같은 추가 열이 있다는 것입니다. 우리는 이 열이 왼쪽과 오른쪽의 해당 파일에서 사용되는 개행 형식을 설정하는 데 사용된다고 말했습니다. 열은 공백으로 구분됩니다. 오른쪽 열의 구문을 자세히 소개하겠습니다. text eol=crlf
text=auto
왼쪽의 일치하는 파일이 사용하는 개행 형식을 git에서 처리하도록 합니다. 이것이 기본 옵션입니다.
text eol=crlf
왼쪽의 일치하는 파일에 대해 CRLF 개행 형식을 균일하게 사용하세요. 어떤 파일에 LF가 나타나면 CRLF로 변환됩니다.
text eol=lf
왼쪽의 일치하는 파일에 대해 LF 개행 형식을 균일하게 사용합니다. CRLF가 어떤 파일에 나타나면 LF로 변환됩니다.
binary
git에게 이 파일은 텍스트 파일이 아니므로 줄바꿈을 변경하면 안 된다고 알려줍니다. 또한 binary
과 기호 -text -diff
는 동일합니다.
위 구문이면 충분할 것입니다. 관심이 있으시면 공식 정보 등 관련 정보를 직접 확인하실 수 있습니다: https://git-scm.com/book/en/v...
일반적으로 첫 번째 방법보다 번거롭기는 하지만 두 번째 방법이 가장 좋은 해결책입니다.
P.S: 블로그로 정리: Git이 줄바꿈 문제를 처리합니다