본문 바로가기
GIT

[GIT] git reset 취소하기

by 무사뎀벨레 2022. 3. 31.

 

 

 

git reset을 하다 보면 reset 하기 이전으로 돌아가야 할 경우가 생깁니다.

그럴 경우 먼저, git reflog를 입력하여 이전 이력들을 조회합니다.

 

 

 

 

 

git reflog


git reflog 명령어에서 reflog는 reference log를 의미합니다.

이렇게 기존 이력들을 볼 수 있는 이유는, Git에서 커밋, 체크아웃, 머지 등의 이력을 모두 기록하고 있기 때문입니다.

 

$ git reflog
1c6743127 (HEAD -> dev) HEAD@{0}: reset: moving to head~1
f48441c33 (origin/dev) HEAD@{1}: commit: update older code3
1c6743127 (HEAD -> dev) HEAD@{2}: reset: moving to head~1
f48441c33 (origin/dev) HEAD@{3}: reset: moving to head~1
e535d54a8 HEAD@{4}: commit: update older code2
f48441c33 (origin/dev) HEAD@{5}: commit: update older code

위처럼 이전 이력이 나온다면, git reset --hard HEAD@{돌아갈 번호} 를 입력하여 되돌릴 수 있습니다.

 

$ git reset HEAD@{1}

위처럼 입력을 하면 f48441c33 커밋으로 돌아갈수있습니다. 물론 아래처럼 git reset --hard 커밋id 를 통해서도 해당 위치로 돌아갈 수 있습니다.

$ git reset f48441c33

 

또한, reflog를 활용하는 명령어이기 때문에 reset 한 내용을 취소하는 것뿐 아니라 커밋 등의 작업도 취소할 수 있습니다.

반응형

댓글