core.autocrlf 설정 작동 방식 에 대한 자식 문서 뿐만 아니라 스택 오버플로에 대한 다양한 질문과 답변을 읽었습니다 .
이것은 내가 읽은 내용을 이해 한 것입니다.
Unix 및 Mac OSX (OSX 이전 버전에서는 CR 사용) 클라이언트는 LF 줄 끝을 사용합니다.
Windows 클라이언트는 CRLF 줄 끝을 사용합니다.
클라이언트에서 core.autocrlf가 true로 설정되면 git 저장소는 항상 파일을 LF 줄 끝 형식으로 저장하고 클라이언트에서 파일의 줄 끝은 체크 아웃 / 커밋시 클라이언트 (예 : Windows)에서 앞뒤로 변환됩니다. -LF 라인 엔딩 (라인 엔딩 파일이 클라이언트에 어떤 형식으로되어 있는지에 관계없이 팀 타임 (Tim Clem)의 정의에 동의하지 않음-아래 업데이트 참조)
다음은 줄 끝 변환 동작이 확실하지 않은 물음표가있는 core.autocrlf의 '입력'및 '거짓'설정에 대해 동일하게 문서화하는 행렬입니다.
내 질문은 :
- 물음표는 무엇이어야합니까?
- 이 매트릭스가 "물음표"가 아닌가?
컨센서스가 형성된 것처럼 답변에서 물음표를 업데이트합니다.
core.autocrlf 값 참 입력 거짓 -------------------------------------------------- -------- 커밋 | 변환? ? 새로운 | LF로 (LF로 변환 하시겠습니까?) (전환 없음?) 커밋 | 로 변환하다 ? 아니 기존 | LF (LF로 변환?) 변환 결제 | 로 변환하다 ? 아니 기존 | CRLF (전환 없음) 전환
나는 다양한 환경의 장단점에 대한 의견을 실제로 찾고 있지 않습니다. git이 세 가지 설정 각각에서 작동하는 방법을 분명히하는 데이터를 찾고 있습니다.
-
업데이트 04/17/2012 : 주석에서 JJD로 링크 된 Tim Clem의 기사를 읽은 후 위의 표에서 "알 수없는"값의 일부 값을 수정하고 "기존의 체크 아웃 | true로 변경 클라이언트로 전환하는 대신 CRLF로 다음은 그가 제공 한 정의이며 다른 곳에서 본 것보다 명확합니다.
core.autocrlf = 거짓
이것이 기본값이지만 대부분의 사람들은이를 즉시 변경하도록 권장합니다. false를 사용하면 Git이 파일의 줄 끝을 엉망으로 만들지 않습니다. LF 또는 CRLF 또는 CR 또는이 세 가지를 임의로 혼합하여 파일을 체크인 할 수 있으며 Git은 신경 쓰지 않습니다. 이로 인해 diff를 읽기 어렵고 병합하기가 더 어려워 질 수 있습니다. 유닉스 / 리눅스 세계에서 일하는 대부분의 사람들은 CRLF 문제가없고 파일이 객체 데이터베이스에 쓰여지거나 작업 디렉토리에 쓰여질 때마다 Git이 추가 작업을 수행 할 필요가 없기 때문에이 값을 사용합니다.
core.autocrlf = true
즉, Git은 모든 텍스트 파일을 처리하고 파일을 객체 데이터베이스에 쓸 때 CRLF가 LF로 바뀌고 작업 디렉토리에 쓸 때 모든 LF를 다시 CRLF로 바꿉니다. 작업 디렉토리에 CRLF를 유지하면서 다른 플랫폼에서 저장소를 사용할 수 있으므로 Windows에서 권장되는 설정입니다.
core.autocrlf = 입력
즉, Git은 모든 텍스트 파일을 처리하고 해당 파일을 객체 데이터베이스에 쓸 때 CRLF가 LF로 바뀌어야합니다. 그러나 그 반대는 아닙니다. 오브젝트 데이터베이스에서 파일을 다시 읽고 작업 디렉토리에 파일을 쓰면 여전히 줄 끝을 나타내는 LF가 있습니다. 이 설정은 일반적으로 CRLF가 저장소에 작성되지 않도록 Unix / Linux / OS X에서 사용됩니다. 아이디어는 웹 브라우저에서 코드를 붙여 넣고 실수로 CRLF를 파일 중 하나에 넣은 경우 Git은 객체 데이터베이스에 쓸 때 LF로 대체되었는지 확인하는 것입니다.
Tim의 기사는 훌륭하지만, 내가 생각할 수없는 유일한 것은 저장소가 LF 형식이라고 가정한다는 것입니다. 특히 Windows 전용 프로젝트의 경우 반드시 사실은 아닙니다.
jmlane이 팀의 기사를 가장 많이 투표 한 답변과 비교하면 실제 및 입력 설정에 대한 완벽한 동의와 잘못된 설정에 대한 의견 불일치가 표시됩니다.
autocrlf
거짓으로 유지 하는 것이 훨씬 쉬워 보인다;) stackoverflow.com/questions/2333424/…