다음을 통해 공유


Visual Studio의 Git 설정 및 기본 설정

Visual Studio에서 이름 및 전자 메일 주소, 기본 diff 및 병합 도구 등과 같은 일반적인 Git 설정 및 기본 설정을 구성하고 볼 수 있습니다. 이러한 설정 및 기본 설정은 Git 전역 설정 페이지(모든 리포지토리에 적용됨) 또는 Git 리포지토리 설정 페이지(현재 리포지토리에 적용됨)의 옵션 대화 상자에서 보고 구성할 수 있습니다.

다음 두 가지 유형의 설정을 구성할 수 있습니다.

  • Git 설정 - 이 섹션의 설정은 Git 구성 파일에 저장된 Git 설정에 해당합니다. 이러한 설정은 Visual Studio에서 보고 수정할 수 있지만 Git 구성 파일에서 관리됩니다.
  • Visual Studio 설정 - 이 섹션의 설정은 Visual Studio에서 관리하는 Git 관련 설정 및 기본 설정을 구성합니다.

설정을 구성하는 방법

  1. Visual Studio에서 Git 설정을 구성하려면 최상위 Git 메뉴에서 설정을 선택합니다.

    설정 명령에 대한 포인터가 있는 Git 메뉴입니다.

    설정 명령에 대한 포인터가 있는 Git 메뉴입니다.

  2. Git 전역 설정 또는 Git 리포지토리 설정을 선택하여 전역 수준 또는 리포지토리 수준 설정을 보고 구성합니다.

    Git 설정에 대한 설명선이 있는 옵션 대화 상자의 탐색 창입니다.

  3. 이 문서의 다음 섹션에 설명된 대로 몇 가지 일반적인 Git 설정을 구성할 수 있습니다. 원하는 설정을 구성한 후 확인을 선택하여 업데이트된 설정을 저장합니다.

    옵션 대화 상자의 표시 영역에 확인 단추에 대한 설명선이 있습니다.

Git 설정

가장 일반적인 Git 구성 설정 중 일부를 구성하고 확인할 수도 있습니다. Git 구성 파일에서 관리되더라도 Visual Studio에서 다음 설정을 보고 수정할 수 있습니다.

비고

Visual Studio의 전역 설정 에 구성된 Git 설정은 Git의 사용자별 구성 파일의 설정에 해당하며 리포지토리 설정 의 설정은 리포지토리별 구성 파일의 설정에 해당합니다. Git 구성에 대한 자세한 내용은 Git 사용자 지정에 대한 Pro Git 장, git 구성 설명서구성 파일에 대한 Pro Git 참조를 참조하세요. Visual Studio에서 노출되지 않는 Git 설정을 구성하려면 다음 명령을 사용하여 git config 구성 파일에 git config [--local|--global|--system] section.key value값을 씁니다.

이름 및 전자 메일

제공한 이름과 이메일은 사용자가 만든 모든 커밋의 커밋 작성자 정보로 사용됩니다. 이 설정은 전역 및 리포지토리 범위 모두에서 사용할 수 있으며 git configuser.email 설정에 해당합니다.

  1. Git 메뉴에서 설정으로 이동합니다. 전역 수준에서 사용자 이름 및 전자 메일을 설정하려면 Git 전역 설정으로 이동합니다. 리포지토리 수준에서 사용자 이름 및 전자 메일을 설정하려면 Git 리포지토리 설정으로 이동합니다.

  2. 사용자 이름과 전자 메일을 입력한 다음 확인을 선택하여 저장 합니다.

    사용자 이름 및 이메일에 대한 주석이 있는 [옵션] 대화 상자의 Git 글로벌 설정 창

가져오는 동안 원격 분기를 정리하기

정리하면 원격에 더 이상 존재하지 않는 원격 추적 분기가 제거되고 분기 목록을 정리하고 최신 상태로 유지하는 데 도움이 됩니다. 이 설정은 전역 및 리포지토리 범위 모두에서 사용할 수 있으며 git config 설정에 해당합니다.

전역 수준에서 이 옵션을 True 로 설정하는 것이 좋습니다. 유효한 설정은 다음과 같습니다.

  • True (권장)
  • 거짓
  • 설정 취소 (기본값)

