아찔한 경험 (feat.git)

살다보면 뭘 해도 안되는 날이 있기 마련이다.

팀 프로젝트를 하던중 팀 공통 nav바를 깃허브에서 가져와서 적용하는 와중에 내 브랜치에서 팀 nav.scss를 건드린 후 커밋후 푸쉬를 해버렸다.

뒤는게 깨닫고 해당 컴포넌트를 삭제한 후 다시 내 브랜치에 푸쉬를 한 뒤에 마스터에서 merge를 하지 않고 다시 pull을 하였는데

결과는 짜라란 초.기 셋.팅 상태..!
너무 당황해서 멘탈에 금이 갔지만 그래도 다행히 깃헙에는 중간중간 커밋을 했기에 실수하기 전 내 코드는 살아있었다.

브랜치로 다시 이동을 해서 클론을 받을까 했는데 이런 화면이 뜨면서 브랜치도 이동할 수 없는 상황

이때부터 차분했던 나의 감정에 서서히 균열이 나기 시작했던거 같다.

아 '어떡해 어떡해.....~~!!!!!!!!' 만 외치다가는 해결이 나지 않을것 같아 구글에 search를 하는데 reset, 강제 삭제같은 듣기만해도 겁이나는 것들만 나와서 결국 멘토님에게 도움을 요청했다.

돌아오는 답변 is 그냥 브랜치 하나 다시 파서 클론받으세요~!

그건 용납이 되지 않았다..

나중에 이런일이 일어나면 안되긴 하지만 또 다시 일어난다고 그 때도 클론받아서 다시 할거 아니잖아?

결국 두시간동안 해매고 해매다가 알게 된 생명의 단어

git stash

git stash 란 뭘까 궁금해져서 찾아보게 되었다.
git stash는 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어이다. 이를 통해 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내와 마무리할 수 있다.

해결 방법

먼저 staging area에 깃을 스테이징 시켜주고
git stash로 스택에 새로운 stash가 만들어지게 하고 이 과정으로 working directory가 깨끗하게 만들었다. 그러니깐 새로운 작업을 위한 다른 브랜치로 이동 할 수 있게 되었다.

그 후에 내 브랜치로 다시 이동했고

git status로 현재 브랜치에 파일 상태를 확인했다.
그 후 마스터와 merge를 했다.

제목처럼 너무 아찔한 경험이었다..!
오늘의 경험으로 다신 이런 실수 안하도록 노력해야겠다~

좋은 웹페이지 즐겨찾기