Visual Studio에서 Git 리포지토리 찾아보기 및 분기 비교
적용 대상:Visual Studio
Mac용 Visual Studio
Visual Studio Code
Git 변경 내용 창에서는 코드에서 나가지 않고도 코딩하는 동안 Git과 원활하게 상호 작용할 수 있는 방법을 제공합니다. 그러나 Git 리포지토리에 집중하는 것이 더 적합한 경우가 있습니다. 예를 들어 팀에서 작업 중인 내용을 전체적으로 살펴보거나 두 커밋을 비교하여 버그를 조사해야 할 수 있습니다.
GitHub 또는 Azure DevOps와 같이 선택한 Git 공급자를 사용하여 원격으로 작업할 수 있습니다.
로컬 분기와 원격 분기 찾아보기
시작하려면 보기 메뉴에서 Git 리포지토리를 선택하여 Git 리포지토리 창을 엽니다. Git 변경 내용 창과 상태 표시줄에서 발신/수신 링크를 선택하여 Git 리포지토리 창에 액세스할 수도 있습니다.
Git 리포지토리 창에는 이전 스크린샷에 번호가 매겨진 것과 같이 세 가지 주요 섹션이 있습니다.
분기: Git에서는 사용자가 분기를 통해 멀티태스킹하고 코드를 실험해 볼 수 있습니다. 동시에 여러 기능을 작업하거나 작업 중인 코드에 영향을 주지 않고 아이디어를 탐색하려는 경우 분기가 도움이 될 수 있습니다.
그래프: 이 섹션은 분기의 상태를 시각화합니다. 세 개의 하위 섹션이 있습니다.
- 들어오는 것은 팀이 기여한 들어오는 커밋을 보여 줍니다.
- 나가는 것은 아직 푸시하지 않은 로컬 커밋을 보여 줍니다.
- 로컬 기록은 로컬 리포지토리에서 추적한 나머지 커밋을 보여 줍니다.
커밋: 그래프 섹션에서 커밋을 선택하면 세부 정보가 열립니다. 커밋이 도입한 변경 내용을 선택하여 확인할 수 있으며 이는 차이점을 보여 줍니다. 예를 들어 이전 스크린샷은 하나의 커밋이 Files.csproj 파일에 적용한 변경 내용을 보여 줍니다.
Alt+위쪽 화살표 키 또는 Alt+아래쪽 화살표 바로 가기 키를 사용하면 이러한 섹션 사이를 이동할 수 있습니다.
분기를 전환하지 않고도 로컬 또는 원격 분기를 찾아볼 수 있습니다. 집중하려는 커밋을 찾으면 새 탭에서 열기 단추를 선택하여 다른 탭에서 커밋을 엽니다.
팁
커밋을 전체 화면으로 표시하려면 커밋 탭을 분리하고 최대화 단추를 사용하여 커밋 창을 최대화합니다. Diff 구성(톱니 모양 아이콘)을 선택하여 선호하는 Diff 구성을 선택할 수도 있습니다.
커밋 비교
분기에 있는 두 커밋을 비교하려면 Ctrl 키를 사용하여 비교하려는 두 커밋을 선택합니다. 그런 다음 그중 하나를 마우스 오른쪽 단추로 클릭하고 커밋 비교를 선택합니다.
팁
커밋 세부 정보와 마찬가지로 새 탭에서 열기 단추를 사용하여 다른 탭에서 비교 항목을 열거나 화면에서 최대화할 수 있습니다.
커밋에서 분기 만들기
Visual Studio에서 Git 리포지토리 창의 Git 그래프 창을 사용하여 이전 커밋에서 분기를 만들 수 있습니다. 이렇게 하려면 새 분기를 만들려는 커밋을 마우스 오른쪽 단추로 클릭한 다음 새 분기를 선택합니다.
참고
이 동작에 해당하는 명령은 git branch <branchname> [<commit-id>]
입니다.
분기 비교
분기 비교는 끌어오기 요청을 만들거나 병합하거나 분기를 삭제하기 전에 매우 유용할 수 있는 두 분기 간의 차이점에 대한 개요를 제공합니다.
Visual Studio를 사용하여 현재 체크 아웃된 분기를 다른 분기와 비교하려면 상태 표시줄에 호스트된 분기 선택기와 Git 변경 도구 창을 활용하여 비교할 로컬 또는 원격 분기를 선택할 수 있습니다. 대상으로 지정하는 분기를 마우스 오른쪽 단추로 클릭하고 현재 분기와 비교를 선택합니다. 또는 Git 리포지토리 창에서 분기 목록을 활용하여 동일한 명령에 액세스할 수 있습니다.
현재 분기와 비교를 선택하면 변경 내용 목록을 탐색하고 비교할 파일을 선택할 수 있는 분기 비교 환경이 열립니다.
팁
인라인 Diff를 선호하는 경우 Diff 구성 옵션 기어를 사용하고 인라인 Diff 보기로 전환할 수 있습니다.
커밋 체크 아웃
커밋을 체크 아웃하는 것은 여러 가지 방법으로 도움이 될 수 있습니다. 예를 들어 코드를 실행하거나 테스트할 수 있는 리포지토리 기록의 이전 지점으로 돌아갈 수 있습니다. 원격 분기(예: 동료의 분기)에서 코드를 검토하려는 경우에도 유용할 수 있습니다. 이렇게 하면 로컬 분기에 기여할 계획이 없는 경우 로컬 분기를 만들 필요가 없습니다. 이 경우 검토하려는 원격 분기의 팁을 체크 아웃하기만 하면 됩니다.
Visual Studio에서 이전 커밋을 체크 아웃하려면 Git 리포지토리 창을 열고 돌아가려는 커밋을 마우스 오른쪽 단추로 클릭하고 체크 아웃(-detach)을 선택합니다. Visual Studio는 커밋을 체크 아웃하면 분리된 HEAD 상태가 된다는 것을 설명하는 확인 대화 상자를 표시합니다. 즉, 리포지토리의 HEAD가 분기 대신 커밋을 직접 가리킬 것임을 의미합니다.
이제 헤드 상태가 분리되었으므로 자유롭게 코드를 실행하고 테스트하거나 변경 내용을 탐색하고 커밋할 수 있습니다. 탐색을 완료하고 분기로 돌아가려면 기존 분기를 체크 아웃하여 변경 내용을 취소하거나 먼저 새 분기를 만들어 변경 내용을 유지하도록 선택할 수 있습니다.
중요
분리된 헤드 상태에서 만든 커밋은 분기와 연결되지 않으며 분기를 체크 아웃한 후 Git에서 가비지 수집될 수 있습니다. 따라서 변경 내용을 유지하려면 분기를 체크 아웃하기 전에 새 분기를 만드는 것이 좋습니다. 예를 들어 새 분기를 만들지 않고 Main을 체크 아웃하면 커밋 C5 및 C6이 가비지 수집됩니다.
분리된 헤드 상태에 대해 자세히 알아보려면 다음 Git 문서(분리된 헤드)를 참조하세요.
끌어오기 요청을 신속하게 검토하고 최신 업데이트를 평가하려는 경우 원격 분기의 팁을 확인하는 것이 도움이 될 수 있습니다. Visual Studio에서 이 작업을 수행하려면 먼저 원격 리포지토리에서 최신 업데이트를 가져와야 합니다. 그런 다음 검토하려는 원격 분기를 마우스 오른쪽 단추로 클릭하고 체크 아웃 팁 커밋을 선택합니다.
다음 단계
여정을 계속하려면 Visual Studio에서 Git 리포지토리 관리를 참조하세요.