버전 관리의 아주 중요한 효능은 과거로 돌아갔다가 다시 미래로 돌아오는 등 시간을 탐색할 수 있다는 것에 있습니다. 한번 보겠습니다.
git log
git log 를 통해 현재 우리는 3개의 버전을 갖고 있다는 것을 알 수 있습니다.
Head 와 main 이라는 것이 눈에 띄는데요. 한번 이해해 봅시다.
main 은 예전에는 master 라고 불리던 것인데요. 이렇게 이해하는 것이 온전한 이해는 아니지만 우선 최신 버전이라고 생각을 해봅시다. head 가 main을 가리키고 있다는 것은 최신 버전을 가리키고 있다라고 이해하시면 되겠습니다. 이후에 다시 설명을 할 겁니다.
우리가 Message 2 라고 설명한 1ec... 코드를 가진 버전으로 되돌아가고 싶다면 어떻게 하면 될까요?
첫 번째, HEAD를 1ec... 코드를 가진 버전을 가리키게 된다면 우리의 폴더에 있는 파일들이 해당 버전으로 되돌아 가게 됩니다. 정말 그렇게 되는지 살펴보겠습니다.
git checkout 1ec94b044a36ae56fc7542bf505bef5bf5830a50
git check 1ec94b044a36ae56fc7542bf505bef5bf5830a50 라고 하면 우리의 파일들은 이 git code 가 가리키는 버전의 시점으로 돌아가게 됩니다.
이런 메시지가 나오면서 HEAD 가 1ec94b0 Message 2 버전을 가리키고 있다는 것을 알 수 있고, 실제로 디렉터리와 git log를 확인해보면 해당 버전의 시점으로 돌아온 것을 알 수 있습니다.
여기서 유심히 보면 우리가 이전에 가지고 있든 main 이 안보이는 것을 알 수 있는데, 그것은 우리가 지금은 안 보이지만 삭제되지는 않은 버전에 머물러 있기 때문입니다.
HEAD 가 1ec94b0 을 가리키니까 지금 상황이 된 것입니다.
만약 우리가 최초의 버전인 a4edf01 버전으로 돌아가고 싶다면 HEAD를 해당 버전으로 옮기면 되는 것입니다. 그리고 이때 사용하는 명령이 checkout 이라는 겁니다.
git checkout a4edf01f76f5cc7284ff982821d5ed94ca008115
git checkout a4edf01f76f5cc7284ff982821d5ed94ca008115 라고 입력하고 Enter 를 치면 HEAD가 해당 버전으로 옮겨가게 됩니다.
이렇게 된 상태에서 가장 최신이었던 상태로 돌아가고 싶다고 한다면
git checkout main
git checkout main 으로 main 버전으로 HEAD를 옮겨 줄 수 있고 디렉터리도 해당 버전의 상태로 돌아오게 됩니다.
이런 식으로 여러분들은 버전관리를 통해 과거와 미래를 왔다갔다 할 수 있다라는 것을 기억해주셨으면 좋겠습니다.
출처 : https://opentutorials.org/course/3839
'[생활코딩] 형상관리 > GIT2 CLI' 카테고리의 다른 글
GIT2 - 삭제(git reset), 되돌리기(git revert), 수업을 마치며 (1) | 2023.05.11 |
---|---|
GIT2 - 보충수업 {-am, 기본 에디터} (0) | 2023.05.10 |
GIT2 - 버전 간의 차이점 비교 (0) | 2023.05.10 |
GIT2 - 여러개의 파일을 버전으로 만들기 (0) | 2023.05.10 |
GIT2 - 버전 관리 시작하기 & 버전 만들기 (1) | 2023.05.10 |