설정을 변경하는 방법은 다음과 같습니다.

  1. Git 메뉴에서 설정으로 이동합니다. Git 전역 설정으로 이동하여 전역 수준에서 이 옵션을 구성합니다. Git 리포지토리 설정으로 이동하여 리포지토리 수준에서 이 옵션을 구성합니다.

  2. True가져오는 동안 정리 원격 분기를 설정합니다(권장). 확인을 선택하여 저장합니다.

    드롭다운에서 'True'가 선택되고 '인출 중 원격 분기 정리'가 강조 표시된 스크린샷.

풀링할 때 로컬 브랜치를 리베이스하기

리베이스는 업스트림 브랜치에 없는 현재 브랜치의 커밋으로 인한 변경 사항을 임시로 보류하고, 현재 브랜치를 업스트림 브랜치로 재설정한 후, 보류된 변경 사항을 다시 적용합니다. 이 설정은 전역 및 리포지토리 범위 모두에서 사용할 수 있으며 git config 설정에 해당합니다. 유효한 설정은 다음과 같습니다.

  • True: 가져온 후 업스트림 브랜치 위에 현재 브랜치를 리베이스합니다.

  • False: 현재 분기를 업스트림 분기에 병합합니다.

  • 설정 해제 (기본값): 다른 구성 파일에 지정하지 않는 한 현재 분기를 업스트림 분기에 병합합니다.

  • 대화형: 대화형 모드에서 다시베이스합니다.

  • 병합: 로컬로 만든 병합 커밋을 평면화하지 않고 다시베이스합니다.

    비고

    Visual Studio 2022 버전 17.2에서는 Git의 최근 업데이트와 일치하도록 "유지" 설정을 "병합"으로 변경했습니다. 따라서 Git 도구와 함께 이전 버전의 Visual Studio를 사용하는 경우 사용자 인터페이스에서 "병합" 대신 "유지"라고 말할 수 있습니다. 그러나 기능은 동일하게 유지됩니다.

설정을 변경하는 방법은 다음과 같습니다.

  1. Git 메뉴에서 설정으로 이동합니다. Git 전역 설정으로 이동하여 전역 수준에서 이 옵션을 구성합니다. Git 리포지토리 설정으로 이동하여 리포지토리 수준에서 이 옵션을 구성합니다.

  2. 원하는 설정으로 끌어다 놓을 때 로컬 분기 다시베이스 를 설정하고[ 확인 ]을 선택하여 저장합니다.

    드롭다운에서 '가져올 때 로컬 브랜치를 다시 기반화'가 강조 표시되고 '병합'이 선택된 스크린샷.

Visual Studio에서 pull.rebase로 구성할 수 없습니다. Visual Studio에는 대화형 재베이스 지원이 없습니다. 대화형 모드를 사용하도록 구성 pull.rebase 하려면 명령줄을 사용합니다.

암호화 네트워크 공급자

암호화 네트워크 공급자는 런타임에 사용할 TLS/SSL 백 엔드를 구성하고 git config 설정에 해당하는 글로벌 범위의 Git 구성 설정입니다. 값은 다음과 같습니다.

  • OpenSSL: TLS 및 SSL 프로토콜에 OpenSSL을 사용합니다.
  • 보안 채널: TLS 및 SSL 프로토콜에 대해 보안 채널(schannel) 을 사용합니다. Schannel은 Windows 자격 증명 저장소에 액세스하여 엔터프라이즈 수준의 인증서 관리를 허용하는 네이티브 Windows 솔루션입니다.
  • 설정 해제 (기본값): 이 설정이 설정되지 않은 경우 OpenSSL이 기본값입니다.

설정을 변경하는 방법은 다음과 같습니다.

  1. Git 메뉴에서 설정으로 이동합니다. Git 전역 설정으로 이동하여 이 설정을 구성합니다.

  2. 암호화 네트워크 공급자를 원하는 값으로 설정하고 확인을 선택하여 저장합니다.

    드롭다운에서 'OpenSSL'이 선택된 '암호화 네트워크 공급자'가 강조 표시된 스크린샷

자격 증명 도우미

