본문 바로가기

Git, Version control/Github

[github] git을 이용해 과거시점으로 돌아가기(checkout 이용)

반응형

git을 이용해서 내가 과거에 snapshot을 찍은 시점, 즉 commit한 시점으로 돌아가는 방법을 다뤄볼 것입니다!

 

현재 내 HEAD위치가 어디인지 알고싶어서 다음과 같은 명령어로 내 위치를 확인할 수 있습니다.

git log

현재 시점에서 내 repository

 

git log명령어는 현재 내 HEAD가 어디있는지도 알려주고 내가 있는 branch에서 어떤 commit들을 수행해왔는지를 보여줍니다.

 

위 그림에서 내 HEAD위치는 4e545로 시작하는 곳에 있는데, 바로 전 시점인 d76af로 돌아가려면 어떻게 해야할까요?

git checkout d76af2270262e455337e1e98bcd40bc6fea4527a

위 명령어를 수행하면 됩니다. 결과화면은 아래와 같습니다.

HEAD가 d76af22 로 와있는것을 확인할 수 있고 내 repository는 아래와 같이 바뀌어 있을겁니다.

바로 위의 repository 사진과 비교해보면 git_test 라는 파일이 없는 것을 확인할 수 있는데 이는 git_test라는 파일을 커밋하기 전 시점으로 돌아왔기 때문입니다.

 

 

여기서 현재 내가 있는 branch의 가장 끝단으로(가장 최근 commit이 있는 곳)오고 싶다면 checkout 명령어 뒤에 commit log를 입력하는게 아니라 branch이름을 입력해주면 됩니다. 

git checkout <branch이름>

다시 repository를 확인해보니 git_test 파일이 있는것을 확인할 수 있습니다!!

 

마찬가지로 다른 branch로 이동할 때도 동일한 명령어로 이동할 수 있습니다. 아래는 origin/main branch로 이동할때의 화면입니다.

 

 

만약 본인이 가장 최근 commit한 코드가 잘못된 코드라서 지우고 싶다면 아래의 링크를 참고하길 바랍니다~

https://powerofsummary.tistory.com/211

반응형