Windows git "경고: LF가 CRLF로 대체됩니다", 이 경고 테일이 역방향입니까?
env:
- 윈도우 7
- 미스지트
나는 언제 나는git commit다음과 같이 표시됩니다.
warning: LF will be replaced by CRLF.
이 경고 테일이 뒤로 돌아갑니까?
하고, 은 윈도우입니다. 줄의 끝은CRLF처럼: 진사처럼이:

그리고 git는 그것을 바꿉니다.LF리포를 약속한 것에 대해.
제 따라서올바경다같음습다니과고는른:▁is다같▁so니습▁the▁warning▁think▁correct음▁i과다고.
warning: CRLF will be replaced by LF.
경고: LF가 CRLF로 대체됩니다.
사용 중인 편집기에 따라 LF가 있는 텍스트 파일을 CRLF로 저장할 필요가 없습니다. 최근 편집기는 eol 스타일을 보존할 수 있습니다.하지만 그 Git 구성 설정은 변경을 요구합니다.
다음 사항을 확인하십시오(여기서 권장).
git config --global core.autocrlf false
이렇게 하면 자동 변환을 방지하고 파일 및 지시사항을 통해 자동 변환을 지정할 수 있습니다.
windows git "LF가 CRLF로 대체됩니다."
참고: Git 2.37(Q3220)과 함께 경고 메시지가 변경되었습니다.
이 경고 테일이 뒤로 돌아갑니까?
아니요: Windows에 있으며 도움말 페이지에 다음과 같은 내용이 나와 있습니다.
▁을 원할 경우 이 설정을 합니다.
CRLF저장소에 정규화된 줄 끝이 없더라도 작업 디렉터리의 줄 끝.
"LF를 CRLF로 교체하는 git"에서 설명한 바와 같이, 이는 체크아웃 시에만 발생해야 합니다(커밋되지 않음).core.autocrlf=true.
repo
/ \
crlf->lf lf->crlf
/ \
샤오펑의 답변에서 언급했듯이, 그 경고는 다음과 같습니다.
( 사용 인 경고로 다른 : (크체웃하거나현복폴경다우는제하로더른중인용사재아▁with▁()
core.autocrlf되며,) LF는 CRLF로 대체됩니다.
파일의 원래 줄 끝은 (현재) 작업 디렉토리에 있습니다.
1242호에서 언급한 바와 같이:
저는 여전히 이 메시지가 혼란스럽다고 생각합니다. 예를 들어, 문제에 대한 더 나은 설명을 포함하도록 메시지가 확장될 수 있습니다. "LF는 다음에서 CRLF로 대체될 것입니다.
file.json파일을 제거하고 다시 확인한 후."
2), 고참 사용 시 : Git 2.19 (2018년 9월), 사시용core.autocrlf가짜 "LF가 CRLF로 대체됩니다" 경고는 이제 억제됩니다.
쿼일러가 올바르게 언급했듯이, 커밋에 대한 전환이 있다면, 그것은 다음과 같습니다.LF 직오직.
한 경고 정특한경고그"고경"LF will be replaced by CRLFconvert.c#check_safe_crlf()에서 가져옵니다.
if (checksafe == SAFE_CRLF_WARN)
warning("LF will be replaced by CRLF in %s.
The file will have its original line endings
in your working directory.", path);
else /* i.e. SAFE_CRLF_FAIL */
die("LF would be replaced by CRLF in %s", path);
에 의해, 에 의해, 에 의해, 에 의해, 에 의해 호출됩니다.
그리고 그것이 마지막.renormalize_buffer()에 의해서만 호출됩니다.
그래서 나는 이 전환이 다음과 같은 날에 발생한다고 생각합니다.git commit해당 커밋이 병합 프로세스의 일부인 경우에만 해당됩니다.
참고: Git 2.17 (2018년 2분기)에서는 코드 정리를 통해 몇 가지 설명을 추가했습니다.
토르스텐 뵈거스하우젠()tboegi의 커밋 8462ff4(2018년 1월 13일) 참조.
(주니오 C 하마노에 의해 합병 -- -- 커밋 9bc89b1, 2018년 2월 13일)
convert_to_git(): safe_crlf/checksafe가 intvon_devel이 됨
를 부를 때
convert_to_git(),checksafe변환) 시해야 할 했습니다.CRLF --> LF --> CRLF는 왕복을 하지 는 왕복을 깨끗하게 하지 않습니다.
했습니다.CRLF --> LF또는 그대로 보관합니다.
체크세이프 워즈
safe_crlf다음 값으로 열거합니다.
SAFE_CRLF_FALSE: do nothing in case of EOL roundtrip errors
SAFE_CRLF_FAIL: die in case of EOL roundtrip errors
SAFE_CRLF_WARN: print a warning in case of EOL roundtrip errors
SAFE_CRLF_RENORMALIZE: change CRLF to LF
SAFE_CRLF_KEEP_CRLF: keep all line endings as they are
8462ff4에 도입된 회귀 분석("convert_to_git():safe_crlf/checksafe 되다int conv_flags 2 2 인해 2018-01-13, Git 2.17.0) 다 Git 2.17 사생발클이시.autocrlf설정에도 불구하고 경고 메시지를 생성하도록 다시 씁니다.
Anthony Sottile()asottile의 commit 6cb0912(2018년 6월 4일)를 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- 8063ff9, 2018년 6월 28일 커밋)
예, 경고가 역방향입니다.
그리고 사실 그것은 애초에 경고가 되어서는 안 됩니다.이 모든 경고는 Windows 줄 끝이 있는 파일의 CRLF 문자가 커밋 시 LF 문자로 대체된다는 것을 의미하기 때문입니다.즉, *nix 및 MacOS에서 사용하는 것과 동일한 줄 끝 부분으로 표준화됩니다.
이상한 일은 없습니다. 이것이 바로 당신이 평소에 원하는 행동입니다.
현재 형식의 이 경고는 다음 두 가지 중 하나입니다.
- 너무 조심스러운 경고 메시지와 결합된 불행한 버그, 또는
- 정말로 이걸 생각하게 만드는 아주 영리한 음모...
;)
아니요. 현재 사용 중인 파일에 대한 내용이 아닙니다.CRLF대신 파일에 대해 이야기하고 있습니다.LF.
다음과 같이 표시됩니다.
warning: (체크아웃하거나 현재 코어가 있는 다른 폴더로 복제하는 경우)autocolf 구성,)LF는 CRLF로 대체됩니다.
파일의 원래 줄 끝은 (현재) 작업 디렉토리에 있습니다.
것은 이모것은을 가정합니다.core.autocrlf=true
원래 오류:
됩니다.
파일의 원래 줄 끝은 작업 디렉토리에 있습니다.
오류 표시 내용:
경고: LF는 작업 디렉토리에서 CRLF로 대체됩니다.
파일의 원래 LF 줄 끝이 Git 저장소에 있게 됩니다.
여기에 대한 설명:
이 편리한 변환의 부작용으로, 그리고 이것이 여러분이 보고 있는 경고입니다. 만약 여러분이 작성한 텍스트 파일에 원래 CRLF가 아닌 LF 끝이 있다면, 그것은 평소처럼 LF와 함께 저장되지만, 나중에 체크아웃하면 CRLF 끝이 있게 됩니다.일반 텍스트 파일의 경우 일반적으로 문제가 없습니다.이 경우 경고는 "참고용"이지만 git가 이진 파일을 텍스트 파일로 잘못 평가하는 경우 git가 이진 파일을 손상시키므로 중요한 경고입니다.
기본적으로 이전에 LF였던 로컬 파일은 이제 로컬로 CRLF를 가집니다.
git config --global core.autocrlf false글로벌 설정에 적합합니다.
Studio를 에는 Visual Studio의 그러는다음수할을수있습도다니야정해를우경나용에는사하▁need▁also▁but▁다▁to니있습그▁visual도수를 수정해야 할 수도 있습니다..gitattributes프로젝트 유형(예: c# 클래스 라이브러리 응용 프로그램):
- 선을 제거합니다.
* text=auto
이 문제는 Windows의 GitHub Desktop에 대한 구성이 CRLF를 가정하지만 텍스트 편집기가 LF를 사용하고 있을 수 있기 때문에 발생합니다.하여 사용로리설변수있경다습을 할 수 있습니다.lf대신.
Gitrepo 루트로 이동하여 정확히 동일한 순서로 실행합니다.
git config core.eol lf
git config core.autocrlf input
가 설한후정을 설정한 에.core.autocrlf=true는 " ("는 LF로 가 아님받고 .git adding (또는 아마도 그것이 켜져 있었을 것입니다.git commit?) 설정하기 전에 체크아웃된 저장소(LF 사용)의 창에서 편집된 파일core.autocrlf=true.
는 로새운체했습다니을웃크아로 새로운 .core.autocrlf=true지금은 그런 메시지를 못 받고 있어요
이 경고 테일이 뒤로 돌아갑니까?
그 경고는 무엇보다도 혼란스럽습니다.
Git 2.37 (Q3220)은 이를 다시 말하고 명확히 합니다.
Alex Henrie()alexhenrie의 commit c970d30(2022년 4월 7일)을 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- 0a88638, 2022년 5월 20일 커밋)
convert종료 줄 바꿈 경고 명확화사인 오프 바이: 알렉스 헨리
줄 끝을 변환하는 것에 대한 경고는 매우 혼란스럽습니다.
LF will be replaced by CRLF in ... The file will have its original line endings in your working directory.그것의 두 문장은 각각 시간대를 지정하지 않고 "의지"라는 단어를 사용하는데, 이것은 두 문장이 같은 시간대를 가리키는 것처럼 들립니다.
여기에 "오리지널"이 LF를 의미하는지 CRLF를 의미하는지 여부를 말하지 않고 "오리지널 라인 엔딩"이라는 용어를 사용합니다.행 끝이 변경되는 시기와 변경되는 내용을 명확히 하기 위해 경고를 다시 표시합니다.
네이티브 라인 끝이 CRLF가 아닌 플랫폼(예: 리눅스)에서 다음 시퀀스의 ""git add(man) 단계는 문제의 새 메시지를 트리거합니다(더 이상 경고 없음).
$ git config core.autocrlf true
$ echo 'Hello world!' >hello.txt
$ git add hello.txt
In the working copy of 'hello.txt', CRLF will be replaced by LF
the next time Git touches it.
그리고 네이티브 라인 끝이 LF가 아닌 플랫폼(예: Windows)에서 git add(man)다음 순서의 "" 단계는 문제의 새 메시지를 트리거합니다(더 이상 경고 없음).
$ git config core.autocrlf true
$ echo 'Hello world!' >hello.txt
$ git add hello.txt
In the working copy of 'hello.txt', LF will be replaced by CRLF
the next time Git touches it.
비슷한 문제에 직면하여 Windows에서 vcode(v1.57)를 사용하여 다른 답변에 정의된 솔루션을 시도했지만 작동하지 않았습니다.
그래서 저는 다음과 같은 단계가 효과가 있었습니다.
- 루트 폴더에는 .editorconfig라는 파일이 있습니다.
- 이 파일을 열고 변경합니다.
end_of_line = lf와 함께end_of_line = crlf - 려달을
git rm --cached그리고 경고는 사라졌습니다!!
다음필불다파또폴추확인니합에 불필요한 하세요..gitignorejava.
예node_modules
여전히 얼굴을 마주하고 있다면 이 명령을 실행합니다.
''git config --global core.오토로프 거짓'
간단한 작업만 수행합니다.
- git-hub(Shell)를 열고 (cd /a/b/c/...) 속한 디렉터리 파일로 이동합니다.
- dos2unix 실행(때로는 dos2unix.exe)
- 지금 커밋해 보십시오.같은 오류가 다시 발생할 경우.dos2unix 대신 dos2unix, do unix2dox(unix2dos)를 제외한 위의 모든 단계를 수행합니다.exe 가끔)
Visual Studio 닫기
오류가 발생하면 간단한 해결 방법으로 Visual Studio를 닫을 수 있으며 메인으로 커밋할 수 있습니다.저도 같은 문제가 있었고 그렇게 고쳤습니다.열려 있는 파일이 다른 프로그램에서 열려 있기 때문에 발생합니다.
언급URL : https://stackoverflow.com/questions/17628305/windows-git-warning-lf-will-be-replaced-by-crlf-is-that-warning-tail-backwar
'programing' 카테고리의 다른 글
| 10진수에 대한 NLS_NUMERIC_CHARTS 설정 (0) | 2023.06.28 |
|---|---|
| Vuex 변환: ES6 구문을 사용하여 상태 매개변수를 분해합니다(퀘이사 프레임워크 사용). (0) | 2023.06.28 |
| ASP.NET MVC 글로벌 변수 (0) | 2023.06.28 |
| gradle build와 gradle bootJar의 차이점은 무엇입니까? (0) | 2023.06.28 |
| create oracle package funched PLS-00103: 기호 "CREATE"를 발견했습니다. (0) | 2023.06.23 |
