.git 속성 파일에서 text=auto의 목적은 무엇입니까?
주로.gitattributes
파일이 있습니다.* text=auto
의 목적은 무엇입니까?text=auto
그 파일에?
문서에서:
의 각 행
.gitattributes
(또는).git/info/attributes
) 파일 형식:
pattern attr1 attr2 ...
그래서 여기, 패턴은.*
즉, 모든 파일을 의미하며 속성은text=auto
.
무엇인가.text=auto
문서에서 확인할 수 있습니다.
텍스트를 "자동"으로 설정하면 경로가 자동 줄 바꿈 정규화를 위해 표시됩니다.Git가 내용이 텍스트라고 결정하면 체크인 시 줄 끝이 LF로 정규화됩니다.
활성화되지 않은 경우 기본 동작은 무엇입니까?
지정되지 않음
텍스트 특성이 지정되지 않은 경우 Git는 코어를 사용합니다.파일 변환 여부를 결정하는 autocolf 구성 변수입니다.
무엇인가.core.autocrlf
그래요? 문서에서:
core.autocrlf
이 변수를 "true"로 설정하는 것은 텍스트 파일이 정규화되지 않는다는 점을 제외하고는 모든 파일에서 텍스트 속성을 "auto"로 설정하는 것과 거의 같습니다. 저장소에 CRLF가 포함된 파일은 터치되지 않습니다.리포지토리에 정규화된 줄 끝이 없더라도 작업 디렉토리에 CRLF 줄 끝을 사용하려면 이 설정을 사용합니다.이 변수는 입력으로 설정할 수 있으며, 이 경우 출력 변환이 수행되지 않습니다.
이 모든 것이 명백하다고 생각한다면, 당신은 혼자가 아닙니다.
제 말은 다음과 같습니다. 누군가 파일을 커밋하면 Git는 해당 파일이 텍스트 파일인지 아닌지 추측하고, 만약 그렇다면 모든 CR + LF 바이트가 LF 바이트로 대체되는 파일 버전을 커밋합니다.작업 트리의 파일 모양에는 직접적인 영향을 미치지 않으며, 파일을 체크아웃할 때 LF 바이트를 CR + LF 바이트로 변환하는 다른 설정도 있습니다.
권장 사항:
저는 퍼팅을 추천하지 않습니다.* text=auto
에서.gitattributes
파일. 대신 다음과 같은 것을 추천합니다.
*.txt text
*.html text
*.css text
*.js text
이것은 어떤 파일이 텍스트 파일인지 명시적으로 지정하며, CRLF는 객체 데이터베이스에서 LF로 변환됩니다(작업 트리에서는 그렇지 않습니다).우리는 로 레포를 했습니다.* text=auto
그리고 Git는 이미지 파일이 텍스트 파일이라고 잘못 추측하여 개체 데이터베이스에서 CR + LF 바이트를 LF 바이트로 대체하면서 이미지 파일이 손상되었습니다.디버깅하는 것은 재미있지 않았습니다.
사해야하경우를 해야 하는 * text=auto
그것을 …의 첫줄로 삼다..gitattributes
나중에 라인이 오버라이드 할 수 있도록.이것은 점점 더 인기 있는 관행이 되고 있는 것 같습니다.
이렇게 하면 줄 끝이 정규화됩니다.출처: Kernel.org
텍스트를 "자동"으로 설정하면 경로가 자동 줄 바꿈 정규화를 위해 표시됩니다.Git가 내용이 텍스트라고 결정하면, Git의 줄 끝은 체크인 시 LF로 정규화됩니다.
종단 표준화를 적용하는 소스 코드 관리 시스템과 상호 운용하거나 리포지토리의 모든 텍스트 파일을 표준화하려면 모든 파일에 대해 텍스트 속성을 "auto"로 설정해야 합니다.
이렇게 하면 git가 텍스트로 간주하는 모든 파일이 저장소에서 정규화된(LF) 줄 끝 부분을 가지게 됩니다.
이 구성은 줄 끝 부분이 처리되는 방식과 관련이 있습니다.활성화하면 모든 줄 끝이 저장소에서 LF로 변환됩니다.작업 디렉터리에서 줄 끝이 변환되는 방법을 처리하는 다른 플래그가 있습니다.문제에 대한 자세한 내용은 https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html 를 참조하십시오.
언급URL : https://stackoverflow.com/questions/21472971/what-is-the-purpose-of-text-auto-in-gitattributes-file
'IT' 카테고리의 다른 글
두 날짜 사이의 모든 달을 나열하는 방법 (0) | 2023.08.16 |
---|---|
Sun JSTL taglib 선언이 실패하고 "태그 라이브러리 설명자를 찾을 수 없습니다"가 표시됨 (0) | 2023.08.16 |
새 jQuery AJAX 코드에 성공 및 오류 대신 .done() 및 .fail()을 사용해야 합니까? (0) | 2023.08.16 |
빈 테이블에 인덱스를 만든 후 데이터를 삽입하거나 오라클에 데이터를 삽입한 후 고유 인덱스를 생성하시겠습니까? (0) | 2023.08.16 |
버튼을 클릭할 때 jquery datables fnServerData를 트리거하여 AJAX를 통해 테이블을 업데이트하려면 어떻게 해야 합니까? (0) | 2023.08.16 |