[Git] Stash란 무엇이고 사용방법 알아보기

Git 2023. 6. 25.

 

  stash 란?

 

Stash는 현재 작업 디렉토리와 스테이징 영역의 변경사항 일시적으로 저장해 두는 기능이다. 이를 통해서 변경사항을 commit 하지 않고도 다른 작업을 진행 하거나 다른 branch로 작업할 수 있다.

 

요약하자면 아직 commit 하지 않은 변경사항을 일시적으로 저장해두는 "임시 저장 공간"이라고 할 수 있다.

이를 통해서 변경사항을 유지한 채로 다른 작업을 진행하거나 다른 branch로 전환할 수 있다.

 

 

  stash 사용방법

 

stash에 넣을거고, 메세지는 "my Directory" 이다. 라는 의미이다.

git stash push -m "my Directory"

 

 

tracking 되지 않은 파일도 stash에 넣고 싶다면 -u 옵션을 붙여주면 된다.

git stash -u

 

 

stash list 보는방법

git stash list

 

위 이미지에서 stash@{숫자}는 stash의 아이디 같은 것이다.

 

해당 stash를 보고싶다면 아이디를 복사하고 다음과 같이 명령어를 작성하면 된다.

그럼 수정된 내용을 간단하게 보여주고 -p 옵션을 사용하면 조금 더 자세하게 보여준다.

git stash show 스태시_아이디

 

 

  stash 불러오기

 

불러올 stash 아이디를 복사하고 다음 명령어를 작성하면 된다.

아이디를 입력하지 않으면 가장 최근의 stash를 불러온다.

git stash apply 스태시_아이디

 

  apply와 pop의 차이점

 

git stash apply는 적용을 하고, list를 확인해 보면 stash들이 계속 존재한다는 것을 볼 수 있다.

반면에 git stash pop을 한다면, 최근 stash를 적용하고 stash list에서 삭제하게된다.

 

 

 

  특정 stash 삭제하기

 

git stash drop 스태시_아이디

 

 

  모든 stash 삭제하기

 

git stash clear