Visual Studio의 Git 정보
Visual Studio는 널리 사용되는 최신 버전 제어 시스템인 Git대한 사용자 인터페이스를 제공합니다. 소스 코드가 GitHub 리포지토리, Azure DevOps 또는 다른 Git 공급자에서 호스트되는지 여부에 관계없이 Visual Studio IDE 내에서 모든 일반적인 버전 제어 작업을 수행할 수 있습니다. 또는 공급자에 연결할 준비가 되면 나중에 원본을 백업하는 옵션을 사용하여 공급자 없이 로컬에서 작업할 수 있습니다.
작업하는 소스 코드는 Visual Studio를 사용하여 만들 필요가 없습니다. Visual Studio 프로젝트 파일이 있는지 여부에 관계없이 Git 리포지토리의 모든 원본 폴더로 작업할 수 있습니다.
Visual Studio에서 Git 및 GitHub 시작
Visual Studio에서 Git 사용을 시작하려면 다음을 수행합니다.
GitHub와 같은 Git 공급자에서 호스트되는 Git 리포지토리가 있는 경우 리포지토리를 로컬 컴퓨터에 복제하십시오.
그렇지 않으면 쉽게 새 Git 리포지토리를 만들고 코드추가합니다. 아직 Git 공급자가 없는 경우 Visual Studio의 Git 환경이 이 공급자에 최적화되어 있으므로 GitHub로 시작하는 것이 좋습니다. GitHub는 어디서나 코드를 저장하고 모든 디바이스에서 액세스할 수 있는 무료 및 보안 클라우드 코드 스토리지를 제공합니다.
GitHub 및 GitHub Enterprise 계정을 키 집합추가할 수 있지만 Microsoft 계정과 마찬가지로 활용할 수도 있습니다. GitHub 계정이 없는 경우 다음 단계에 따라 Visual Studio 사용할 GitHub 계정을 만듭니다.
명령줄에서 git 명령을 사용하려면 Microsoft 제품이 아닌 Windows Git도 설치해야 합니다.
솔루션 탐색기에서 파일 보기
리포지토리를 복제하거나 로컬 리포지토리를 열면 Visual Studio가 Git 컨텍스트로 전환됩니다. 솔루션 탐색기는 Git 리포지토리의 루트에 있는 폴더를 로드하고 디렉터리 트리에서 CMakeLists.txt
같은 보기 가능한 파일이나 .sln
파일 확장자를 가진 파일을 검색합니다. 자세한 내용은 솔루션 탐색기 보기 파일을 참조하세요.
브랜치 및 원격 저장소
분기를 사용하여 관련 변경 내용을 작업 중인 관련 없는 변경 내용과 분리된 상태로 유지할 수 있습니다. 권장되는 Git 워크플로는 작업하는 모든 기능 또는 수정에 대해 새 분기를 사용합니다. Visual Studio에서 브랜치를 생성하는 방법을 알아봅니다.
새 분기를 만들고 전환하면 기존 파일을 변경하거나 새 파일을 추가한 다음 작업을 리포지토리에 커밋하여 작업을 시작할 수 있습니다. Visual Studio에서 커밋을 수행하고 Git의 파일 상태를 더 잘 이해하려면 커밋 페이지를 참조하세요.
Git은 분산 버전 제어 시스템입니다. 즉, 지금까지 변경된 모든 내용은 로컬 전용 변경입니다. 이러한 변경 내용을 원격 리포지토리에 기여하려면 해당 로컬 커밋을 원격에 푸시해야 합니다.
팀에서 작업하거나 다른 컴퓨터를 사용하는 경우 원격 리포지토리에서 새 변경 내용을 가져와야 하는 경우가 많습니다. Visual Studio에서 Git 네트워크 작업을 관리하는 방법에 대한 자세한 내용은 가져오기, 끌어오기, 푸시 및 동기화 페이지를 참조하세요.
리포지토리 관리 및 공동 작업
그러나 Git 리포지토리에 집중하는 것이 더 합리적일 때가 있습니다. 예를 들어 팀이 진행 중인 작업을 잘 파악하거나 다른 분기에서 커밋을 복사하거나 나가는 커밋을 정리해야 할 수 있습니다. Visual Studio에는 다른 도구를 사용할 필요가 없는 강력한 리포지토리 검색 및 협업 기능이 포함되어 있습니다.
Git 리포지토리에 집중할 수 있도록 Visual Studio에는 로컬 및 원격 분기 및 커밋 기록을 포함하여 리포지토리의 모든 세부 정보에 대한 통합 보기인 Git 리포지토리 창이 있습니다. 메뉴 모음의 Git 또는 보기 또는 상태 표시줄에서 직접 이 창에 액세스할 수 있습니다.
Git 리포지토리 찾아보기 및 관리
Visual Studio에서 Git 리포지토리 창을 사용하여 Git 리포지토리를 찾아보고 관리하는 방법에 대한 자세한 내용은 다음 페이지를 참조하세요.
병합 충돌 처리
두 개발자가 파일에서 동일한 줄을 수정하고 Git에서 올바른 줄을 자동으로 알지 못하는 경우 병합 중에 충돌이 발생할 수 있습니다. Git은 병합을 중지하고 충돌하는 상태에 있음을 알려줍니다. 병합 충돌 해결 페이지에서 자세히 알아봅니다.
Git 설정 개인화
리포지토리 수준과 전역 수준에서 Git 설정을 개인 설정하려면 다음을 수행합니다.
생산성 향상
Visual Studio 2022 버전 17.12코드 섹션을 선택할 수 있습니다. 그런 다음 마우스 오른쪽 단추를 클릭하고 Git 하위 메뉴를 확장하고 GitHub Permalink 복사(또는 AzureDevOps Permalink복사)를 선택하여 GitHub Permalink 또는 Azure DevOps Permalink를 생성하고 클립보드에 복사합니다. 여기에서 링크를 사용할 수 있는 곳이나 브라우저에 붙여넣거나 전자 메일, 채팅 세션 및 문서를 통해 공유할 수 있습니다. Git 리포지토리 창의 포함된 커밋 세부 정보 보기 내에서도 동일한 작업을 수행할 수 있습니다. 이 기능을 사용하면 분기를 전환하지 않고 이전 커밋의 특정 코드를 참조할 수 있습니다. Git 호스팅 공급자인 GitHub 또는 Azure DevOps 계정을 사용하여 Visual Studio에 로그인해야 합니다.
Visual Studio 2022 버전 17.6에서는 GitHub 문제 및 Azure DevOps 작업 항목을 검색하고 연결할 수 있습니다. Git 기능을 참조하여 생산성을 향상시키는 블로그 게시물을 확인하세요.
이제 Git은 visual Studio 2019 기본 버전 제어 환경입니다. 버전 16.6은이후 사용자 의견에 따라 기능 집합을 빌드하고 반복하는 작업을 수행했습니다. 버전 16.8모든 사용자에게 기본 버전 제어 환경이 되었습니다.
메모
우리는 Visual Studio 2022 에서Git 기능 집합을 계속 개발하고 개선합니다. 최근 기능 업데이트에 대한 자세한 내용은 Visual Studio 블로그 게시물에서 다중 리포지토리 지원을 참조하세요.
Git에 대해 자세히 알아보기
Git은 가장 널리 사용되는 최신 버전 제어 시스템이므로 전문 개발자이든 코딩 방법을 배우든 Git은 매우 유용할 수 있습니다. Git을 접하는 경우 https://git-scm.com/ 웹 사이트를 시작하는 것이 좋습니다. 그곳에서 치트 시트, 인기 있는 온라인 책 및 Git Basics 비디오를 찾을 수 있습니다.
Visual Studio 2019에서 Git 시작
Visual Studio에서 새 Git 환경을 사용하는 방법을 안내하지만, 빠른 둘러보기를 먼저 수행하려면 다음 비디오를 확인하세요.
비디오 길이: 5.27분
생산성을 높이기 위해 Visual Studio에서 Git을 사용하는 세 가지 방법이 있습니다.
- 새 Git 리포지토리만듭니다. Git과 연결되지 않은 코드가 이미 있는 경우 새 Git 리포지토리를 만들어 시작할 수 있습니다.
- 기존 Git 리포지토리복제합니다. 작업하려는 코드가 컴퓨터에 없는 경우 기존 원격 리포지토리를 복제할 수 있습니다.
- 기존 Git 리포지토리엽니다. 컴퓨터에 코드가 이미 있는 경우 파일>Open>Project/Solution(또는 Folder)을 사용하여 코드를 열 수 있으며 Visual Studio는 초기화된 Git 리포지토리가 있는지 자동으로 검색합니다.
메모
Visual Studio 2019 버전 16.8시작하여 완전히 통합된 GitHub 계정 환경을 포함합니다. 이제 키 집합에 GitHub 및 GitHub Enterprise 계정을 모두 추가할 수 있습니다. Microsoft 계정과 마찬가지로 추가 및 활용할 수 있습니다. 즉, Visual Studio에서 GitHub 리소스에 액세스하는 데 더 쉽게 액세스할 수 있습니다. 자세한 내용을 보려면 Visual Studio 페이지에서 GitHub 계정으로 작업을 참조하세요.
팁
GitHub 계정이 없는 경우 Visual Studio 페이지에서 사용할 GitHub 계정 만들기 설명된 단계에 따라 시작할 수 있습니다.
Visual Studio 2019에서 새 Git 리포지토리 만들기
코드가 Git과 연결되지 않은 경우 새 Git 리포지토리를 만들어 시작할 수 있습니다. 이렇게 하려면 메뉴 모음에서 Git>Git 리포지토리 만듭니다. 그런 다음 Git 리포지토리 만들기 대화 상자에서 정보를 입력합니다.
Git 리포지토리 만들기 대화 상자를 사용하면 새 리포지토리를 GitHub에 쉽게 푸시할 수 있습니다. 기본적으로 새 리포지토리는 프라이빗이며, 이는 사용자가 액세스할 수 있는 유일한 리포지토리임을 의미합니다. 확인란의 선택을 취소하면 리포지토리가 공개됩니다. 즉, GitHub의 모든 사용자가 볼 수 있습니다.
팁
리포지토리가 퍼블릭인지 프라이빗인지에 관계없이 팀과 함께 작업하지 않더라도 코드의 원격 백업을 GitHub에 안전하게 저장하는 것이 가장 좋습니다. 또한 어떤 컴퓨터를 사용하든 코드를 사용할 수 있습니다.
로컬 전용 옵션을 사용하여 로컬 전용 Git 리포지토리를 만들도록 선택할 수 있습니다. 또는 기존 원격 옵션을 사용하여 로컬 프로젝트를 Azure DevOps 또는 다른 Git 공급자의 기존 빈 원격 리포지토리에 연결할 수 있습니다.
Visual Studio 2019에서 기존 Git 리포지토리 복제
Visual Studio에는 간단한 복제 환경이 포함되어 있습니다. 복제하려는 리포지토리의 URL을 알고 있는 경우 리포지토리 위치 섹션에 URL을 붙여넣은 다음 Visual Studio에서 복제할 디스크 위치를 선택할 수 있습니다.
리포지토리 URL을 모르는 경우 Visual Studio를 사용하면 기존 GitHub 또는 Azure DevOps 리포지토리를 쉽게 찾아서 복제할 수 있습니다.
Visual Studio 2019에서 기존 로컬 리포지토리 열기
리포지토리를 복제하거나 만든 후 Visual Studio는 Git 리포지토리를 검색하고 Git 메뉴의 로컬 리포지토리 목록에 추가합니다.
여기에서 Git 리포지토리 간에 빠르게 액세스하고 전환할 수 있습니다.
Git 메뉴에서 로컬 리포지토리 옵션
Visual Studio 2019의 솔루션 탐색기에서 파일 보기
리포지토리를 복제하거나 로컬 리포지토리를 열면 Visual Studio는 이전에 열려 있는 솔루션 및 프로젝트를 저장하고 닫아 해당 Git 컨텍스트로 전환합니다. 솔루션 탐색기는 Git 리포지토리의 루트에 있는 폴더를 로드하고 디렉터리 트리에서 볼 수 있는 파일을 검색합니다. 여기에는 CMakeLists.txt 같은 파일이나 .sln 파일 확장자를 가진 파일이 포함되었습니다.
Visual Studio는 솔루션 탐색기에서 로드하는 파일에 따라 뷰를 조정합니다.
- 단일
.sln
파일이 포함된 리포지토리를 복제하는 경우 솔루션 탐색기가 해당 솔루션을 직접 로드합니다. - 솔루션 탐색기가 리포지토리에서
.sln
파일을 검색하지 않으면 기본적으로 폴더 뷰가 로드됩니다. - 리포지토리에 둘 이상의
.sln
파일이 있는 경우 솔루션 탐색기에서 선택할 수 있는 사용 가능한 보기 목록이 표시됩니다.
솔루션 탐색기 도구 모음의 보기 전환 단추를 사용하여 현재 열려 있는 보기와 뷰 목록 간에 전환할 수 있습니다.
Visual Studio에서
자세한 내용은 리포지토리에서 프로젝트 열기 자습서의 솔루션 탐색기에서 파일 보기 부분을 참조하세요.
Visual Studio 2019의 Git 변경 내용 창
Git은 작업할 때 리포지토리의 파일 변경 내용을 추적하고 리포지토리의 파일을 세 가지 범주로 구분합니다. 이러한 변경 내용은 명령줄에 git status
명령을 입력할 때 표시되는 내용과 동일합니다.
- 수정되지 않은 파일 : 이러한 파일은 마지막 커밋 이후 변경되지 않았습니다.
- 수정된 파일: 이러한 파일은 마지막 커밋 이후 변경되었지만 아직 다음 커밋을 위해 준비하지 않았습니다.
- 준비된 파일: 이러한 파일에는 다음 커밋에 추가될 변경 내용이 있습니다.
작업을 수행하는 동안 Visual Studio는 Git 변경 내용 창의 변경 내용 섹션에서 프로젝트의 파일 변경 내용을 추적합니다.
변경 내용을 스테이징할 준비가 되면 스테이징할 각 파일에서 +(더하기) 단추를 클릭하거나 파일을 마우스 오른쪽 단추로 클릭한 다음 스테이지선택합니다. 또한 수정된 모든 파일을 한 번의 클릭으로 스테이징하려면, 변경 내용 섹션 상단에 있는 +(더하기) 버튼을 사용하세요.
변경 내용을 준비하면 Visual Studio에서 준비된 변경 사항 부분을 만듭니다.
스테이징된 변경 내용 섹션의 변경 내용만 다음 커밋에 추가되며, 스테이징된커밋을 선택하여 수행할 수 있습니다. 이 작업에 해당하는 명령은 git commit -m "Your commit message"
.
–(빼기) 단추를 클릭하여 변경 내용을 스테이징 해제할 수도 있습니다. 이 작업에 해당하는 명령은 단일 파일의 스테이징을 해제할 때 git reset <file_path>
이며, 디렉터리의 모든 파일의 스테이징을 해제할 때 git reset <directory_path>
입니다.
준비 영역을 건너뛰어 수정된 파일을 스테이징하지 않도록 선택할 수도 있습니다. 이 경우 Visual Studio를 사용하면 스테이징하지 않고도 변경 내용을 직접 커밋할 수 있습니다. 커밋 메시지를 입력한 다음 커밋 모두를 선택합니다. 이 작업에 해당하는 명령은 git commit -a
.
또한 Visual Studio를 사용하면 모두 커밋 및 푸시 사용하여 한 번의 클릭으로 쉽게 커밋하고 동기화할 수 있으며 모두 커밋 및 동기화 바로 가기를 사용할 수 있습니다. 변경 내용 및 스테이징된 변경 내용 섹션에서 파일을 두 번 클릭하면 수정되지 않은 버전의 파일과 한 줄씩 비교할 수 있습니다.
파일 버전의 줄별 비교
팁
Azure DevOps 리포지토리에 연결된 경우 "#" 문자를 사용하여 Azure DevOps 작업 항목을 커밋과 연결할 수 있습니다. 팀 탐색기를 통해 Azure DevOps 리포지토리를 연결하고>'연결 관리' 옵션에서관리할 수 있습니다.
Visual Studio 2019에서 기존 브랜치 선택
Visual Studio는 Git 변경 내용 창의 맨 위에 있는 선택 도구에서 현재 브랜치를 표시합니다.
현재 분기는 Visual Studio IDE의 오른쪽 아래 모서리에 있는 상태 표시줄에서도 사용할 수 있습니다.
두 위치 모두에서 기존 브랜치 간에 전환할 수 있습니다.
Visual Studio 2019에서 새 분기 만들기
새 분기를 만들 수도 있습니다. 이 작업에 해당하는 명령은 git checkout -b <branchname>
.
새 분기를 만드는 것은 분기 이름을 입력하고 기존 분기를 기반으로 하는 것만큼 간단합니다.
기존 로컬 또는 원격 분기를 기본으로 선택할 수 있습니다.
체크아웃 브랜치 확인란은 자동으로 새로 생성된 브랜치로 전환됩니다. 이 작업에 해당하는 명령은 git checkout -b <new-branch><existing-branch>
.
Visual Studio 2019의 Git 리포지토리 창
Visual Studio에는 모든 브랜치, 원격 저장소 및 커밋 기록을 포함하여 리포지토리의 모든 세부 정보를 통합적으로 보여주는 새 Git 리포지토리 창이 있습니다. 메뉴 모음의 Git 또는 보기 또는 상태 표시줄에서 이 창에 직접 액세스할 수 있습니다.
Visual Studio 2019에서 분기 관리
Git 메뉴에서 분기 관리 선택하면 Git 리포지토리 창에 분기 트리 보기가 표시됩니다. 왼쪽 창에서 마우스 오른쪽 단추 클릭 상황에 맞는 메뉴를 사용하여 브랜치를 체크아웃하고, 새 브랜치를 만들고, 병합하고, 리베이스하고, 체리 픽 등을 수행할 수 있습니다. 브랜치를 클릭하면 오른쪽 창에서 커밋 기록의 미리보기를 확인할 수 있습니다.
Visual Studio 2019에서 들어오고 나가는 커밋
분기를 가져올 때 Git 변경 내용 창에는 분기 드롭다운 아래에 원격 분기의 풀되지 않은 커밋 수를 표시하는 표시기가 있습니다. 또한 이 지표는 전송되지 않은 로컬 커밋 수를 보여 줍니다.
또한 표시기가 링크로 작동하여 Git 리포지토리 창에서 해당 브랜치의 커밋 기록으로 이동합니다. 이제 기록 맨 위에 들어오는 커밋과 나가는 커밋의 세부 정보가 표시됩니다. 여기에서 커밋을 끌어오거나 푸시하도록 결정할 수도 있습니다.
분기의 커밋 기록을 보여 주는 Git 리포지토리 창
Visual Studio 2019의 커밋 세부 정보
커밋두 번 클릭하면 Visual Studio가 별도의 도구 창에서 세부 정보를 엽니다. 여기에서 커밋을 되돌리거나, 커밋을 다시 설정하거나, 커밋 메시지를 수정하거나, 커밋에 태그를 만들 수 있습니다. 커밋에서 변경된 파일을 클릭하면 Visual Studio가 커밋과 해당 부모의 차이를 Diff 보기로 나란히 표시합니다.
커밋 세부 정보 대화 상자
Visual Studio 2019에서 병합 충돌을 처리하십시오.
두 개발자가 파일에서 동일한 줄을 수정하고 Git에서 올바른 줄을 자동으로 알지 못하는 경우 병합 중에 충돌이 발생할 수 있습니다. Git은 병합을 중지하고 충돌하는 상태에 있음을 알려줍니다.
Visual Studio를 사용하면 병합 충돌을 쉽게 식별하고 해결할 수 있습니다. 먼저 Git 리포지토리 창의 맨 위에 금색 정보 표시줄이 표시됩니다.
Git 변경 내용 창에는 '병합이 충돌이 있는 상태에서 진행 중'라는 메시지가 표시되며, 병합되지 않은 파일은 그 아래의 별도 섹션에 표시됩니다.
그러나 이러한 창을 열지 않고 병합 충돌이 있는 파일로 이동하는 경우 다음 텍스트를 검색할 필요가 없습니다.
<<<<<<< HEAD
=======
>>>>>>> main
대신 Visual Studio는 열린 파일에 충돌이 있음을 나타내는 금색 정보 표시줄을 페이지 맨 위에 표시합니다. 그런 다음 링크를 클릭하여 병합 편집기열 수 있습니다.
'파일에 병합 충돌 포함' 메시지 스크린샷
Visual Studio 2019의 병합 편집기
Visual Studio의 병합 편집기는 들어오는 변경 내용, 현재 변경 내용 및 병합 결과를 표시하는 3방향 병합 도구입니다. 병합 편집기 최상위 수준의 도구 모음을 사용하여 파일의 충돌과 자동 병합된 차이점 간을 탐색할 수 있습니다.
Visual Studio의 병합 편집기
토글을 사용하여 차이점을 표시/숨기고, 단어 차이를 표시/숨기고, 레이아웃을 사용자 지정할 수도 있습니다. 한쪽 또는 다른 쪽에서 모든 변경 내용을 적용하는 데 사용할 수 있는 각 측면의 맨 위에 확인란이 있습니다. 그러나 개별적으로 변경하려면 양쪽의 충돌하는 줄 왼쪽에 있는 확인란을 클릭할 수 있습니다. 마지막으로 충돌 해결을 마치면 병합 편집기에서 병합 수락 단추를 선택할 수 있습니다. 그런 다음 커밋 메시지를 작성하고 변경 내용을 커밋하여 해결을 완료합니다.
Visual Studio 2019에서 Git 설정 개인 설정
리포지토리 수준뿐만 아니라 전역 수준에서 Git 설정을 개인 설정 및 사용자 지정하려면 메뉴 모음에서 Git>설정 이동하거나 메뉴 모음에서 도구 >옵션>소스 제어. 그런 다음 원하는 옵션을 선택합니다.
Visual Studio 2019에서 전체 팀 탐색기 환경을 사용하는 방법
새 Git 환경은 Visual Studio 2019에서 버전 16.8 이상부터 기본 버전 제어 시스템입니다. 그러나 해제하려는 경우 해제할 수 있습니다. 도구>옵션>환경>미리 보기 기능 이동한 다음 새 Git 사용자 환경 확인란을 전환하여 Git용 팀 탐색기로 다시 전환합니다.
옵션 대화 상자의 미리 보기 기능 섹션
다음 단계
팁
Visual Studio에서 Git 및 GitHub를 사용하는 방법을 알아보려면 Git 학습 시리즈등록합니다.