feature/payment
에서 작업을 진행하고 있었다.
디자인팀에서 지난 번의 매거진 관련 수정사항이 급히 필요하다고 했다.
커밋을 하여 head를 최신화하는 것보단
잠시 저장소에 작업 내용을 저장하는 stash를 사용하기로 결정했다.
리모트 main
브랜치에서 로컬 main
으로 git pull을 하여
코드를 최신화 시켰다.
feature/magazine
에서 최신화 된 main 브랜치와 rebase를 진행했다.
그리고 빠르게 수정작업을 진행했고, 원격 main으로 PR 및 merge를 했다.
feature/payment로 다시 돌아와 git stash를 하여 중간에 끊긴 작업을 이어가려고 했다. 그런데 없어졌다 작업 내용들이!!!!!!!!!
별의별 고민을 다 했다.
그래도 git checkout --force
를 하진 않았다는 1000%의 확신이 있었다. 이것이 정말 중요했다.
커밋은 안했고, checkout --force를 하지 않은 것도 확실하니
git stash는 분명히 했다는 추론을 했다.
아래의 명령어를 터미널에 입력했다.
git reflog --all
무조건 복구시켜야 겠다는 생각으로
위의 모든 커밋을 하나하나 들어가 봤다.
git checkout "커밋 id"
그러다 특정 커밋에서 삭제되어 보이지 않던 models.py를 찾게됐다!
git reflog --all
을 통해 나온 로그들 중
복원을 가능하게 했던 커밋은 다음과 같다.
e225e3fe refs/stash@{1}: WIP on payment: e7f04038 .vscode 디렉토리 삭제
https://stackoverflow.com/questions/12147042/lost-git-stash-changes/22439647