Git 속성
GitLab 프로젝트에 대한 사용자 정의 Git 속성을 정의하여 파일 처리, 표시, 잠금, 저장 옵션을 설정합니다.
GitLab은 리포지터리 루트 디렉터리의 .gitattributes 파일에서 사용자 정의 Git 속성을 정의하는 기능을 지원합니다. .gitattributes 파일을 사용하면 다음과 같이 파일 처리 및 표시 방식의 변경을 선언할 수 있습니다: diff에서 생성된 파일 접기 . 사용자 정의 머지 드라이버 생성. 파일을 읽기 전용으로 표시하는 배타적 잠금 파일 생성. diff의 구문 강조 표시 변경. Git LFS 로 바이너리 파일 처리 선언. 리포지터리에서 사용하는 언어 선언. 인코딩 요구 사항 # .gitattributes 파일은 UTF-8로 인코딩되어야 하며 Byte Order Mark를 포함해서는 안 됩니다. 다른 인코딩을 사용하면 파일의 콘텐츠가 무시됩니다. 혼합 파일 인코딩 지원 # GitLab은 파일의 인코딩을 자동으로 감지하려고 시도하지만, 탐지기가 다른 유형( ISO-8859-1 등)이라고 확신하지 않는 한 UTF-8을 기본값으로 사용합니다. 인코딩 감지가 잘못되면 UTF-8이 아닌 인코딩의 악센트 문자처럼 일부 문자가 텍스트에 표시되지 않을 수 있습니다. Git은 이러한 상황을 처리하는 기능을 기본으로 제공하며, 지정된 인코딩과 UTF-8 사이에서 리포지터리 자체의 파일을 자동으로 변환합니다. 혼합 파일 인코딩 지원은 .gitattributes 파일에서 working-tree-encoding 속성으로 구성합니다. 예시: *.xhtml text working-tree-encoding=ISO-8859-1 이 구성 예시에서 Git은 리포지터리의 모든 .xhtml 파일을 로컬 트리에서는 ISO-8859-1 인코딩으로 유지하지만, 리포지터리에 커밋할 때는 UTF-8로 변환합니다. GitLab은 올바르게 인코딩된 UTF-8만 보게 되므로 파일을 정확하게 렌더링합니다. 기존 리포지터리에 이 구성을 적용할 때 로컬 사본은 인코딩이 올바르지만 리포지터리는 그렇지 않다면 파일을 수정하여 다시 커밋해야 할 수 있습니다. git add --renormalize . 를 실행하면 리포지터리 전체에 대해 이 작업을 수행할 수 있습니다. 자세한 내용은 working-tree-encoding 을 참고합니다. 구문 강조 표시 # .gitattributes 파일을 사용하면 파일과 diff의 구문을 강조 표시할 때 어떤 언어를 사용할지 정의할 수 있습니다. 자세한 내용은 구문 강조 표시 를 참고합니다. 사용자 정의 머지 드라이버 # GitLab Self-Managed 관리자는 GitLab 구성 파일에서 사용자 정의 머지 드라이버 를 정의한 다음, Git .gitattributes 파일에서 그 드라이버를 사용할 수 있습니다. 사용자 정의 머지 드라이버는 GitLab.com에서 지원되지 않습니다. 사용자 정의 머지 드라이버는 충돌 해결을 세밀하게 제어할 수 있는 Git 기능입니다. 사용자 정의 머지 드라이버는 단순하지 않은 머지 충돌 이 발생한 경우에만 호출되므로, 특정 파일이 머지되지 않도록 막는 수단으로는 신뢰할 수 없습니다. 사용자 정의 머지 드라이버 구성