Programming

`.gitattributes` 파일에서`text = auto`의 목적은 무엇입니까?

procodes 2020. 7. 17. 22:03
반응형

`.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=autoGit은 이미지 파일이 텍스트 파일이라고 잘못 추측하여 객체 데이터베이스에서 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

반응형