1 minute read

💡 해당 내용은, 생활코딩 영상을 기반으로 작성하였습니다.

Stash 란?

  • Working Directory의 변경 사항을 감춘다
  • git add된 파일에 한해서만 적용, 즉 버전 관리가 되어지고 있는 파일만 Stash 작업 진행 가능
  • 사용 예시
    • 특정 브랜치로 작업을 하다가 다른 브랜치로 Checkout해서 업무를 진행해야할 때, 이전에 작업 중이던 내용을 어딘가에 숨겨둘 수 있음
    • 그 브랜치의 가장 최신 커밋, 즉 HEAD의 버전으로 이동해서 현재 브랜치의 상태를 깔끔하게 만들고, 다른 브랜치로 Checkout 할 수 있음

💫 git stash 또는 git stash save

  • 작업하던 내용을 감출때 사용하는 명령어
  • Saved working directory and index state WIP on exp: 7ebc9b4 1
    • WIP : Working In Process, 즉 작업중이라는 뜻

💫 `git stash apply

  • 감춰놓았던 작업(git stash 적용된 작업)을 복원하는 명령어

💫 git stash list

  • git stash 를 통해 숨겨놓은 작업들

💫 git reset —hard HEAD

  • 가장 최신 커밋 상태로 우리 워킹 카피를 보내는 것
  • 해당 명령어를 입력한 뒤, git status를 확인해보면 커밋할 것이 없다고 뜸
  • git stash list를 해보면 stash는 남아있음
  • 즉, stash는 명시적으로 삭제하지 않는 이상 남아있음!

💫 git stash drop

  • 가장 최신 stash 삭제

Git stash 명령어 실습

  1. vim f1.txt : 새 파일 생성
  2. git stash : 작업 숨김
  3. vim f2.txt : 새 파일 생성
  4. git stash : 작업 숨김
  5. git stash list : 2개의 작업 있음
    stash@{0} WIP on exp 8ebdc83 1
  6. git apply : stash@{0} 이 적용됨, 즉 가장 최신 stash가 적용됨
  7. git stash list : stash@{0} 이 삭제되지 않은 것 확인할 수 있음
  8. git stash drop : 가장 최신 stash 삭제하기
  9. git stash list : 1개만 남아있는 것 확인할 수 있음
  10. git stash pop 또는 git stash apply; git stash drop; : stash 적용 후 바로 삭제

Leave a comment