Git 변경 내용 창은 코드에서 전환하지 않고도 코딩하는 동안 Git과 원활하게 상호 작용하는 방법을 제공합니다. 그러나 Git 리포지토리에 집중하는 것이 더 합리적일 때가 있습니다. 예를 들어 팀에서 작업한 내용을 잘 파악하거나 두 커밋을 비교하여 버그를 조사해야 할 수 있습니다.
GitHub 또는 Azure DevOps와 같이 선택한 Git 공급자와 원격으로 작업할 수 있습니다.
로컬 및 원격 브랜치 탐색하기
시작하려면 보기 메뉴에서 Git 리포지토리를 선택하여 Git 리포지토리 창을 엽니다(또는 Ctrl0, ++R 바로 가기 키 사용). Git 변경 내용 창 및 상태 표시줄에서 나가는/들어오는 링크를 선택하여 Git리포지토리 창에 액세스할 수도 있습니다.
Git 리포지토리 창에는 이전 스크린샷에 번호가 매겨진 세 개의 기본 섹션이 포함되어 있습니다.
분기/태그: Git을 사용하면 사용자가 분기를 통해 코드를 멀티태스킹하고 실험할 수 있습니다. Git의 분기는 특히 여러 기능이 있는 복잡한 프로젝트를 작업하거나 팀과 공동 작업할 때 여러 시나리오에서 유용합니다. Visual Studio 17.13 이상을 사용하면 리포지토리에서 태그를 보고 태그로 이동할 수 있습니다. 팀은 git 태그(예
v1.0
: )를 사용하여 리포지토리 기록의 점을 표시하고 기록의 해당 시점에서 리포지토리의 상태를 볼 수 있습니다. Git - 태그 지정을 참조하세요.그래프: 이 부분에서는 브랜치의 상태를 보여줍니다. 다음과 같은 세 가지 하위 섹션이 있습니다.
- 들어오는 것은 팀이 기여하고 있는 들어오는 커밋을 보여줍니다.
- 아웃고잉은 아직 푸시하지 않은 로컬 커밋을 표시합니다.
- 로컬 기록에 는 로컬 리포지토리에서 추적한 나머지 커밋이 표시됩니다.
커밋: 이 섹션을 열려면 Graph 섹션에서 커밋을 선택합니다. 커밋을 선택하여 도입한 변경 내용을 확인할 수 있습니다. 이는 차이를 보여줍니다. 예를 들어 이전 스크린샷은 커밋 하나가 Resize.cs 파일에 도입한 변경 내용을 보여줍니다.
Alt+위쪽 화살표 또는 Alt+아래쪽 화살표 바로 가기 키를 사용하면 이러한 섹션 사이를 이동할 수 있습니다.
분기를 전환하지 않고도 로컬 또는 원격 분기를 탐색할 수 있습니다. 집중하려는 커밋을 찾으면 새 탭에서 열기 단추를 선택하여 다른 탭에서 커밋을 엽니다.
팁 (조언)
커밋을 전체 화면에 표시하려면 커밋 탭을 분리하고 최대화 단추를 사용하여 커밋 창을 최대화합니다. Diff 구성 (기어 아이콘)을 선택하여 자신이 선호하는 구성을 선택할 수도 있습니다.
다중 분기 기록 보기
버전 17.7의 새로운 기능: Git 리포지토리 창을 열면 단일 분기 보기에서 시작합니다. 그런 다음 분기를 선택하여 분기와 해당 커밋을 모두 다중 분기 기록 보기에 추가할 수 있습니다. 그러면 여러 분기와 상호 작용하는 것이 더 효율적인 시각적 신호를 추가합니다.
로컬 기록 보기의 왼쪽에는 각 분기에 속하는 커밋을 더 쉽게 추적할 수 있도록 줄 색 지정과 분기 레이블이 모두 있습니다. 테이블 맨 위에 있는 분기 목록을 사용하여 분기 사이를 더 쉽게 스크롤하고 그래프에 표시되는 분기를 즉시 알 수 있습니다.
브랜치/태그 섹션에서 브랜치 위에 마우스를 올리면 히스토리에서 브랜치 전환 보이기 버튼이 표시됩니다 (아이콘은 눈 모양입니다). 마우스를 올리기 버튼을 사용하여 커밋 기록 보기에 표시할 브랜치를 선택할 수 있습니다.
커밋 기록 보기의 맨 위에 있는 도구 모음 단추를 사용하여 보기를 사용자 지정하고 분기에서 필터링할 수 있습니다.
첫 번째 부모만 표시: 커밋 기록을 고유한 커밋 시퀀스가 있는 측면 분기가 아닌 한 줄로만 표시하도록 기록을 제한합니다.
로컬 분기 표시: 기록 보기에서 로컬 분기의 레이블을 표시할지 여부를 전환합니다.
원격 분기 표시: 보고 있는 커밋 기록에 기여하는 원격 분기의 레이블을 표시할지 여부를 전환합니다.
태그 표시: 태그에 대한 레이블을 표시할지 여부를 전환합니다.
로컬 분기 표시, 원격 분기 표시 및 태그 표시는 모두 기록 보기의 왼쪽에 표시된 커밋의 레이블 표시기를 참조합니다.
버전 17.14의 새로운 기능: 동기화되지 않은 커밋에 집중하기 위해 보내는 커밋 /들어오는 전용 도구 모음 표시 단추를 사용하여 나가는 커밋(현재 분기에서 아직 푸시되지 않음) 및 들어오는 커밋(원격에서 새로 만들기)만 표시하도록 기록 보기를 변경할 수 있습니다.
기록 보기의 아무 곳이나 마우스 오른쪽 단추로 클릭하여 상황에 맞는 메뉴에서 발신/수신만 표시 를 선택할 수도 있습니다.
커밋 비교
분기의 두 커밋을 비교하려면 Ctrl 키를 사용하여 비교할 두 커밋을 선택합니다. 그런 다음 그 중 하나를 마우스 오른쪽 단추로 클릭하고 커밋 비교를 선택합니다.
팁 (조언)
커밋 세부 정보와 마찬가지로 새 탭에서 열기 단추를 사용하여 다른 탭에서 비교를 열거나 화면에서 최대화할 수 있습니다.
커밋에서 분기 만들기
Visual Studio에서 Git 리포지토리 창의 Git 그래프 창을 사용하여 이전 커밋에서 분기를 만들 수 있습니다. 이렇게 하려면 새 분기를 만들려는 커밋을 마우스 오른쪽 단추로 클릭한 다음 새 분기를 선택합니다.
비고
이 작업에 해당하는 명령은 git branch <branchname> [<commit-id>]
.
브랜치 비교
분기를 비교하면 끌어오기 요청을 만들거나 병합하거나 분기를 삭제하기 전에 유용할 수 있는 두 분기 간의 차이점에 대한 개요를 제공합니다.
Visual Studio를 사용하여 현재 체크 아웃된 분기를 다른 분기와 비교하려면 상태 표시줄에 호스트된 분기 선택기와 Git 변경 도구 창을 사용하여 비교할 로컬 또는 원격 분기를 선택할 수 있습니다. 대상으로 지정하는 분기를 마우스 오른쪽 단추 로 클릭하고 현재 분기와 비교를 선택합니다. 또는 Git 리포지토리 창에서 분기 목록을 활용하여 동일한 명령에 액세스할 수 있습니다.
현재 분기와 비교를 선택하면 변경 내용 목록을 탐색하고 비교할 파일을 선택할 수 있는 분기 비교 환경이 열립니다.
팁 (조언)
기어 모양의 Diff 설정 옵션 아이콘을 사용하여 인라인 차이 보기로 전환할 수 있습니다.
커밋 내역 확인
커밋을 확인하는 것은 여러 가지 방법으로 도움이 될 수 있습니다. 예를 들어 코드를 실행하거나 테스트할 수 있는 리포지토리 기록의 이전 지점으로 돌아갈 수 있습니다. 원격 분기(예: 동료의 분기)에서 코드를 검토하려는 경우에도 유용할 수 있습니다. 이렇게 하면 기여를 계획하지 않는 경우 로컬 분기를 만들 필요가 없습니다. 이 경우 검토하려는 원격 분기의 팁만 체크 아웃할 수 있습니다.
Visual Studio에서 이전 커밋을 확인하려면 Git 리포지토리 창을 열고 다시 돌아가려는 커밋을 마우스 오른쪽 단추로 클릭하고 체크 아웃(–분리)을 선택합니다. Visual Studio는 커밋을 체크 아웃하면 분리된 HEAD 상태에 있음을 설명하는 확인 대화 상자를 표시합니다. 즉, 리포지토리의 HEAD가 분기 대신 커밋을 직접 가리킵니다.
이제 분리된 헤드 상태에 있으므로 자유롭게 코드를 실행하고 테스트하거나 변경 내용을 탐색하고 커밋할 수 있습니다. 탐색을 완료하고 분기로 돌아가려면 기존 분기를 체크 아웃하여 변경 내용을 취소하거나 먼저 새 분기를 만들어 변경 내용을 유지하도록 선택할 수 있습니다.
중요합니다
분리된 헤드 상태에서 생성된 커밋은 어떠한 브랜치와도 연결되지 않기 때문에, 브랜치를 체크아웃하면 Git에 의해 가비지 컬렉션될 수 있습니다. 따라서 변경 내용을 유지하려면 브랜치를 체크아웃하기 전에 새 브랜치를 만드는 것이 좋습니다. 예를 들어 새 분기를 만들지 않고 메인 브랜치를 체크아웃하면 커밋 C5 및 C6이 가비지 수집 대상이 됩니다.
분리된 헤드 상태에 대한 자세한 내용은 분리된 헤드 Git 설명서를 참조하세요.
끌어오기 요청을 신속하게 검토하고 최신 업데이트를 평가하려는 경우 원격 분기의 팁을 확인하는 것이 도움이 될 수 있습니다. Visual Studio에서 이 작업을 수행하려면 먼저 원격 리포지토리에서 최신 업데이트를 가져와야 합니다. 그런 다음 검토하려는 원격 분기를 마우스 오른쪽 단추로 클릭하고 체크 아웃 팁 커밋을 선택합니다.