[Git] Reset 수행 후 복구 방법
Git을 사용하다 보면 중간에 의도하던 의도하지 않던 reset을 하는 경우가 발생한다. 이 때 복구를 원할 때는 다음과 같이 수행한다.
# git reset --hard [Target Commit] $ git reset --hard HEAD~1 # 현재 commit 첫 번째 이전으로 돌가기
$ git reflog 3ef42b2 HEAD@{0}: 3ef42b2: updating HEAD 0306015 HEAD@{1}: checkout: moving from master to master 0306015 HEAD@{2}: checkout: moving from master to master 0306015 HEAD@{3}: 0306015bccf36f6ef5588255f4d7f8f0190041a6: updating HEAD 3ef42b2 HEAD@{4}: commit: Update defines in tb 4065828 HEAD@{5}: commit: Initial 199d98b HEAD@{6}: commit: Supports different maximum size between SRAM and VROM
git reflog는 이전까지했던 작업들의 log를 확인 해 몇 번째 commit으로 이동할지 확인한다. 여기엔 현재 HEAD 기준으로 몇 번째 commit인지를 나타내는 값이 있는데, 이 값을 이용해서 이동 가능하다. 참고로 comment를 보고 어떤 위치로 돌아갈지를 알고 있어야 한다.
만약 HEAD@{3}
으로 이동 할 것이면 아래와 같이 수행하면 된다.
$ git reset --hard HEAD@{3}