선택
버전 관리
Windows의 VS Code에서 Git Graph로 커밋 기록과 파일별 변경 내용을 확인합니다.
Git Graph 설치
VS Code의 Extensions에서 Git Graph를 검색하고, 게시자가 mhutchie인지 확인한 뒤 Install을 선택합니다. 아래 Marketplace 링크에서 확장 정보를 확인할 수 있습니다.
Git Graph on Visual Studio Marketplace
Git Graph
Git 저장소 폴더를 VS Code에서 연 뒤 Ctrl+Shift+P를 눌러 Git Graph: View Git Graph를 실행합니다. 아래 기존 화면처럼 Source Control의 버튼이나 상태 표시줄의 Git Graph 항목으로도 열 수 있습니다.
그래프의 점과 선은 커밋 및 브랜치의 연결을 보여줍니다. main은 로컬 브랜치, origin/은 마지막으로 확인한 원격 브랜치 위치를 가리킵니다. 두 표식은 항상 같은 커밋에 있지는 않습니다.
인터페이스
아래 기존 화면의 번호는 다음 영역을 가리킵니다.
| 번호 | 영역 | 표시 내용 |
|---|---|---|
| 1 | 그래프 | 점은 커밋, 선은 커밋 사이의 연결과 브랜치 분기를 보여줍니다. |
| 2 | 설명과 표식 | 커밋 메시지와 main, origin/ 같은 브랜치 위치를 보여줍니다. 선택한 커밋과 현재 브랜치는 서로 다른 개념입니다. |
| 3 | 날짜·작성자·커밋 | 화면 설정에 따른 커밋 날짜, 작성자, 짧은 커밋 ID를 보여줍니다. 날짜는 Push 시각을 뜻하지 않습니다. |
변경 사항 확인
커밋을 선택하면 그 커밋에서 변경된 파일 목록이 열립니다. 아래 기존 화면에서는 new file.tex가 추가되고, revised file.txt가 수정됐으며, deleted file.txt가 삭제됐습니다. 화면 색상은 표시 설정에 따라 달라질 수 있으니 파일 상태도 함께 확인합니다.
커밋의 파일 목록에서 파일명을 선택하면 VS Code 비교 화면이 열립니다. 왼쪽은 변경 전, 오른쪽은 변경 후입니다. 아래 예시에서는 revised file.txt에 “Also, I like dogs.”가 추가됐습니다.
이전 버전 확인과 Reset
과거 커밋의 내용을 살펴보려면 그래프에서 해당 커밋을 선택합니다. 커밋을 선택해 변경 내용을 보는 것만으로 현재 파일이나 브랜치는 바뀌지 않습니다. 실제 복구 방법을 고르기 전에는 Source Control에서 미커밋 변경이 있는지 확인합니다.
이미 공유한 커밋 하나의 변경을 취소할 때는 새 취소 커밋을 만드는 revert가 적합합니다. 아래 기존 화면의 Reset current branch to this commit은 현재 브랜치 위치를 옮기므로, 단순히 과거 내용을 살펴볼 때 실행하지 않습니다.
아래 기존 이미지는 Git Graph의 Reset current branch to this commit 메뉴를 보여줍니다. Reset은 현재 브랜치를 선택한 커밋으로 옮기는 명령입니다. 실행 전에 각 옵션이 작업 파일과 스테이징 영역에 미치는 영향을 확인합니다.
| 옵션 | 브랜치·파일에 미치는 영향 |
|---|---|
| Soft | 브랜치를 선택한 커밋으로 옮기고, 스테이징 영역과 작업 파일은 그대로 둡니다. |
| Mixed | 브랜치를 옮기고 스테이징 영역을 선택한 커밋과 맞춥니다. 작업 파일은 그대로 둡니다. |
| Hard | 브랜치, 스테이징 영역, 추적 중인 작업 파일을 선택한 커밋과 맞춥니다. 저장하지 않은 변경이 사라질 수 있습니다. |
이미 GitHub에 게시한 브랜치를 과거 커밋으로 Reset하면 로컬과 원격 이력이 달라져 일반 Push가 거부될 수 있습니다. 공유된 변경을 취소하려면 새 취소 커밋을 만드는 revert를 검토합니다. Hard는 미커밋 변경이 사라질 수 있으므로 작업을 보존할 방법을 확인한 뒤 사용합니다.