`.gitattributes` 파일에서`text = auto`의 목적은 무엇입니까?
주로 .gitattributes
파일이 * text=auto
있습니다. text=auto
그 파일 의 목적은 무엇입니까 ?
에서 워드 프로세서 :
.gitattributes
(또는.git/info/attributes
) 파일의 각 줄 은 다음과 같은 형식입니다.pattern attr1 attr2 ...
여기서 패턴은입니다 *
. 이는 모든 파일을 의미하고 속성은 text=auto
입니다.
무엇을 text=auto
합니까? 설명서에서 :
텍스트가 "자동"으로 설정되면 경로가 자동 줄 끝 정규화로 표시됩니다. Git이 내용이 텍스트라고 결정하면 체크인시 줄 끝이 LF로 정규화됩니다.
활성화되지 않은 경우 기본 동작은 무엇입니까?
불특정
text 속성이 지정되지 않은 경우 Git은 core.autocrlf 구성 변수를 사용하여 파일을 변환해야하는지 여부를 결정합니다.
무엇을 core.autocrlf
합니까? 문서에서 :
core.autocrlf
이 변수를 "true"로 설정하는 것은 텍스트 파일이 정규화되지 않는다는 점을 제외하고 모든 파일에서 text 속성을 "auto"로 설정하는 것과 거의 동일합니다. 저장소에 CRLF를 포함하는 파일은 건드리지 않습니다. 저장소에 정규화 된 줄 끝이없는 경우에도 작업 디렉토리에 CRLF 줄 끝을 가지려면이 설정을 사용하십시오. 이 변수는 입력으로 설정 될 수 있으며,이 경우 출력 변환이 수행되지 않습니다.
이 모든 것이 진흙처럼 분명하다고 생각한다면, 당신은 혼자가 아닙니다.
* text=auto
내 말로 하는 일은 다음과 같습니다 . 누군가 파일을 커밋 할 때 Git은 해당 파일이 텍스트 파일인지 아닌지 추측하고, 그렇다면 파일을 모든 CR + LF 바이트가 LF 바이트로 대체하는 파일 버전을 커밋합니다. 작업 트리의 파일 모양에 직접 영향을 미치지 않으며 파일을 체크 아웃 할 때 LF 바이트를 CR + LF 바이트로 변환하는 다른 설정이 있습니다.
추천:
난 것입니다 하지 두는 것이 좋습니다 * text=auto
에 .gitattributes
파일. 대신 다음과 같은 것이 좋습니다.
*.txt text
*.html text
*.css text
*.js text
이것은 텍스트 파일 인 파일을 명시 적으로 지정합니다.이 파일은 오브젝트 데이터베이스에서 CRLF를 LF로 변환하지만 반드시 작업 트리에서는 아닙니다. 우리는 repo를 가지고 있었고 * text=auto
Git은 이미지 파일이 텍스트 파일이라고 잘못 추측하여 객체 데이터베이스에서 CR + LF 바이트를 LF 바이트로 대체하여 파일을 손상시킵니다. 그것은 디버깅하기에 재미있는 것이 아닙니다.
을 사용해야하는 * text=auto
경우을 첫 번째 행으로 두어 .gitattributes
이후 행이이를 대체 할 수 있도록하십시오. 이것은 점점 더 대중적인 실천이되고있는 것 같습니다.
줄 끝을 정규화합니다. 출처 : Kernel.org
텍스트가 "자동"으로 설정되면 경로가 자동 줄 끝 정규화로 표시됩니다. git가 내용이 텍스트라고 결정하면 체크인시 줄 끝이 LF로 정규화됩니다.
라인 끝 정규화를 시행하는 소스 코드 관리 시스템과 상호 운용하거나 저장소의 모든 텍스트 파일을 정규화하려는 경우 대신 모든 파일에 대해 텍스트 속성을 "자동"으로 설정해야합니다.
이것은 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
'Programming' 카테고리의 다른 글
짧은 텍스트 문자열을위한 효율적인 압축 알고리즘 (0) | 2020.07.17 |
---|---|
브라우저에서 웹 소켓 핑 / 퐁 프레임 보내기 (0) | 2020.07.17 |
Uncaught SyntaxError : 블록 범위 선언 (let, const, function, class)은 아직 엄격 모드 외부에서 지원되지 않습니다. (0) | 2020.07.17 |
루아 테이블에서 항목 수를 얻는 방법은 무엇입니까? (0) | 2020.07.17 |
렌더링 시간 및 성능 측면에서 패널은 어떤 순서로 가장 효율적입니까? (0) | 2020.07.17 |