실수로 git stash 를 모두 clear 해버렸다. 😱 개발 중인 것들이 있어서 멘붕에 빠졌는데.. 알고보니 git stash 를 복구할 수 있는 방법이 있었다. 바로 적용해보기로 !
git fsck --no-reflog | awk '/dangling commit/ {print $3}' | xargs -L 1 git --no-pager show -s --format="%ci %H" | sort
최근 dangling commit들이 날짜 순으로 정렬되어 나온다.
날짜를 보고, 내가 추적하고 있는 stash가 무엇인지 대략적으로 추측해본다.
찾은 hash값으로 다음 명령어를 입력한다.
git stash apply {stash의\_hash값}
변경된 코드를 보고 내가 찾던 stash가 맞는지 보면 된다. 만약 아니라면 다시 rollback하고, 위에서 찾은 다른 hash값으로 똑같이 시도해보면 된다.
위 방법을 통해 정말 다행스럽게도 작업하고 있던 git stash를 다시 복구할 수 있었다. 👍 👍
https://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git
출처: https://starkying.tistory.com/entry/restoring-git-stash [Random Access Memories]