Git , Github

[git] 실수로 삭제한 stash내역 되돌리기

mandelina 2022. 7. 6. 20:57

사건의 개요 ^_^

 

1번 브랜치에서 작업중 다른 브랜치에서 작업할 거리가 생겨 stash를 해두고 다른브랜치에 넘어갔다.
그리고 자연스럽게 develop브랜치에서 stash를 pop해버림 . .

당황해서 stash list를 지우고 ..?   (왜지웠지 . . . .하)
지웠는데도 충돌이 나서 그냥 reset --hard를 때려버렸다.

하지만 처참하게도 stash list 내역은 모두 삭제된 상태.. ^^
삭제한 stash를 다시 복구시켜 적용시켜보자!!!  

 

 

1. stash를 삭제한 내역 찾기

 

아래 명령어를 입력하면 

git fsck --no-reflog | awk '/dangling commit/ {print $3}' | xargs -L 1 git --no-pager show -s --format="%ci %H" | sort

 

아래와 같은 문구가 나온다.

 

 

저기서 노란색으로 칠해진 stash hash값을 가져오면 된다. 

다행히 나는 오늘 처음 stash를 사용하여 하나의 내역밖에 없었다!

 

만약 여러개의 stash가 있다면 날짜를 보고 추정하세요 (. . .) 

 

 

2. 복사한 stash hash값을 아래 코드에 넣어준다.

 

git stash apply stash의_hash값

 

 

 

그러면 삭제되었던 stash를 다시 apply할 수 있다!!

 

 


 

참고 : https://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git

 

How to recover a dropped stash in Git?

I frequently use git stash and git stash pop to save and restore changes in my working tree. Yesterday I had some changes in my working tree that I had stashed and popped, and then I made more chan...

stackoverflow.com

 

'Git , Github' 카테고리의 다른 글

[git | github]  (0) 2022.03.31