기능 하나 만들다가 절반쯤 짰는데 갑자기 팀장님이 급한 버그 있으니 main에서 바로 고쳐달라고 하셨어요. 근데 브랜치를 바꾸려니까


error: Your local changes to the following files would be overwritten by checkout


이러면서 checkout이 안 됩니다. 지금 짜던 건 아직 커밋하기엔 너무 어중간해서 커밋하기도 싫고요.


찾아보니까 stash라는 게 있던데, 이게 지금 상황에 쓰는 거 맞나요? 대충


git stash
git checkout main
(버그 고치고 다시 돌아와서)
git stash pop


이런 흐름이면 되는 건가 싶은데, pop이랑 apply는 또 뭐가 다른지 모르겠어요. 그리고 stash 여러 번 하면 그건 어디에 쌓이는 건지, 나중에 뭐가 뭔지 헷갈릴 거 같은데 목록 보는 방법도 있나요? 혹시 stash 했다가 날려먹는 경우도 있는지 궁금합니다.