Visual Studio에서 원격 Git 작업을 수행하는 경우 원격 엔드포인트는 요청과 함께 자격 증명을 제공해야 하므로 요청을 거부할 수 있습니다. 이때 Git은 자격 증명 도우미를 호출하여 작업을 수행하는 데 필요한 자격 증명을 반환한 다음 요청을 다시 시도합니다. 사용되는 자격 증명 도우미는 git config 설정에 해당 합니다. 전역 범위에서 다음 값을 사용하여 사용할 수 있습니다.

  • Windows용 GCM: Windows용 Git 자격 증명 관리자를 도우미로 사용합니다.
  • GCM Core: Git Credential Manager Core 를 도우미로 사용합니다.
  • 설정 해제 (기본값): 이 설정이 설정되지 않은 경우 시스템 구성에 설정된 자격 증명 도우미가 사용됩니다. Windows 2.29용 Git을 기준으로 기본 자격 증명 도우미는 GCM Core입니다.

설정을 변경하는 방법은 다음과 같습니다.

  1. Git 메뉴에서 설정으로 이동합니다. Git 전역 설정으로 이동하여 이 설정을 구성합니다.

  2. 자격 증명 도우미 원하는 값으로 설정하고 확인 선택하여 저장합니다.

    옵션 대화 상자의 자격 증명 도우미 설정을 보여 주는 스크린샷

Diff 및 병합 도구

Git은 원하는 도구들에서 차이 및 병합 충돌을 표시합니다. 이 섹션의 설정은 git configdiff.toolmerge.tool 설정에 해당합니다. Visual Studio 사용을 선택하여 Git 전역 설정Git 리포지토리 설정 에서 Visual Studio를 병합 또는 차이 도구로 사용하도록 Git을 구성할 수 있습니다. 다른 diff 및 병합 도구를 구성하려면 git config 또는 merge.tool 스위치와 함께 사용합니다.

옵션 대화 상자에서 기본 Diff 도구 및 병합 도구를 설정하는 섹션을 보여 주는 스크린샷

Git 파일

Git 리포지토리 설정 범위의 Git 파일 섹션을 사용하여 리포지토리에 대한 gitignoregitattributes 파일을 보고 편집할 수 있습니다.

리포지토리에서 무시 및 특성 파일을 보고 편집하는 섹션을 보여 주는 스크린샷.

리모트

Git 리포지토리 설정 아래의 원격 창을 사용하여 리포지토리에 대한 원격을 구성할 수 있습니다. 이 설정은 git 원격 명령에 해당하며 원격을 추가, 편집 또는 제거할 수 있습니다.

옵션 대화 상자의 Git 원격 창을 보여 주는 스크린샷

기타 설정

다른 모든 Git 구성 설정을 보려면 구성 파일을 직접 열고 보거나 실행 git config --list 하여 설정을 표시할 수 있습니다.

Visual Studio 설정

다음 설정은 Visual Studio에서 Git 관련 기본 설정을 관리하며 Git 구성 파일 대신 Visual Studio에서 관리됩니다. 이 섹션의 모든 설정은 Git 전역 설정 페이지에서 구성됩니다.

기본 위치

기본 위치 는 리포지토리가 복제되는 기본 폴더를 구성합니다.

옵션 대화 상자의 기본 위치 필드를 보여 주는 스크린샷

기본 분기 이름

기본 분기 이름 설정은 로컬로 만드는 새 리포지토리에 대한 기본 분기를 구성합니다. 비워 두면 로컬에 설치된 Git의 기본값이 사용됩니다.

옵션 대화 상자의 기본 분기 이름 필드를 보여 주는 스크린샷

이 설정은 Visual Studio 17.14 이상에서 사용할 수 있습니다.

리포지토리를 열 때 Git 아래에 없는 열린 솔루션 닫기

기본적으로 Visual Studio는 다른 리포지토리로 전환할 때 열려 있는 솔루션 또는 폴더를 닫습니다. 이렇게 하면 Git 리포지토리를 열 때 솔루션 탐색기에서 폴더를 열기 로 선택한 경우를 기준으로 새 리포지토리의 솔루션 또는 폴더를 로드하고 Git 리포지토리를 열 때 솔루션을 자동으로 로드할 수도 있습니다. 이 설정은 열린 코드와 열린 리포지토리 간의 일관성을 유지합니다. 그러나 솔루션이 리포지토리와 동일한 폴더 루트에 없는 경우 리포지토리로 전환할 때 솔루션을 열어 두는 것이 좋습니다. 이 설정을 사용하여 이 작업을 수행할 수 있습니다. 값은 다음과 같습니다.

  • : 리포지토리가 열리면 현재 열려 있는 솔루션이 항상 닫힙니다.

  • 아니요: 리포지토리가 열리면 Visual Studio에서 현재 솔루션이 Git 아래에 있는지 여부를 확인합니다. 그렇지 않은 경우 솔루션은 열린 상태로 유지됩니다.

  • 항상 질문 (기본값): 이 설정이 켜져 있으면, 리포지토리를 열 때마다 현재 솔루션을 계속 열어 둘 것인지 닫을 것인지를 대화 상자를 통해 선택할 수 있습니다.

    옵션 대화 상자의 닫기 솔루션 설정을 보여 주는 스크린샷

