VCS/Git

git reset 복구. git reset 취소하기.

이웃비 2021. 6. 13. 21:43

aws accesskey가 노출되었다고 메일이 왔다.

github를 확인해보니 특정 커밋에 정말 accessKey가 고스란히 노출되고 있었다. 잘 피해서 commit하고 있다고 생각했는데 초기에 올라갔나보다;;

별생각없이 git commit기록 지우기를 검색해보니 git reset 커밋기록 --hard 를 쓰면 된다고 해서 썼는데... 엔터를 치면서도 이상하다고 생각을 하면서도 그대로 눌러버렸다. 

결과는 이전 커밋으로 그대로 돌아가버린것;;;; 사실 reset이라는 말이 의미하듯이 정말 말그대로 돌아간다는 뜻인데, 정신이 몽롱한채로 남 따라가다가 그야말로 망해버렸다. 이래서 잠이 중요하다..

부랴부랴 git reset 취소로 검색하니 나처럼 우는 사람들 엄청 많더라...

 

아무튼 해당 문제는 git reset하기 전으로 돌려주면 되는 거였다.

먼저 git reflog로 commit 기록을 확인해보면

reset하여 이전 commit인 195284fe0b로 돌아갔다는 기록 이전에

HEAD@{1}로 가장 최근에 한 commit을 확인할 수 있었다.

 

확인 후 git reset --hard HEAD@{1} 를 입력했지만 

해당 에러가 떠서 다시금 멘붕에 빠지게 만들었다. 왠지 한번 리셋하니까 하나하나 다 떨리는 것...

 

찾아보니 윈도우에서는 이렇게 입력하면 unknown switch 'e 에러가 뜬다고 한다.

해결방법은 HEAD@{1}를 ''로 감싸주는것!

git reset --hard 'HEAD@{1}' 로 다시 시도

두근두근한 시간을 거쳐...

완료! 잘 돌아왔다