주제 3
버전 관리
Git graph를 이용하여 버전 관리하는 방법을 배워보도록 하겠습니다.
Extension 추가하기
Git Graph on Visual Studio Marketplace
Git Graph
Source Control에서 그래프 모양의 버튼을 클릭하거나 window 하단의 'Git Graph’를 클릭하여 Git graph에 접근할 수 있습니다.
Git graph에 접근하면 다음과 같은 화면을 확인할 수 있습니다.
인터페이스
각 영역의 설명은 다음과 같습니다:
| Section | 설명 |
|---|---|
| 1 | 지금까지 Push한 commit들을 시각화하여 보여줍니다. |
| 2 | 현재 다루고 있는 Commit과 해당 message를 나타냅니다. 이것을 Current branch라고 합니다. Check out으로 다른 Commit으로 이동할 수 있지만, 본 강의에서는 다루지 않습니다. |
| 3 | 각 Commit이 Push된 날짜와 Push한 사람, 그리고 Commit의 고유 번호를 나타냅니다. |
변경사항 확인(Review of changes)
변경사항을 확인하고 싶은 Commit을 클릭하면 다음과 같은 화면을 확인할 수 있습니다. 파일명의 색깔의 의미는 다음과 같습니다:
| 색상 | 의미 |
|---|---|
초록색 |
파일이 새로 생성된 경우입니다. |
노란색 |
기존의 파일을 수정한 경우입니다. |
빨간색 |
파일이 삭제된 경우입니다. |
변경사항을 더 자세히 확인하고 싶은 경우 Commit을 클릭하면 다음과 같은 화면을 확인할 수 있습니다.
왼쪽은 변경 전의 내용이고, 오른쪽은 변경 후의 내용입니다.
예를 들어, 'revised file.txt’를 클릭하면 다음과 같이 'Also, I like dogs’라는 문장이 추가되었음을 알아낼 수 있습니다.
옛날 버전으로 돌아가기
Commit들 간의 이동은 예민하고 복잡하므로, 옛날 버전으로 돌아가기 전에는 오른쪽의 화면처럼 Source Control에서 변경 사항이 없는 상태에서 진행하는 것을 추천합니다.
만약 코드를 공유하고 있는 경우 reset이 아니라 revert를 추천합니다. 또한 branch를 추천합니다. 하지만 본 강의에서는 다루지 않습니다.
- 돌아가고 싶은 버전의 commit을 오른쪽 클릭하고, "Reset current branch to this commit."을 클릭하세요.
- 그러면 오른쪽 화면을 확인할 수 있습니다. 세 가지 option 중에 하나를 선택할 수 있고, 각 option의 설명은 다음과 같습니다:
| Option | 의미 |
|---|---|
Soft |
변경 이력은 모두 삭제하지만 선택한 과거의 Commit과 현재의 변경 사항을 모두 받아들입니다. |
Mixed |
변경 이력은 모두 삭제하지만 변경 내용은 남기고 선택한 과거의 Commit을 받아들입니다. |
Hard |
변경 사항을 모두 삭제하고 선택한 과거의 Commit만 받아들입니다. |
- 선택한 option에 따라서 최우선적으로 Push를 성공시킨 후에 작업을 이어나가는 것을 추천합니다.
Version Control은 과정이 복잡하기 때문에 처음에는 신중히 “Hard” option만을 사용하는 것을 추천합니다.
보다 자세한 내용은 아래 링크의 자료들을 참고하세요.
Git Graph와 reset은 version history를 확인하거나 관리할 때 유용합니다. 기록을 되돌리기 전에는 Source Control 상태가 깨끗한지 확인하고, 어떤 변경 사항이 남는지 먼저 이해한 뒤 진행하세요.