Important

  • 스태시의 기초
  • git status save/pop

 

Nice To Have

  • git stash 적용
  • 스태시 삭제
  • 여러개의 스태시로 작업하기

 

스태시는 유용한 기능이지만 반드시 사용해야 하는 상황은 발생하지 않는다.

대부분 save와 pop을 사용한다.

 

브랜치에서 작업을 하다가 완료되지 않은 상태라서 커밋을 하지 않고 다른 브랜치로 이동해야 하는 경우에는 상황에 따라 해당 작업이 이동하는 브랜치로 따라오거나 깃에서 브랜치를 이동하지 못하도록 막는(병합 커밋 발생 예상시) 두가지 옵션이 존재한다.

이 때 스태시를 사용한다.

 

 

git stash (=git stash save)

커밋되지 않은 변경사항을 저장하고 변경사항들을 모두 초기화시킨다.

내용이 삭제되는것이 아니라 스태시에 저장된 상태이다.

 

 

git stash pop

스태시에 저장된 가장 최근 목록을 가져오고 삭제한다.

 

 

git stash apply

방식은 pop과 동일하다. 단, 스태시가 삭제되지 않고 남기때문에 여러 브랜치에서 동일한 내용을 적용할 수 있다.

 

 

git stash list

스태시는 여러개 등록이 가능하다.

 

한 브랜치에서 여러번의 스태시는 흔한 일은 아니다

스태시 아이디를 통해서 특정 스태시를 적용시킬 수 있다.

 

스태시를 적용하고 바로 다른 스태시를 적용하려고 하면 위와 같이 에러가 발생한다.

작업 내용이 덮어씌워지기 때문에 에러가 발생하고 병합 되기전에 커밋이나 스태시를 하라고 한다.

 

 

git stash drop

특정 스태시를 삭제시킬 수 있다.

 

 

git stash clear

모든 스태시를 삭제한다.

+ Recent posts