Git 리포지토리 설정 및 정책 설정
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
분기 및 리포지토리 설정 및 정책을 사용하여 Azure Repos Git 리포지토리를 사용자 지정하는 방법에는 여러 가지가 있습니다. 이 문서에서는 리포지토리 수준 설정 및 정책에 대해 설명합니다.
리포지토리 설정 및 정책은 프로젝트 또는 조직의 모든 Git 리포지토리 또는 개별 리포지토리에 대한 전역 옵션을 구성합니다.
이 문서에서는 서버 쪽 리포지토리 설정 및 정책에 대해 설명합니다. 클라이언트 쪽 Git 기본 설정에 대해 알아보려면 Visual Studio에서 Git 기본 설정 및 설정을 참조 하세요.
분기 정책은 분기별 컨트롤을 다룹니다.
분기 정책에는 변경 내용이 분기에 병합되기 전에 끌어오기 요청, 성공적인 빌드 또는 코드 검토 요구와 같은 옵션이 포함됩니다. 자세한 내용은 분기 정책 및 설정을 참조 하세요.
리포지토리 및 분기 보안 권한은 사용자 할당을 제어합니다.
이러한 권한은 끌어오기 요청을 읽고, 쓰고, 기여하고, 다른 특정 작업을 수행할 수 있는 사용자를 제어합니다. 자세한 내용은 리포지토리에 대한 사용 권한 설정을 참조 하세요.
모든 리포지토리 및 분기 설정 및 정책 요약
프로젝트의 모든 리포지토리, 개별 리포지토리 및 리포지토리 분기의 설정 및 정책을 구성할 수 있습니다. 브라우저에서 프로젝트 설정 리포지토리를 통해 이러한 모든 설정>및 정책을 구성합니다.
참고 항목
az repos 정책을 사용하여 Azure CLI를 사용하여 여러 분기 설정 및 정책을 설정할 수 있습니다.
다음 표에는 Git 리포지토리 및 분기에 대해 사용하도록 설정하고 구성할 수 있는 설정 및 정책이 요약되어 있습니다.
모든 리포지토리 설정
다음 표에는 프로젝트 또는 조직의 모든 새 Git 리포지토리에 대해 사용하도록 설정하고 구성할 수 있는 설정이 요약되어 있습니다.
설정
기본값
설명
끄기
지정한 기본 분기 이름으로 새 리포지토리를 초기화합니다. 특정 리포지토리에 대한 기본 분기 언제든지 변경할 수 있습니다. 이 기능을 사용하도록 설정하지 않으면 리포지토리가 명명된 main
기본 분기 사용하여 초기화합니다.
설정
사용자가 모든 새 리포지토리에서 만든 분기에 대한 권한을 관리할 수 있도록 합니다.
리포지토리 설정
다음 표에서는 각 개별 Git 리포지토리에 대해 사용하거나 구성할 수 있는 설정을 요약합니다.
설정
기본값
설명
설정
사용자가 리포지토리에서 포크를 만들 수 있도록 허용합니다.
설정
커밋 주석에 언급된 작업 항목에 대한 링크를 자동으로 만듭니다.
설정
커밋 주석의 멘션을 허용하여 작업 항목을 닫습니다. Azure DevOps Server 2020.1 업데이트 이상이 필요합니다.
설정
끌어오기 요청을 사용하여 작업 항목을 완료하기 위한 사용자 기본 설정을 기억하세요.
설정
사용자가 만든 분기에 대한 사용 권한을 관리할 수 있도록 허용
설정
끌어오기 요청에 투표할 수 있는 기여 권한이 필요한 리포지토리에 대해 엄격한 투표 모드를 사용하도록 설정합니다.
설정
빌드 및 끌어오기 요청을 포함하여 리포지토리에 대한 액세스를 사용하지 않도록 설정하지만 경고와 함께 리포지토리를 검색할 수 있도록 유지합니다.
설정
코드 검색에 참여할 분기를 최대 5개 이상 지정합니다. 기본적으로 기본 분기만 적용됩니다. Code Search 확장을 설치하고 사용하도록 설정해야 합니다.
리포지토리 정책 또는 옵션
다음 표에서는 전체 또는 개별 리포지토리에 대해 설정할 수 있는 정책 또는 옵션을 요약합니다. 모든 리포지토리에 대해 설정된 정책은 나중에 추가된 개별 리포지토리의 기본값을 설정합니다.
정책 또는 옵션
기본값
설명
끄기
지정된 패턴과 일치하지 않는 커밋 작성자 전자 메일로 푸시를 차단합니다. 이 설정에는 Azure DevOps Server 2020.1 이상 버전이 필요합니다.
끄기
지정된 패턴과 일치하는 파일 경로를 도입하지 못하도록 푸시를 차단합니다. 이 설정에는 Azure DevOps Server 2020.1 이상 버전이 필요합니다.
끄기
파일, 폴더, 분기 및 태그에서 이름 대/소문자를 변경하는 푸시를 차단하여 대/소문자 구분 충돌을 방지합니다.
끄기
플랫폼 예약 이름 또는 호환되지 않는 문자를 포함하는 파일, 폴더 또는 분기 이름을 도입하는 푸시를 차단합니다.
끄기
지정된 길이를 초과하는 경로를 도입하는 블록 푸시입니다.
끄기
선택한 제한보다 큰 새 파일 또는 업데이트된 파일이 포함된 푸시를 차단합니다.
분기 정책
다음 표에서는 분기를 사용자 지정하기 위해 정의할 수 있는 정책을 요약합니다. 이러한 설정을 구성하는 방법에 대한 자세한 내용은 분기 정책을 사용하여 코드 품질 향상을 참조하세요. 분기에 정책을 설정하면 다음 정책이 자동으로 적용됩니다.
- 분기를 업데이트하려면 끌어오기 요청이 필요합니다.
- 분기는 삭제할 수 없습니다.
참고 항목
분기 정책은 끌어오기 요청의 대상 분기에 따라 끌어오기 요청에 적용됩니다. 분기 정책은 끌어오기 요청 후에 삭제되는 임시 분기에 설정해서는 안 됩니다. 임시 분기에 분기 정책을 추가하면 자동 분기 삭제가 실패합니다.
정책
기본값
설명
끄기
끌어오기 요청에 대한 지정된 인원의 검토자 승인이 필요합니다.
끄기
풀 요청에 연결된 작업 항목을 확인하여 추적 가능성을 보장합니다.
끄기
끌어오기 요청에 대한 모든 설명이 확인되었는지 검사합니다.
끄기
끌어오기 요청이 완료될 때 사용 가능한 병합 유형을 제한하여 분기 기록을 제어합니다.
끄기
끌어오기 요청 변경 내용을 미리 병합하고 빌드하여 코드의 유효성을 검사하기 위해 하나 이상의 정책을 추가, 사용 또는 사용하지 않도록 설정합니다.
끄기
끌어오기 요청을 완료하기 위해 다른 서비스가 성공적인 상태를 게시하도록 요구하는 하나 이상의 정책을 추가, 사용 또는 사용하지 않도록 설정합니다.
끄기
끌어오기 요청이 특정 코드 영역을 변경할 때 자동으로 포함하도록 코드 검토자를 지정하는 하나 이상의 정책을 추가, 사용 또는 사용하지 않도록 설정합니다.
필수 조건
- 정책을 구성하려면 프로젝트 관리자 보안 그룹의 구성원이거나 리포지토리 수준 편집 정책 권한이 있어야 합니다. 자세한 내용은 Git 리포지토리 권한 설정을 참조 하세요.
- az repos 명령을 사용하려면 Azure DevOps CLI 시작의 단계를 따라야 합니다.
- 정책을 구성하려면 프로젝트 관리자 보안 그룹의 구성원이거나 리포지토리 수준 편집 정책 권한이 있어야 합니다. 자세한 내용은 Git 리포지토리 권한 설정을 참조 하세요.
설정 및 정책 보기 및 편집
조직 또는 프로젝트의 모든 리포지토리 또는 개별 리포지토리에 대한 설정을 구성할 수 있습니다. 모든 리포지토리, 개별 리포지토리 또는 리포지토리의 지정된 분기에 대한 정책을 구성할 수 있습니다. 분기 정책 설정에 대한 자세한 내용은 분기 정책을 참조 하세요.
참고 항목
프로젝트 수준 또는 개별 리포지토리에 대해 리포지토리 설정을 구성하는 것이 가장 좋지만 둘 다 구성하지는 않습니다. 둘 이상의 수준에서 설정을 구성하는 경우 시스템은 가장 제한적인 설정을 적용합니다. 한 수준에서만 설정을 구성하면 혼란과 Git 성능 문제가 줄어듭니다.
웹 포털을 통해 리포지토리 설정 및 정책을 구성하려면 웹 브라우저에서 프로젝트 설정>리포지토리를 엽니다.
모든 Git 리포지토리에 대한 설정 또는 정책을 보거나 수정하려면 모든 리포지토리 페이지를 열고 설정 또는 정책을 선택합니다.
특정 리포지토리에 대한 설정 및 정책을 구성하려면 리포지토리 탭을 선택하고 리포지토리를 선택한 다음 설정 또는 정책 탭을 선택합니다.
다음 스크린샷은 선택한 설정 탭을 보여줍니다. 모든 Git 리포지토리 또는 개별 리포지토리에 대해 이러한 설정을 정의할 수 있습니다.
다음 스크린샷은 선택한 정책 탭을 보여줍니다. 모든 Git 리포지토리 또는 개별 리포지토리에 대해 이러한 정책을 정의할 수 있습니다.
웹 브라우저에서 프로젝트를 열고 프로젝트 설정, 리포지토리를 선택하고 리포지토리를 선택합니다.
리포지토리 설정을 보고 구성하려면 옵션 또는 정책을 선택합니다.
다음 스크린샷은 모든 리포지토리에 대한 옵션을 보여줍니다.
다음 스크린샷은 Fabrikam 리포지토리에 대한 옵션을 보여줍니다.
기본 분기 이름
조직 또는 프로젝트 수준에서 기본 리포지토리 분기 이름을 설정할 수 있습니다. 조직 수준 설정은 조직의 모든 프로젝트에서 모든 새 리포지토리에 적용됩니다. 프로젝트 수준 설정은 프로젝트의 모든 새 리포지토리에 영향을 미치며 조직 수준에서 설정된 모든 이름을 대체합니다.
마케팅 목록의 구성원을 관리할 수 있습니다.
- 리포지토리가 초기화될 때 사용할 법적 분기 이름을 선택합니다.
- 이후의 모든 리포지토리에 영향을 주도록 언제든지 기본 이름을 변경합니다.
- 특정 리포지토리의 기본 분기 이름을 언제든지 변경합니다.
기본 분기 이름 기능을 사용하도록 설정하지 않으면 리포지토리가 Azure Repos 기본 분기 이름으로 main
초기화됩니다.
조직 수준에서 기본 분기 이름을 설정하려면 다음을 수행합니다.
- Azure DevOps 조직 페이지에서 왼쪽 아래에 있는 조직 설정을 선택한 다음 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
- 모든 리포지토리 페이지에서 새 리포지토리의 기본 분기 이름을 켜기로 설정한 다음 기본 분기 이름을 입력합니다.
프로젝트 수준에서 기본 분기 이름을 설정하려면 다음을 수행합니다.
- Azure DevOps 프로젝트 페이지에서 왼쪽 아래에 있는 프로젝트 설정을 선택한 다음 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
- 모든 리포지토리 페이지의 설정 탭에서 새 리포지토리의 기본 분기 이름을 켜기로 설정한 다음 기본 분기 이름을 입력합니다.
참고 항목
새 리포지토리 설정의 기본 분기 이름에는 Azure DevOps Server 2020.1 이상 버전이 필요합니다.
분기 권한 관리
모든 Git 리포지토리 또는 개별 리포지토리에 대한 권한 관리 설정을 설정하여 리포지토리 분기의 사용 권한을 관리할 수 있는 사용자를 제어할 수 있습니다. 사용자가 모든 리포지토리 수준에서 만든 분기 설정에 대한 사용 권한을 관리할 수 있도록 허용하면 사용자가 만든 분기에 대한 사용 권한을 관리할 수 있도록 모든 새 프로젝트 리포지토리가 구성됩니다.
이 설정을 관리하려면 다음을 수행합니다.
- Azure DevOps 프로젝트 페이지에서 왼쪽 아래에 있는 프로젝트 설정을 선택한 다음 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
- 모든 리포지토리 페이지의 설정 탭에서 사용자가 만든 분기의 사용 권한을 켜거나 끄도록 허용을 설정합니다.
개별 리포지토리에 대해 이 설정을 사용하거나 사용하지 않도록 설정하려면:
- 프로젝트 설정>리포지토리를 선택한 다음, 리포지토리를 선택합니다.
- 리포지토리 이름> 페이지의 설정 탭에서< 사용 권한 관리를 설정 또는 해제로 설정합니다.
Gravatar 이미지
이 설정은 엔터프라이즈 외부 사용자에 대해 Gravatar 이미지 사용을 사용하거나 사용하지 않도록 설정합니다.
Gravatar 이미지는 조직 수준 설정입니다.
- Azure DevOps 조직 페이지에서 왼쪽 아래에 있는 조직 설정을 선택한 다음 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
- 모든 리포지토리 페이지에서 Gravatar 이미지를 켜기 또는 해제로 설정합니다.
Gravatar 이미지는 모든 리포지토리에 대한 프로젝트 수준 설정입니다.
- Azure DevOps 프로젝트 페이지에서 왼쪽 아래에 있는 프로젝트 설정을 선택한 다음 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
- 모든 리포지토리 페이지의 설정 탭에서 Gravatar 이미지를 설정 또는 해제로 설정합니다.
Gravatar 이미지는 모든 리포지토리에 대한 프로젝트 수준 설정입니다.
- Azure DevOps 프로젝트 페이지에서 왼쪽 아래에 있는 프로젝트 설정을 선택한 다음 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
- 모든 리포지토리 페이지의 설정 탭에서 Gravatar 이미지를 설정 또는 해제로 설정합니다.
포크 사용
이 리포지토리 설정은 사용자가 새 서버 쪽 포크를 만들 수 있는지 여부를 제어합니다. 이 설정을 사용하지 않도록 설정해도 기존 포크가 제거되지는 않습니다.
- 프로젝트 설정에서 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
- 모든 리포지토리 페이지의 리포지토리 탭에서 리포지토리를 선택합니다.
- 리포지토리 이름> 페이지의 설정 탭에서< 포크를 설정 또는 해제로 설정합니다.
작업 항목 연결 설정
이러한 리포지토리 설정은 작업 항목 연결을 관리합니다.
- 프로젝트 설정>리포지토리를 선택한 다음, 리포지토리를 선택합니다.
- 리포지토리 이름> 페이지의 설정 탭<에서 설정을 켜거나 끕니다.
멘션 연결 커밋
사용하도록 설정하면 유효한 작업 항목 ID가 포함된 #
커밋 메시지 커밋을 해당 작업 항목에 자동으로 연결합니다. 리포지토리에서 이전에 다른 계정 또는 서비스를 사용한 경우 이 설정을 사용하지 않도록 설정합니다. 이러한 리포지토리에는 현재 계정의 작업 항목 ID와 #
일치하지 않는 멘션이 있는 커밋 메시지 있을 수 있습니다.
커밋 멘션 작업 항목 확인
연결된 끌어오기 요청이 완료되면 작업 항목을 자동으로 완료하려면 이 설정을 사용하도록 설정합니다. 이 설정을 사용하면 끌어오기 요청 커밋 메시지 다른 작업 항목 전환 상태를 지정할 수도 있습니다. 자세한 내용은 끌어오기 요청을 사용하여 작업 항목 자동 완성을 참조 하세요.
커밋 멘션 작업 항목 확인
PR을 성공적으로 완료하면 해당 작업 항목을 자동으로 완료하려면 이 설정을 사용하도록 설정합니다. 자세한 내용은 끌어오기 요청을 사용하여 작업 항목 자동 완성을 참조 하세요.
작업 항목 전환 기본 설정
기본적으로 끌어오기 요청 완료 중에 연결된 작업 항목을 완료하는 옵션은 각 사용자의 마지막 선택을 기억합니다. 사용자가 끌어오기 요청으로 작업 항목을 완료하지 못하게 하려는 팀은 이 설정을 사용하지 않도록 설정할 수 있습니다. 그런 다음 사용자는 끌어오기 요청을 완료할 때마다 작업 항목을 완료하도록 옵트인해야 합니다.
엄격한 투표 모드 설정
특정 상황에서 리포지토리에 기여하지 않는 사용자는 정책에 따라 끌어오기 요청을 제출하여 병합할 수 있습니다. 이러한 가능성을 방지하려면 엄격한 투표 모드를 사용하도록 설정하여 참여에 대한 리포지토리 끌어오기 요청에 투표하는 데 필요한 권한을 변경합니다. Azure Repos에서 사용자 포크를 사용하는 경우 이 설정을 사용하는 것이 좋습니다.
- 프로젝트 설정>리포지토리를 선택한 다음, 리포지토리를 선택합니다.
- 리포지토리 이름> 페이지의 설정 탭에서< 엄격한 투표 모드를 설정 또는 해제로 설정합니다.
리포지토리 설정 사용 안 함
이 설정을 사용하면 빌드 및 끌어오기 요청을 포함하여 리포지토리에 대한 액세스를 사용하지 않도록 설정하지만 경고와 함께 리포지토리를 검색할 수 있게 유지합니다.
- 프로젝트 설정>리포지토리를 선택한 다음, 리포지토리를 선택합니다.
- 리포지토리 이름> 페이지의 설정 탭<에 있는 리포지토리 사용 안 함에서 리포지토리 사용 안 함 설정을 설정하거나 해제합니다.
검색 가능한 분기 설정
기본적으로 파일의 코드 검색은 기본 분기만 적용됩니다. 검색할 분기를 최대 5개까지 추가할 수 있습니다.
Important
리포지토리에서 코드를 검색하려면 Marketplace 코드 검색 확장을 설치해야 합니다. 리포지토리 설정 탭에 검색 가능한 분기가 표시되지 않으면 확장이 설치되어 있는지 확인합니다.
코드 검색을 위한 분기를 추가하려면 다음을 수행합니다.
- 프로젝트 설정>리포지토리를 선택한 다음, 리포지토리를 선택합니다.
- 리포지토리 이름> 페이지의 설정 탭<에서 검색 가능한 분기를 + 선택합니다.
- 검색에 포함할 분기를 선택한 다음 분기 추가를 선택합니다.
교차 리포지토리 분기 정책
프로젝트의 모든 리포지토리에서 특정 분기 이름 또는 기본 분기 정책을 설정할 수 있습니다. 예를 들어 모든 프로젝트 리포지토리에 대한 모든 main
분기의 모든 끌어오기 요청에 대해 최소 검토자 두 명이 필요할 수 있습니다.
프로젝트 전체에서 특정 또는 기본 분기 이름을 보호하는 정책을 설정하려면 다음을 수행합니다.
프로젝트 설정에서 왼쪽 탐색 영역에서 리포지토리를 선택합니다.
모든 리포지토리 페이지에서 정책 탭을 선택합니다.
페이지 아래쪽에서 더하기 로그인 + 분기 정책을 선택합니다.
분기 보호 추가 화면에서 각 리포지토리의 기본 분기 보호 또는 지정된 패턴과 일치하는 현재 및 이후 분기를 보호합니다.
두 번째 옵션을 선택하는 경우 보호할 분기 이름을 입력합니다. 정보 메시지를 통해 영향을 받는 현재 분기 수를 알 수 있습니다. 분기 이름(또는 입력한 패턴)은 대/소문자를 구분합니다. 분기 이름을 보호하기 위해 분기가 아직 존재하지 않아도 됩니다.
만들기를 실행합니다.
분기 이름> 페이지의 리포지토리 간 정책<에서 보호된 분기 대해 원하는 정책을 설정합니다. 분기 정책에 대한 자세한 내용은 분기 정책을 참조하세요.
작성자 이메일 유효성 검사 정책 커밋
이 정책은 이메일 주소가 패턴과 일치하지 않는 커밋 작성자 리포지토리에 대한 커밋을 차단합니다.
프로젝트 설정>리포지토리를 선택하고 해당 리포지토리만 구성하려면 리포지토리를 선택합니다.
모든 리포지토리 또는< 리포지토리 이름> 페이지의 정책 탭에 있는 리포지토리 정책에서 작성자 전자 메일 유효성 검사 커밋을 설정하거나 해제합니다.
정책을 켜면 일치시킬 전자 메일 주소 또는 주소를 지정합니다.
정확한 이메일 주소를 지정하거나 와일드카드를 사용할 수 있습니다. 여러 전자 메일 패턴의 구분 기호로 사용합니다
;
. 접두사로 접두사로 지정된!
전자 메일 패턴은 제외됩니다. 순서가 중요합니다.
파일 경로 유효성 검사 정책
패턴과 일치하는 파일 경로에서 리포지토리에 대한 커밋을 방지하는 정책을 설정할 수 있습니다.
프로젝트 설정>리포지토리를 선택하고 해당 리포지토리만 구성하려면 리포지토리를 선택합니다.
모든 리포지토리 또는 <리포지토리 이름> 페이지의 정책 탭에 있는 리포지토리 정책에서 파일 경로 유효성 검사를 설정하거나 해제합니다.
정책을 켜면 차단할 경로 또는 경로를 지정합니다.
정확한 경로 및 와일드카드를 지정할 수 있습니다. 정확한 경로는 .로
/
시작합니다. 구분 기호로 사용하여;
여러 경로를 지정할 수도 있습니다. 접두사로 접두사로!
지정된 경로는 제외됩니다. 순서가 중요합니다.
사례 적용 정책
Git은 대/소문자를 구분하므로 Foo.txt 파일이 foo.txt 파일과 다릅니다. 그러나 Windows와 macOS는 기본적으로 대/소문자를 구분하지 않는 파일 시스템으로 설정됩니다. 즉, Foo.txt 및 foo.txt 동일한 이름입니다. 대/소문자를 구분하지 않는 시스템의 누군가가 문자 대/소문자만 다른 파일, 폴더, 분기 또는 태그를 푸시하는 경우 이러한 불일치로 인해 문제가 발생할 수 있습니다. 자세한 내용은 Git 플랫폼 간 호환성을 참조 하세요.
대부분의 참가자가 Windows 또는 macOS에 있는 경우 사례 적용 정책을 사용하도록 설정하는 것이 가장 좋습니다. 케이스 적용은 File.txt 및 file.txt 고유한 기본 대/소문자 구분 모드에서 File.txt 및 file.txt 동일한 파일로 간주되는 Windows 및 macOS 친화적인 모드로 서버를 전환합니다. 이 설정은 파일, 폴더, 분기 및 태그에 영향을 줍니다.
이 설정은 기여자가 사례 전용 차이점을 도입하지 못하도록 합니다. 이 설정은 파일, 폴더, 분기 및 태그에서 이름 대/소문자를 변경하는 푸시를 차단하여 대/소문자 구분 충돌을 방지합니다. 사용자는 게시되지 않은 기록을 다시 작성하여 문제를 해결한 다음 푸시를 다시 시도해야 합니다.
이 설정은 대/소문자만 다른 개체를 이미 포함하는 리포지토리를 수정하지 않습니다. 정책을 켜기 전에 이러한 문제를 해결하는 것이 가장 좋습니다. 파일 및 폴더의 이름을 바꾸거나 분기 및 태그를 다시 만들어 충돌하지 않는 이름을 사용합니다.
사례 적용 정책을 설정하려면 다음을 수행합니다.
- 프로젝트 설정>리포지토리를 선택하고 해당 리포지토리만 구성하려면 리포지토리를 선택합니다.
- 모든 리포지토리 또는 <리포지토리 이름> 페이지의 정책 탭에 있는 리포지토리 정책에서 사례 적용을 설정 또는 해제로 설정합니다.
예약된 이름 정책
Windows, macOS 및 Linux의 세 가지 주요 OS 파일 시스템에서는 모든 파일 이름이 허용되지 않습니다. 공유 리포지토리에 대한 커밋에는 하나 이상의 플랫폼에서 유효하지 않은 파일 또는 폴더 이름이 포함될 수 있습니다. 이러한 플랫폼에서 잘못된 파일 또는 폴더를 가져오고 체크 아웃하면 작업 디렉터리를 손상할 수 있습니다. 자세한 내용은 Git 플랫폼 간 호환성을 참조 하세요.
파일 및 폴더 이름에 제한을 두는 정책을 사용하거나 사용하지 않도록 설정할 수 있습니다. 예약된 이름 설정 블록은 모든 플랫폼에서 잘못된 파일 또는 폴더 이름을 포함하는 리포지토리로 푸시됩니다. 잘못된 이름을 확인하려면 Git 플랫폼 간 호환성을 참조 하세요.
예약된 이름 정책을 설정하려면 다음을 수행합니다.
- 프로젝트 설정>리포지토리를 선택하고 해당 리포지토리만 구성하려면 리포지토리를 선택합니다.
- 모든 리포지토리 또는< 리포지토리 이름> 페이지의 정책 탭에 있는 리포지토리 정책에서 예약된 이름을 설정 또는 해제로 설정합니다.
최대 경로 길이 정책
Windows, macOS 및 Linux의 세 가지 주요 OS 파일 시스템에서는 모든 경로 길이가 허용되지 않습니다. 공유 리포지토리에 대한 커밋에는 하나 이상의 플랫폼에서 유효하지 않은 경로 길이가 있는 파일 또는 디렉터리를 포함할 수 있습니다. 이러한 파일 또는 디렉터리를 잘못된 플랫폼에서 가져오고 체크 아웃하면 작업 디렉터리를 손상할 수 있습니다. 자세한 내용은 Git 플랫폼 간 호환성을 참조 하세요.
최대 경로 길이 설정 블록은 모든 플랫폼에서 잘못된 경로 길이를 가진 파일 또는 디렉터리를 포함하는 푸시를 차단합니다. 잘못된 경로 길이를 확인하려면 Git 플랫폼 간 호환성을 참조 하세요. 이 설정을 사용하면 세 가지 주요 플랫폼에서 최대 길이가 100% 지원되므로 기본 최대값 248
이 사용됩니다.
최대 경로 값을 수정할 수 있습니다. 예를 들어 조직에 macOS 또는 Linux 개발자만 있는 경우 최대 길이를 두 플랫폼에서 지원되는 값으로 설정하도록 선택할 수 있습니다 1016
. 조직의 디렉터리 명명 규칙을 적용하기 위해 더 낮은 최대 경로 값을 설정하도록 선택할 수도 있습니다.
최대 경로 길이 정책을 설정하려면 다음을 수행합니다.
- 프로젝트 설정>리포지토리를 선택하고 해당 리포지토리만 구성하려면 리포지토리를 선택합니다.
- 모든 리포지토리 또는 <리포지토리 이름> 페이지의 정책 탭에 있는 리포지토리 정책에서 최대 경로 길이를 설정 또는 해제로 설정합니다.
- 설정을 켜면 최대 경로 길이를 입력합니다.
최대 파일 크기 정책
Git에 체크 인된 큰 파일은 리포지토리에 무기한 남아 복제 시간과 디스크 사용량이 증가합니다. 대용량 파일 관리에 대한 지침은 Git에서 대용량 파일 관리 및 저장을 참조하세요.
최대 파일 크기 정책 설정은 특정 크기의 파일이 리포지토리에 들어가지 못하도록 차단합니다. 푸시에 이 설정에 구성된 제한보다 큰 새 파일 또는 업데이트된 파일이 포함되어 있으면 푸시가 차단됩니다. 사용자가 게시되지 않은 기록을 다시 작성하여 큰 파일을 제거하고 푸시를 다시 시도해야 합니다.
최대 파일 크기 정책을 구성하려면 다음을 수행합니다.
- 프로젝트 설정>리포지토리를 선택하고 해당 리포지토리만 구성하려면 리포지토리를 선택합니다.
- 모든 리포지토리 또는< 리포지토리 이름> 페이지의 정책 탭에 있는 리포지토리 정책에서 최대 파일 크기를 설정 또는 해제로 설정합니다.
- 설정을 설정한 경우 최대 파일 크기를 선택합니다.