git 自动换行在WINDOWS和LINUX下的区别
淡淡烟草味
淡淡烟草味 2017-05-02 09:32:11
0
2
812

最近在windows下面最了个项目用git来管理,git add .的时候一直报错 LF will be replaced by CRLF,网上的大部分答案都是git config --global core.autocrlf false,禁用自动换行,这样做确实可以让我在这个项目中add了

但是问题是,另一项目(从mac下拉的代码),做管理的时候必须要把它设置成true才可以


我现在脑子有点瓦特,能不能哪位大神仔细讲一下,这个过程到底是发生了什么?

淡淡烟草味
淡淡烟草味

모든 응답(2)
刘奇

음, 바이두 쓰시나요? . . 그래서 문제의 원인을 전혀 모르고 자동줄바꿈과는 관련이 없습니다

windows 개행 문자: CRLF Linux/UNIX 개행 문자: LF
물론 캐리지 리턴 문자를 Windows에서 UNIX로 변환해야 합니다.

git config --global core.autocrlf false

개행 변환 기능 끄기

git config --global core.autocrlf true

다음과 같이 작동합니다.
Git는 인덱스에 파일을 추가할 때 CRLF 줄 끝을 LF로 자동 변환하여 이를 처리할 수 있습니다
공식 문서에서

phpcn_u1582

처음에는 git이 Linux 전용이었기 때문에 줄 바꿈은 항상 Linux의 LF였습니다. 프로젝트 팀에 Linux 및 Windows 사용자가 있는 경우 줄 바꿈은 물론 일반 파일은 LF로 통합되어야 합니다. autocrlf가 켜져 있으면 Windows 사용자의 로컬 파일은 여전히 ​​CR LF이며 제출 시 자동으로 LF로 변환됩니다.

ps: Windows는 중국에서 널리 사용되므로 Windows 관련 파일을 bat 배치 스크립트와 같은 LF 줄 바꿈으로 변경할 가능성이 매우 높습니다. 이런 식으로 github에서 다운로드한 파일은 CR 줄 바꿈을 잃게 됩니다. 결과적으로 실행이 불가능합니다.

이 설정 항목은 중복되므로 일반적으로 이 항목을 끄고 줄바꿈이 일관성이 있는지 수동으로 확인하는 것이 좋습니다. 일반적으로 현재 IDE에서는 여러 줄바꿈 스타일을 정상적으로 표시할 수 있으며, LF도 Windows에서 정상적으로 표시할 수 있습니다. Windows 메모장을 사용하여 코드를 편집하지 않는 한 CR LF 스타일 줄 바꿈은 없습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