티스토리 뷰

IT Technical Note/Git | Github

[Git] git stash

Soroya 2022. 10. 31. 12:11
728x90

변경사항을 commit 하지 않아 branch switch를 할 수 없는 상황이다.

'Please commit your changes or stash them before you switch branchs'

swtich하기전에 commit을 하던가 stash를 하라고 한다.

하지만 위의 변경 사항들은 팀원들의 잘못된 푸쉬로 github 저장소에 불필요한 파일들이 올라가 의도치 않게 나의 local의 프로젝트 설정 파일이 github의 파일과 충돌을 일으키는 변경 사항이다.

최신 버전을 가지고 있는 팀원에게 해결방법을 제시해주고 부탁드렸고 아직 해결되지는 않았다.

사실 다 날리고 다시 클론 하거나 내가 강제로 push하면 되긴 할텐데 그렇게 하지 않고 stash를 이용해보기로 했다.

 

git stash, git stash list

stash는 커밋하지 않고 변경사항을 저장하는 스테이지에 있는 내용과 아직 스테이지에 들어가지 않은 변경사항을 모두 스택에 저장해준다.

현재 상황에서 git stash를 해주면

개끗해 졌다.

여기서 git stash list 를 해보면 이렇게 stack내 쌓인 커밋하지 않았던 변경 사항들을 확인 가능하다.

이제 branch 변경이 가능해진 것 같다!

그럼 다시 stash 했던 변경사항들을 불러오고 싶다면 어떻게 해야하는가?

git stash pop

이 명령어는 이전에 stash했던 변경사항을 현재 브런치에 불러오는것 이다.

현재 브런치에 불러오므로 꼭 stash 했던 branch로 이동해 git stash pop을 해주자.

안그러면 현재 브런치에 불러오게되 또 충돌을 일으키고 해결해야 한다.

이렇게 처음 상황으로 다시 돌아오게 된다.

그러면 stash한 사항을 삭제하고 싶다면? 

git stash drop : stack 제일 위의 stash를 삭제

git stash drop stash@{#} : # 번째 를 삭제

git stash clear: stash되있는 stack을 모두 삭제

 

 

사실 이게 해결 방법이라고는 할수는 없고 내 작업을 하기 위한 임시방편일 뿐이다.

진짜로 해야할 일은 github에 올라간 설정 파일들을 지워주는 것이다.

 

EOF

 

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함