줄 끝 처리 방법에 대한 설정을 변경할 수있는 파일이나 메뉴가 있습니까?
나는 3 가지 옵션이 있다고 읽었습니다.
-
Windows 스타일 체크 아웃, Unix 스타일 커밋
Git은 텍스트 파일을 체크 아웃 할 때 LF를 CRLF로 변환합니다. 텍스트 파일을 커밋 할 때 CRLF는 LF로 변환됩니다. 크로스 플랫폼 프로젝트의 경우 Windows에서 권장되는 설정입니다 ( “core.autocrlf”가 “true”로 설정 됨)
-
그대로 체크 아웃, 유닉스 스타일 커밋
텍스트 파일을 체크 아웃 할 때 Git은 변환을 수행하지 않습니다. 텍스트 파일을 커밋 할 때 CRLF는 LF로 변환됩니다. 크로스 플랫폼 프로젝트의 경우 이는 Unix에서 권장되는 설정입니다 ( “core.autocrlf”는 “input”으로 설정 됨).
-
있는 그대로 체크 아웃하고있는 그대로 커밋
Git은 텍스트 파일을 체크 아웃하거나 커밋 할 때 변환을 수행하지 않습니다. 크로스 플랫폼 프로젝트에는이 옵션을 선택하지 않는 것이 좋습니다 ( “core.autocrlf”가 “false”로 설정 됨)
답변
이것을 제어하는 일반적인 방법은 git config
예를 들어
git config --global core.autocrlf true
자세한 내용은 이 링크에서 Pro Git 링크를 아래로 “core.autocrlf”섹션으로 스크롤하십시오.
파일 이 저장된 파일 을 알고 싶다면 다음 명령을 실행하십시오.
git config --global --edit
그리고 git global config 파일이 텍스트 편집기에서 열리면 파일이로드 된 위치를 볼 수 있습니다.
답변
OS에서 사용되는 줄 끝 형식
- Windows :
CR
(캐리지 리턴\r
) 및LF
(LineFeed\n
) 쌍 - OSX, Linux :
LF
(LineFeed\n
)
우리는 두 가지 방법으로 각 OS에 대해 자동 수정 줄 끝 형식으로 git을 구성 할 수 있습니다.
- 힘내 글로벌 구성
.gitattributes
파일 사용
글로벌 구성
Linux / OSX에서
git config --global core.autocrlf input
커밋 CRLF
할 LF
때 문제가 해결 됩니다.
Windows에서
git config --global core.autocrlf true
이것은 Windows에서 체크 아웃 할 때 모든 LF
것이CRLF
.gitattributes 파일
.gitattributes
팀의 모든 사람이 구성을 설정하기를 원하지 않기 때문에 파일 을 보관하는 것이 좋습니다 . 이 파일은 repo의 루트 경로에 보관해야하며 존재하는 경우 git은이를 존중합니다.
* text=auto
이것은 모든 파일을 텍스트 파일로 취급하고 체크 아웃시 종료하고 LF
자동으로 커밋시 OS 라인으로 변환합니다 . 명시 적으로 말하고 싶다면
* text eol=crlf
* text eol=lf
첫 번째는 체크 아웃을위한 것이고 두 번째는 커밋을위한 것입니다.
*.jpg binary
.jpg
경로에 관계없이 모든 이미지를 이진 파일로 취급하십시오 . 따라서 변환이 필요하지 않습니다.
또는 경로 한정자를 추가 할 수 있습니다.
my_path/**/*.jpg binary
답변
모든 개발자에게 재배포 할 수있는 저장소 설정 솔루션의 경우 .gitattributes 파일 에서 text 속성을 확인 하십시오. 이런 식으로 개발자는 저장소에서 직접 줄 끝을 수동으로 설정할 필요가 없으며 저장소마다 다른 줄 끝 스타일을 가질 수 있으므로 global core.autocrlf는 적어도 제 생각에는 최고는 아닙니다.
예를 들어 지정된 경로에서이 속성을 설정 해제합니다 [ . -text]는 체크인 및 체크 아웃시 git이 줄 끝을 건드리지 않도록합니다. 제 생각에 이것은 대부분의 최신 텍스트 편집기가 두 가지 유형의 줄 끝을 처리 할 수 있기 때문에 이것이 최선의 행동이라고 생각합니다. 또한 개발자가 체크인 할 때 줄 끝 변환을 계속하려는 경우 특정 파일과 일치하도록 경로를 설정하거나 저장소에서 eol 속성 (.gitattributes)을 설정할 수 있습니다.
또한 .gitattributes 파일 및 텍스트 속성을 자세히 설명하는 관련 게시물을 확인하십시오. Git을 사용한 최상의 CRLF (캐리지 리턴, 줄 바꿈) 처리 전략은 무엇입니까?
답변
나를 위해 트릭은 무엇을 명령을 실행했다
git config auto.crlf false
프로젝트 폴더 안에 하나의 프로젝트를 위해 특별히 원했습니다.
해당 명령은 행을 추가하여 경로 {project_name} /. git / config (fyi .git는 숨겨진 폴더 임)에서 파일을 변경했습니다.
[auto]
crlf = false
파일의 끝에서. 파일을 변경해도 같은 트릭이 있다고 가정합니다.
답변
PC 형식에서 UNIX 형식으로 변경된 파일 형식을 다시 변환하려면
(1) 거북 GIT를 다시 설치하고 “라인 끝 변환”섹션에서 “있는 그대로 체크 아웃-그대로 체크인”옵션을 선택했는지 확인하십시오.
(2) 나머지 구성을 그대로 유지하십시오.
(3) 한번 설치 완료
(4) UNIX 형식으로 변환 된 모든 파일 확장자를 텍스트 파일 (extensions.txt)로 작성하십시오.
ex:*.dsp
*.dsw
(5) 파일을 복제본에 복사 GITBASH에서 다음 명령을 실행하십시오.
while read -r a;
do
find . -type f -name "$a" -exec dos2unix {} \;
done<extension.txt