여러 리포지토리 자동 활성화

이 설정을 사용하면 Visual Studio가 한 번에 여러 리포지토리를 활성화하는 데 리소스를 소비하는지 또는 한 번에 하나의 리포지토리만 활성화하여 워크플로를 최적화할지 여부를 제어할 수 있습니다. 주로 단일 리포지토리를 사용하는 경우 이 설정을 해제하여 Visual Studio의 성능을 향상시킬 수 있습니다. 설정을 변경하면 다음에 솔루션이 로드될 때까지 변경 내용이 적용되지 않습니다.

  • (기본값): Visual Studio는 여러 리포지토리를 활성화합니다.
  • 아니요: Visual Studio는 하나의 리포지토리만 활성화합니다.

옵션 대화 상자에서 여러 리포지토리 자동 활성화 설정을 보여 주는 스크린샷

여러 리포지토리 작업을 참조하세요.

타사 원본에서 작성자 이미지 다운로드 사용

타사 원본에서 작성자 이미지 다운로드를 사용하도록 설정하는 것은 전역 범위의 Visual Studio 관련 설정입니다. 선택하면 작성자 이미지가 Gravatar 이미지 서비스에서 다운로드되고(사용 가능한 경우) 커밋 및 기록 보기에 표시됩니다.

옵션 대화 상자에서 타사 원본에서 만든 이미지를 다운로드할 수 있도록 하는 확인란을 보여 주는 스크린샷

중요합니다

커밋 및 기록 보기에서 작성자 이미지를 제공하기 위해 도구는 활성 리포지토리에 저장된 작성자 전자 메일 주소에 대한 MD5 해시를 만듭니다. 이 해시는 Gravatar로 전송되어 이전에 서비스에 등록한 사용자에 대해 일치하는 해시 값을 찾습니다. 일치하는 항목이 발견되면 사용자 이미지가 서비스에서 검색되고 Visual Studio에 표시됩니다. 서비스를 구성하지 않은 사용자는 임의로 생성된 이미지를 반환합니다. 이메일 주소는 Visual Studio에서 기록되지 않으며 Gravatar 또는 다른 타사와 공유되지도 않습니다.

기본적으로 병합 후 변경 내용 커밋

기본 설정으로 병합 후 커밋 변경 기능이 활성화되면, Git은 분기를 현재 분기와 병합할 때 자동으로 새 커밋을 만듭니다.

옵션 대화 상자에서 기본적으로 병합 후 변경 내용을 커밋하는 확인란을 보여 주는 스크린샷.

  • 체크되면, Visual Studio에서 실행된 git merge 명령이 --commit 옵션과 함께 실행됩니다.
  • 선택을 git merge 취소하면 Visual Studio에서 실행한 명령이 옵션과 함께 --no-commit --no-ff 실행됩니다.

이러한 옵션에 대한 자세한 내용은 --commit 및 --no-commit--no-ff참조하세요.

푸시 --force-with-lease 명령을 활성화

설정을 활성화하면 Visual Studio 내에서 push --force-with-lease 할 수 있습니다. 기본적으로 푸시 --force-with-lease 사용은 비활성화되어 있습니다.

옵션 대화 상자에서 임대와 함께 푸시 강제를 사용하도록 설정하는 확인란을 보여 주는 스크린샷.

자세한 내용은 푸시 --force-with-lease를 참조하세요.

Git 리포지토리를 열 때 솔루션 탐색기에서 폴더 열기

