Visual Studio의 Git 기본 설정 및 설정
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Visual Studio에서 여러 Git 관련 설정 및 기본 설정을 보고 구성할 수 있습니다. 예를 들어 커밋 메타데이터에 대한 이름 및 전자 메일 주소를 설정하고, 기본 diff 및 병합 도구를 지정하고, 리포지토리 클론에 대한 기본 폴더 경로를 설정할 수 있습니다.
Visual Studio의 Git 설정 및 기본 설정은 다음 두 가지 주요 범주로 구분됩니다.
현재 사용자의 모든 Git 리포지토리에 적용되는 Git 전역 설정 .
Git 리포지토리 설정, 활성 Git 리포지토리에 적용됩니다.
이러한 범주 내에서 설정은 다음과 같습니다.
Visual Studio, 명령줄 또는 Git 구성 파일을 편집하여 Git 구성 파일 설정을보고 수정할 수 있습니다. Git 구성 파일 설정의 예로는 사용자 이름, 전자 메일 주소 및 원격 별칭이 있습니다. Git은 시스템, 전역 및 로컬 Git 구성 파일에 설정을 저장합니다.
시스템 Git 구성 파일 설정은 컴퓨터의 모든 사용자 및 리포지토리에 적용됩니다.
전역 Git 구성 파일 설정은 현재 사용자의 모든 리포지토리에 적용됩니다. 전역 설정이 시스템 설정보다 우선합니다.
로컬 Git 구성 파일 설정은 로컬 Git 구성 파일을 포함하는 로컬 리포지토리에 적용됩니다. 시스템 설정이 전역 설정보다 우선합니다.
Visual Studio Git 관련 설정. Git과 관련이 있지만 Git 구성 파일에 저장되지 않는 Visual Studio 설정입니다. Visual Studio에서만 이러한 설정을 보고 수정할 수 있습니다. 이러한 설정 중 하나의 예는 Visual Studio가 리포지토리를 복제하는 기본 폴더 경로입니다.
이 문서에서는 다음 방법을 알아봅니다.
- Git 설정 탐색
- Git 구성 파일 설정 수정
- Visual Studio Git 관련 설정 수정
필수 조건
카테고리 | 요구 사항 |
---|---|
프로젝트 액세스 | 프로젝트멤버입니다. |
권한 | - 프라이빗 프로젝트에서 코드 보기: 최소 기본 액세스. - 프라이빗 프로젝트의 코드 복제 또는 기여: 기여자 보안 그룹 또는 프로젝트의 해당 사용 권한의 구성원입니다. - 분기 또는 리포지토리 사용 권한 설정: 분기 또는 리포지토리에 대한 사용 권한 사용 권한 관리 - 기본 분기 변경: 리포지토리에 대한 정책 편집 권한 설정. - 리포지토리 가져오기: 프로젝트 관리자 보안 그룹의 구성원이거나, Git 프로젝트 수준에서 리포지토리 만들기 권한이 허용으로 설정된 경우. 자세한 내용은 Git 리포지토리 권한 설정을 참조 하세요. |
서비스 | 리포지토리가 활성화되었습니다. |
도구 | 선택 사항. az repos 명령어를 사용하세요: Azure DevOps CLI. |
비고
퍼블릭 프로젝트에서 이해 관계자 액세스 권한이 있는 사용자는 코드 보기, 복제 및 기여를 포함하여 Azure Repos에 대한 모든 권한을 갖습니다.
카테고리 | 요구 사항 |
---|---|
프로젝트 액세스 | 프로젝트멤버입니다. |
권한 | - 코드 보기: 최소 베이직 접근 권한. - 코드 복제 또는 기여: 기여자 보안 그룹의 구성원이거나 프로젝트에서 해당 권한을 가진 경우. |
서비스 | 리포지토리가 활성화되었습니다. |
Git 설정 탐색
Visual Studio 2022는 Git 메뉴, Git 변경 내용 및 솔루션 탐색기 상황에 맞는 메뉴를 사용하여 Git 버전 제어 환경을 제공합니다. Visual Studio 2019 버전 16.8은 팀 탐색기 Git 사용자 인터페이스도 제공합니다. 자세한 내용은 Visual Studio 2019 - 팀 탐색기 탭을 참조하세요.
Git 구성 파일 설정 수정
Visual Studio에서 또는 해당 Git 구성 파일을 직접 편집하여 Git 구성 설정을 보고 편집할 수 있습니다. Git 구성 파일 설정에 대한 자세한 내용은 Git 사용자 지정 및 git-config 설명서를 참조하세요. 다음 섹션에서는 나열된 각 Git 구성 파일 설정을 편집하는 방법에 대해 설명합니다.
- 이름 및 전자 메일
- 인출 동안 원격 분기 정리
- 로컬 분기를 리베이스하여 가져오기
- 암호화 네트워크 공급자
- Diff 및 병합 도구
- 리모컨
- 기타 설정
이름 및 전자 메일
변경 내용을 커밋할 경우 Git은 커밋 메타데이터에 이름과 전자 메일 주소를 추가합니다. Git에서 사용할 이름 및 전자 메일 주소를 편집할 수 있습니다.
이름 및 전자 메일 설정은 전역 또는 리포지토리 범위에서 사용할 수 있습니다.
Git 메뉴에서 Git > 설정 선택한 다음 Git 전역 설정 보기를 선택합니다. 해당 보기에는 현재 사용자의 이름 및 전자 메일 설정이 포함됩니다.
또는 Git 리포지토리 설정 > 일반 선택하여 현재 Visual Studio 프로젝트 리포지토리의 이름 및 전자 메일 설정을 편집합니다.
가져오는 동안 원격 분기를 정리하기
로컬 리포지토리에서 더 이상 해당 원격 리포지토리에 존재하지 않는 부실 원격 추적 분기를 제거하기 위해 모든 인출 중에 원격 분기를 정리하도록 Git에 지시할 수 있습니다.
Git 메뉴에서 Git > 설정 선택한 다음 Git 전역 설정 보기를 선택합니다. 해당 보기에는 현재 사용자에 대해 인출 시 원격 분기를 삭제하는 옵션 및 옵션이 포함됩니다.
또는 Git 리포지토리 설정 > 일반 선택하여 현재 Visual Studio 프로젝트 리포지토리에 대한 페치 설정 중에 정리 원격 분기를 편집합니다.
유효한 값은 다음과 같습니다.
-
True
(권장) False
-
Unset
(기본값)
풀링할 때 로컬 브랜치를 리베이스하기
원격 분기 기록 위에 있는 로컬 분기의 변경 내용을 재생하도록 끌어당길 때 로컬 분기의 다시 선택할 수 있습니다.
로컬 분기를 리베이스할 때, 설정은 git config pull.rebase
명령에 해당합니다. 전역 또는 리포지토리 범위에서 이 설정을 지정할 수 있습니다.
Git 메뉴에서 Git > 설정 선택한 다음 Git 전역 설정 보기를 선택합니다. 그 뷰에는 현재 사용자가 옵션을 가져올 때 로컬 브랜치의 리베이스가 포함됩니다.
또는 Git 리포지토리 설정 > 일반 선택하여 현재 Visual Studio 프로젝트 리포지토리에 대한 옵션을 끌어오면 로컬 분기를 편집합니다.
유효한 값은 다음과 같습니다.
-
True
: 인출 후 원격 분기 위에 현재 분기를 다시 지정합니다. -
False
: 원격 분기를 현재 분기에 병합합니다. -
Merges
: 로컬로 만든 병합 커밋을 평면화하지 않고 다시베이스합니다. -
Unset
(기본값): Git 구성 파일에서 달리 지정하지 않는 한 원격 분기를 현재 분기에 병합합니다.
암호화 네트워크 공급자
암호화 네트워크 공급자를 Git이 런타임에 사용할 TLS/SSL 백 엔드로 지정할 수 있습니다.
암호화 네트워크 공급자 설정은 git config http.sslBackend
명령에 해당합니다. 이 설정은 전역 범위에서만 사용할 수 있습니다.
Git 메뉴에서 Git > 설정 선택한 다음 Git 전역 설정 보기를 선택합니다. 해당 보기에는 현재 사용자에 대한 암호화 네트워크 공급자 옵션이 포함되어 있습니다.
유효한 값은 다음과 같습니다.
자격 증명 도우미
Visual Studio에서 원격 Git 작업을 수행하는 경우 원격 엔드포인트는 요청에 대한 자격 증명이 필요하기 때문에 요청을 거부할 수 있습니다. 이 경우 Git은 자격 증명 도우미를 호출하여 필요한 자격 증명을 가져온 다음 요청을 다시 시도합니다. Git에서 사용할 자격 증명 도우미를 지정할 수 있습니다.
자격 증명 도우미 설정은 git config credential.helper
명령에 해당합니다. 이 설정은 전역 범위에서만 사용할 수 있습니다.
유효한 값은 다음과 같습니다.
-
GCM for Windows
: Windows Git 자격 증명 관리자를 도우미로 사용합니다. -
GCM Core
: Git Credential Manager Core 도우미로 사용합니다. -
Unset
(기본값): 이 설정이 설정되지 않은 경우 시스템 구성에 설정된 자격 증명 도우미가 사용됩니다. Windows 2.29용 Git을 기준으로 기본 자격 증명 도우미는GCM Core
.
Diff 및 병합 도구
Git에서 차이 또는 병합 충돌을 표시하는 데 사용할 도구를 지정할 수 있습니다.
diff 및 병합 도구 설정은 git config diff.tool
및 git config merge.tool
명령에 해당합니다. Visual Studio를 병합 도구나 차이 도구로 설정하거나 Git 명령줄에서 다른 차이 및 병합 도구를 구성할 수 있습니다. 전역 또는 리포지토리 범위에서 diff 및 병합 도구 설정을 지정할 수 있습니다.
Git 메뉴에서 Git > 설정 선택한 다음 Git 전역 설정 보기를 선택합니다. 해당 보기에는 diff 및 병합 도구 설정이 포함됩니다.
diff 및 병합 도구 설정을 원하는 값으로 설정하고 확인 선택하여 저장합니다.
또는 Git 리포지토리 설정 > 일반 선택하여 현재 Visual Studio 프로젝트 리포지토리에 대한 diff 및 병합 도구 설정을 편집합니다.
유효한 비교 및 병합 도구는 다음과 같습니다:
Visual Studio
-
None
(기본값)
다른 diff 및 병합 도구 설정을 구성하려면 Git 명령줄사용합니다.
리모트
Git 리포지토리 설정 아래의 원격 창에서 리포지토리의 원격을 추가, 편집 또는 제거할 수 있습니다. 이 설정은 git remote add
명령에 해당합니다.
원격 창은 리포지토리 범위에서만 사용할 수 있습니다.
원격 리포지토리를 복제할 때 Git은 복제한 원격 리포지토리의 URL에 대한 약식으로 별칭 origin
을 할당합니다. 편의를 위해, 당신이 포크한 저장소의 업스트림 저장소에 해당하는 별칭으로 upstream
을 추가할 수 있습니다. 다음 단계에서는 별칭을 추가하는 upstream
방법을 설명합니다.
Visual Studio에서 별칭을 추가 upstream
하려면 다음 단계를 수행합니다.
메뉴 모음에서 도구 > 옵션을 선택하여 옵션 창을 엽니다. 소스 제어 > Git 리포지토리 설정 > 원격을 선택하고, 추가를 선택하여 원격 추가 대화 상자를 엽니다.
원격 추가 대화 상자에서 새 원격을 추가하고, 포크한 리포지토리의 Git 복제 URL을 입력합니다. 이 원격은
upstream
라는 이름으로 설정됩니다. 그런 다음 저장을 선택합니다.
기타 설정
다른 모든 Git 구성 설정을 보려면 Git 구성 파일을 직접 열고 보거나 git config --list
실행하여 설정을 표시할 수 있습니다.
Visual Studio Git 관련 설정 수정
다음 설정은 Visual Studio에서 Git 관련 기본 설정을 관리합니다. Visual Studio 내에서만 이러한 설정을 보고 편집할 수 있습니다.
- 기본 리포지토리 위치
- 리포지토리 열 때 Git 아래에 없는 열린 솔루션을 닫습니다.
- 타사 소스에서 작성자 이미지 다운로드 가능하도록 설정
- 기본적으로 병합 후 변경 내용 커밋
- 푸시 --force-with-lease 활성화
- Git 리포지토리 열 때 솔루션 탐색기에서 폴더 열기
- Git 리포지토리 열 때 솔루션을 자동으로 로드합니다.
- 두 번 클릭하거나 Enter 키를 눌러 브랜치를 자동으로 체크아웃합니다.
- Git 무시 및 특성 파일 편집
Visual Studio Git 관련 설정에 액세스하는 방법에 대한 자세한 내용은 Git 설정 탐색을 참조하세요. 다음으로 이러한 각 Visual Studio Git 관련 설정을 편집하는 방법에 대해 설명합니다.
기본 리포지토리 위치
Visual Studio에서 리포지토리를 복제할 기본 리포지토리 폴더를 설정할 수 있습니다.
기본 리포지토리 위치 설정은 전역 범위에서만 사용할 수 있습니다.
리포지토리를 열 때 Git 아래에 없는 열린 솔루션 닫기
기본적으로 Visual Studio는 다른 리포지토리로 전환할 때 Git 리포지토리의 열려 있는 솔루션 또는 폴더를 닫습니다. 리포지토리 설정을 열 때 Git 아래에 없는 열린 솔루션을 닫으면 열려 있는 솔루션 또는 폴더가 선택한 리포지토리와 일치하게 유지됩니다. 그러나 솔루션 또는 폴더가 리포지토리 내에 없는 경우 리포지토리를 전환할 때 솔루션을 열어 두는 것이 좋습니다. 이 설정을 사용하여 이 작업을 수행할 수 있습니다.
팁 (조언)
이 설정을 Git 리포지토리를 열 때 자동으로 솔루션 로드기능과 함께 사용하면, Visual Studio는 전환하려는 Git 리포지토리의 솔루션을 엽니다.
리포지토리 설정을 열 때 Git에 없는 열린 솔루션을 닫는 것은 전역 범위에서만 사용할 수 있습니다.
유효한 값은 다음과 같습니다.
-
Yes
: 리포지토리를 전환하면 Visual Studio에서 열려 있는 솔루션을 닫습니다. -
No
: 리포지토리를 전환하고 현재 솔루션 또는 폴더가 Git 아래에 없으면 Visual Studio에서 솔루션 또는 폴더를 열어 둡히게 됩니다. -
Always ask
(기본값): 리포지토리를 전환하고 현재 솔루션 또는 폴더가 Git 아래에 없으면 Visual Studio에서 현재 솔루션을 열어 둘지 여부를 묻습니다.
타사 원본에서 작성자 이미지 다운로드 사용
사용하도록 설정하면 Visual Studio는 커밋 및 기록 보기에 표시하기 위해 Gravatar 이미지 서비스 만든 이미지를 다운로드합니다. Gravatar 이미지를 구성하지 않은 경우 Gravatar 이미지 서비스는 임의로 생성된 이미지를 반환합니다.
중요합니다
커밋 및 기록 보기에서 작성자 이미지를 제공하기 위해 Visual Studio는 활성 리포지토리에 저장된 작성자 이메일 주소를 사용하여 MD5 해시를 만들고 해당 해시를 Gravatar로 보냅니다. Gravatar가 일치하는 해시가 있는 사용자를 찾으면 Visual Studio에서 사용자의 이미지를 검색하고 표시합니다. Microsoft는 Gravatar 또는 다른 타사와 전자 메일 주소를 기록하거나 공유하지 않습니다.
타사 원본에서 작성자 이미지 다운로드 사용 설정은 전역 범위에서만 사용할 수 있습니다.
기본적으로 병합 후 변경 내용 커밋
기본적으로 커밋 변경 내용이 병합되도록을 사용하면 Git은 브랜치 병합 시 자동으로 새 커밋을 만듭니다.
- 이 옵션을 선택하면 Visual Studio에서 실행된 모든
git merge
명령이--commit
옵션으로 실행됩니다. - 선택을 취소하면 Visual Studio에서 실행된 모든
git merge
명령이--no-commit --no-ff
옵션으로 실행됩니다.
이러한 병합 옵션에 대한 자세한 내용은 --commit 및 --no-commit 및 --no-ff참조하세요.
커밋은 기본적으로 병합 후 변경 설정은 전역 범위에서만 사용할 수 있습니다.
푸시 --force-with-lease 명령을 활성화
이 설정을 사용하도록 설정하면 원격 분기에서 작업을 덮어쓰는 변경 내용을 푸시할 수 있습니다( 마지막 끌어오기 이후 원격 분기에 푸시한 다른 사용자가 없는 경우).
푸시 강제 사용 --force-with-lease 옵션은 push --force-with-lease
명령에 해당합니다. 이 설정은 전역 범위에서만 사용할 수 있습니다. 기본적으로 push --force-with-lease 명령은 비활성화되어 있습니다.
Git 리포지토리를 열 때 솔루션 탐색기에서 폴더 열기
사용하도록 설정하고 Visual Studio에서 Git 리포지토리를 열면 Visual Studio에서 솔루션, CMakeLists.txt또는 기타 보기 파일을 리포지토리 폴더를 검색하여 솔루션 탐색기에서 목록으로 표시합니다. 그런 다음 솔루션을 로드하거나 폴더의 내용을 볼 수 있습니다. 이 설정은 기본적으로 사용하도록 설정됩니다.
사용하지 않도록 설정되고 Visual Studio에서 Git 리포지토리를 열면 Visual Studio는 솔루션 탐색기에서 리포지토리 폴더를 열지 않으며 Git 리포지토리 관리자일 뿐입니다.
Git 리포지토리를 열 때 솔루션 자동 로드
Git 리포지토리 설정을 열 때 솔루션을 자동으로 로드하는 것은 Git 리포지토리 설정을 열 때 솔루션 탐색기에서 열기 폴더도 사용하도록 설정된 경우에만 적용됩니다. Visual Studio에서 Git 리포지토리를 열고 후속 폴더 검사에서 리포지토리에 솔루션이 하나만 있음을 감지하면 Visual Studio에서 해당 솔루션을 자동으로 로드합니다. 이 설정을 해제하면 솔루션 탐색기는 보기 목록의 리포지토리에 있는 단일 솔루션을 표시하지만 솔루션을 로드하지는 않습니다. 이 설정은 기본적으로 사용하지 않도록 설정됩니다.
더블클릭하거나 Enter 키를 사용하여 브랜치를 자동으로 체크 아웃할 수 있습니다.
Git 리포지토리 창에는 트리 구조에 표시되는 분기 목록이 있습니다. 분기를 선택하여 커밋 기록 창을 전환하여 해당 분기에 대한 커밋을 표시합니다. 브랜치를 체크아웃하려면 마우스 오른쪽 단추를 클릭하여 상황에 맞는 메뉴를 열고 체크아웃을 선택합니다. 두 번 클릭하거나 Enter 키 설정이 활성화된 경우, 분기를 자동으로 체크 아웃하려면 두 번 클릭하거나 Enter 키를 선택하여 분기를 체크 아웃하고 커밋을 표시할 수 있습니다.
Git 무시 및 특성 파일 편집
Visual Studio는 리포지토리의 루트에서 gitignore 및 gitattributes 파일을 빠르게 추가하거나 편집할 수 있는 방법을 제공합니다.
gitignore
또는 gitattributes
파일을 추가하거나 편집하는 옵션은 리포지토리 범위에서만 사용할 수 있습니다.
.gitignore
및 .gitattributes
파일을 구성하는 방법에 대한 자세한 내용은 gitignore 및 gitattributes참조하세요.