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 Global 설정.
활성 Git 리포지토리에 적용되는 Git 리포지토리 설정.
이러한 범주 내에서 설정은 다음과 같습니다.
Visual Studio, 명령줄 또는 Git 구성 파일을 편집하여 보고 수정할 수 있는 Git 구성 파일 설정입니다. Git 구성 파일 설정의 예로는 사용자 이름, 전자 메일 주소 및 원격 별칭이 있습니다. Git은 시스템, 전역 및 로컬 Git 구성 파일에 설정을 저장합니다.
시스템 Git 구성 파일 설정은 컴퓨터의 모든 사용자 및 리포지토리에 적용됩니다.
전역 Git 구성 파일 설정은 현재 사용자의 모든 리포지토리에 적용됩니다. 전역 설정이 시스템 설정보다 우선합니다.
로컬 Git 구성 파일 설정은 로컬 Git 구성 파일을 포함하는 로컬 리포지토리에 적용됩니다. 시스템 설정이 전역 설정보다 우선합니다.
Git과 관련이 있지만 Git 구성 파일에 저장되지 않는 Visual Studio 설정인 Visual Studio Git 관련 설정입니다. Visual Studio에서만 이러한 설정을 보고 수정할 수 있습니다. 이러한 설정 중 하나의 예는 Visual Studio가 리포지토리를 복제하는 기본 폴더 경로입니다.
이 문서에서는 다음 방법을 알아봅니다.
- Git 설정 탐색
- Git 구성 파일 설정 수정
- Visual Studio Git 관련 설정 수정
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 구성 파일 설정을 편집하는 방법에 대해 설명합니다.
이름 및 이메일
변경 내용을 커밋하면 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 전역 설정 보기를 선택합니다. 현재 사용자에 대한 옵션을 끌어당기는 경우 해당 뷰에 Rebase 로컬 분기가 포함됩니다.
또는 Git 리포지토리 설정 일반을 선택하여 현재 Visual Studio 프로젝트 리포지토리에 대한 옵션을 끌어오면 로컬 분기를 편집합니다. >
유효한 값은 다음과 같습니다.
True
: 인출 후 원격 분기 위에 현재 분기를 다시 지정합니다.False
: 원격 분기를 현재 분기에 병합합니다.Merges
: 로컬로 만든 병합 커밋을 평면화하지 않고 다시 기반합니다.Unset
(기본값): Git 구성 파일에서 달리 지정하지 않는 한 원격 분기를 현재 분기에 병합합니다.
암호화 네트워크 공급자
암호화 네트워크 공급자를 Git이 런타임에 사용할 TLS/SSL 백 엔드로 지정할 수 있습니다.
암호화 네트워크 공급자 설정은 명령에 해당합니다git config http.sslBackend
. 이 설정은 전역 범위에서만 사용할 수 있습니다.
Git 메뉴에서 Git > 설정 선택한 다음 Git 전역 설정 보기를 선택합니다. 해당 보기에는 현재 사용자에 대한 암호화 네트워크 공급자 옵션이 포함되어 있습니다.
유효한 값은 다음과 같습니다.
OpenSSL
: TLS 및 SSL 프로토콜에 OpenSSL을 사용합니다.Secure Channel
: TLS 및 SSL 프로토콜에 보안 채널을 사용합니다. 보안 채널은 암호화를 통해 ID 인증 및 보안 개인 통신을 제공하는 보안 프로토콜 집합을 포함하는 네이티브 Windows 솔루션입니다.Unset
(기본값): 이 설정이 설정되지 않은 경우 암호화 네트워크 공급자는 기본적으로 OpenSSL로 설정됩니다.
자격 증명 도우미
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 또는 병합 충돌 표시하는 데 사용할 도구를 지정할 수 있습니다.
diff 및 병합 도구 설정은 및 git config merge.tool
명령에 해당 git config diff.tool
합니다. Visual Studio를 병합 또는 차이 도구로 설정하거나 Git 명령줄에서 다른 diff 및 병합 도구를 구성할 수 있습니다. 전역 또는 리포지토리 범위에서 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 리포지토리 설정 > 원격을 선택한 다음 추가를 선택하여 원격 추가 대화 상자를 엽니다.
원격 추가 대화 상자에서 호출
upstream
된 새 원격을 추가하고 포크한 리포지토리의 Git 복제 URL을 입력합니다. 그런 다음 저장을 선택합니다.
기타 설정
다른 모든 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 이미지 서비스는 임의로 생성된 이미지를 반환합니다.
Important
커밋 및 기록 보기에서 작성자 이미지를 제공하기 위해 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를 참조하세요.
기본적으로 병합 후 변경된 커밋은 전역 범위에서만 사용할 수 있습니다.
push --force-with-lease 사용
이 설정을 사용하도록 설정하면 원격 분기에서 작업을 덮어쓰는 변경 내용을 푸시할 수 있습니다( 마지막 끌어오기 이후 원격 분기에 푸시한 다른 사용자가 없는 경우).
밀어넣기 --force-with-lease 사용 옵션은 명령에 해당합니다 push --force-with-lease
. 이 설정은 전역 범위에서만 사용할 수 있습니다. 기본적으로 푸시 --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 파일을 추가하거나 편집하는 빠른 방법을 제공합니다.
또는 gitattributes
파일을 추가하거나 편집 gitignore
하는 옵션은 리포지토리 범위에서만 사용할 수 있습니다.
구성 .gitignore
및 .gitattributes
파일에 대한 자세한 내용은 gitignore 및 gitattributes를 참조하세요.