Visual Studio를 사용하여 Git 리포지토리를 열거나 전환하는 경우 Visual Studio는 IDE 내에서 변경 내용, 커밋, 분기 및 리포지토리를 관리할 수 있도록 Git 콘텐츠를 로드합니다. 또한 Visual Studio는 솔루션 탐색기에서 리포지토리의 코드를 로드합니다. Visual Studio는 리포지토리 폴더에서 솔루션, CMakeLists.txt, 또는 Visual Studio가 인식하는 다른 보기 파일을 검색하고, 이를 솔루션 탐색기에서 목록으로 표시합니다. 여기에서 로드할 솔루션 또는 디렉터리 콘텐츠를 볼 폴더를 선택할 수 있습니다. 이 확인란을 끄면 Visual Studio에서 솔루션 탐색기에서 리포지토리 폴더를 열지 않습니다. 이 옵션을 사용하면 기본적으로 Visual Studio를 Git 리포지토리 관리자로만 열 수 있습니다. 설정은 기본적으로 설정됩니다.

옵션 대화 상자에서 Git 리포지토리를 열 때 폴더를 여는 확인란을 보여 주는 스크린샷

Git 리포지토리를 열 때 솔루션 자동 로드

이 설정은 Git 리포지토리 설정을 열 때 솔루션 탐색기에서 폴더 열기가 켜져 있는 경우에만 적용됩니다. Visual Studio에서 Git 리포지토리를 열고 후속 폴더 검색에서 리포지토리에 솔루션이 하나만 있음을 감지하면 Visual Studio에서 해당 솔루션을 자동으로 로드합니다. 설정을 해제하면 솔루션 탐색기에 보기 목록의 리포지토리에 있는 단일 솔루션이 표시됩니다. 그러나 솔루션을 로드하지는 않습니다. 기본적으로는 꺼져 있는 설정입니다.

옵션 대화 상자에서 Git 리포지토리를 열 때 솔루션을 자동으로 로드하는 확인란을 보여 주는 스크린샷

더블클릭하거나 Enter 키를 사용하여 브랜치를 자동으로 체크 아웃할 수 있습니다.

Git 리포지토리 창에는 트리 구조에 표시되는 분기 목록이 있습니다. 분기를 선택하면 커밋 기록 창이 전환되어 선택한 분기에 대한 커밋이 표시됩니다. 브랜치를 확인하려면 마우스 오른쪽 버튼을 클릭하여 상황에 맞는 메뉴를 열고 체크아웃을 선택할 수 있습니다. 이 설정을 켜면 브랜치를 체크 아웃하고 더블 클릭하거나 Enter 키를 누르면 커밋이 표시됩니다.

옵션 대화 상자에서 더블 클릭 또는 Enter 키로 분기를 체크 아웃할 수 있는 확인란을 보여주는 스크린샷.

다시 시작할 때 Git 리포지토리 창 복원

이 옵션을 선택하면 Visual Studio가 마지막으로 닫혔을 때 창이 열려 있는 경우 Visual Studio IDE를 시작할 때 Git 리포지토리 창이 다른 영구 창과 함께 열립니다. 창의 위치는 창 레이아웃에 저장되므로 창을 이동했거나 도킹한 경우 이전에 있었던 위치만 열립니다. Visual Studio가 시작될 때 창이 열리지 않도록 하려면 확인란의 선택을 취소합니다. 보기, Git 리포지토리 메뉴 명령을 사용하거나, Ctrl+, Ctrl+을 누르거나, Ctrl+Q를 누르고 Git 리포지토리를 검색하여 창을 수동으로 열 수 있습니다.

이 창을 정기적으로 사용하는 경우 IDE를 시작할 때 자동으로 여는 것이 매우 편리할 수 있습니다. 그러나 시작 시 창을 열고 채웁니다. 많은 컴퓨팅 리소스를 사용할 수 있으므로 적극적으로 사용하지 않는 경우 이 동작을 사용하지 않도록 설정하는 것이 더 효율적입니다.

옵션 대화 상자에서 Git 리포지토리 복원 창 설정을 보여 주는 스크린샷

이 설정은 Visual Studio 17.14 이상에서 사용할 수 있습니다. 자세한 내용은 리포지토리 찾아보기를 참조하세요.

중요합니다

제안 사항이 있는 경우 알려주세요. 개발자 커뮤니티 포털을 통해 디자인 결정에 참여할 수 있는 기회를 주셔서 감사합니다.