Appia의 IT세상

[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내 본문

Development/GIT

[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내

Appia 2023. 12. 6. 07:42
반응형

[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내

[깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내

 

이전 포스팅에서는 git의 변경사항들에 대해서 임시저장을 할 수 있는 기능인 git stash에 대해서 사용하는 방법에 대해서 이야기했었습니다. git branch(브랜치)을 전환하는 데 있어서, 변경사항들을 임시로 저장하는 방법은 매우 중요한 기능입니다. 실제 작업을 하면서도 사용빈도도 매우 높은 편입니다. 물론, 가장 핵심인 기능은 바로 git stash / git stash pop이라는 것에 대해서는 다시 한번 강조하고 싶습니다. 

 

[깃, Git] Git stash 다양한 사용법(apply, 다중 stash)

 

[깃, Git] Git stash 다양한 사용법(apply, 다중 stash)

[깃, Git] Git stash 다양한 사용법(apply, 다중 stash) 일단, 앞선 포스팅에서, Git Stash를 이용한 변경사항을 커밋하지 않고 branch를 전환하는 방법에 대해서 이야기를 해봤습니다. 실제, 앞선 포스팅에선

appia.tistory.com

 

이번 포스팅에서는 과거 commit에 대해서 확인하고, 현재로 다시 돌아오는 방법에 대해서 한번 살펴보고자 합니다. 이 또한 매우 자주 사용되는 기능입니다. 먼저, 이전에 만들어놓은 Repository 기준으로 다음 표시되는 commit 기준의 항목을 확인을 하고, 다시 현재의 상태로 돌아오는 방법에 대해서 이야기를 해보고자 합니다. 

확인할 commit

 

먼저, commit을 확인하기 위해서는 git checkout을 사용합니다. 물론, 이전에도 언급을 드렸지만, 실제 git checkout의 경우 다양한 기능을 수행합니다. 하지만, 확실히 중요한 명령어인 것은 사실입니다. 먼저, 이 부분을 통해서, 이전 commit 상태로 확인하는 방법을 보면 다음과 같습니다. 

$ git checkout [commit hash]

먼저, 위에서 언급된 commit hash를 확인하기 위해서 다음 명령어를 통해서 현재 commit 정보를 확인하겠습니다. 

$ git log --oneline

물론, git log명령어를 통해서 전체 commit hash를 사용해도 되지만, --oneline 옵션에 사용되는 앞 7자리만 사용하셔도 됩니다. 

git log --oneline 결과

 

그리고 나서 다음 명령어를 직접 실행하여 이전 commit을 확인해보도록 하겠습니다.

$ git checkout 8531a31

git check out [commit hash]결과 

그리고 나서 다시 한번 git log --oneline 명령어를 통해서 현재 commit 상태를 확인을 해보도록 하겠습니다. 하기와 같이 보시는 바와 같이 이전에 목포로 한 부분 이후에 commit된 내용들은 안보입니다. 단, 현재 repository 디렉토리 옆에 보이는 부분과 HEAD 표시가 약간 이전과 상이하다는 것을 알 수 있습니다. 

git checkout [commit hash] 이후에 git log --oneline 결과

 

이 부분을 GitKraken에서 한번 살펴보겠습니다. 

gitkraken에서 본 결과

 

아시는 분들은 아시겠지만, 현재 약간 이상함을 느낄 수 있습니다. 바로 다음 그림에서 그 원인에 대해서 이야기를 해보도록 하겠습니다. 원래 HEAD는 각 브랜치의 최신 commit을 가리키고 있습니다. 하지만, git checkout [commit hash] 명령어를 사용할 결과는 다음과 같은 결과를 나타낼 수 있습니다. 즉, 브랜치의  최신 commit이 아니라, 이전 commit을 HEAD가 가리키고 있는 상태입니다. 우리는 이것을 Detached HEAD라고도 합니다. 

Detached HEAD의 이미지

 

이렇게 Detached HEAD 상태에서, 다시 현재의 branch의 최신 commit으로 HEAD을 돌리기 위해서는 git switch 명령어를 통해서 브랜치를 전환해 주시면 됩니다. 

git switch를 통한 현재로 되돌아가기

 

그러면 위의 보이는 그림과 같이 현재로 되돌아가기가 성공하였습니다. 

 

[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기

 

[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기

[깃, Git] git branch(깃 브랜치)보기, 생성, 전환하기 이전 포스팅에서는 git branch(깃 브랜치) HEAD(헤드)의 개념에 대해서 살펴봤습니다. 이전 포스팅에서는 실습 및 방법에 대해서는 전혀 언급하지 않

appia.tistory.com

 

이번 포스팅에서는 [깃, Git] Git 이전 commit 확인 및 되돌아가기: 쉽고 빠른 방법 안내라는 주제로 포스팅을 해봤습니다. 실제로, 이 부분은 매우 많이 사용되는 부분이기 때문에, 이 부분을 토대로 작업하실 때에, 이전 commit등을 확인하실 때에 매우 유용하게 사용하실 수 있을 것이라고 생각합니다. 작업하시다가 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 도움이 되셨다면, 공감 및 소통 부탁드립니다. 감사합니다. 

반응형
Comments