Tech/Git

[Git] git stash 사용법, 커밋없이 브랜치 변경하기

0m1n 2023. 3. 23. 19:00
728x90
반응형

git stash 란?

  • 작업 도중 커밋을 할 수는 없는 상태지만, 브랜치 전환을 하거나 커밋 변경을 해야할때 임시적으로 저장할 수 있는 명령어
  • commit되기 이전 작업 중 파일과 git add로 추가된 파일 까지 모두 stash 영역으로 저장되며 수정분량은 제거됨
  • git add 명령어로 한번이라도 index 영역에 트래킹 된 파일만 stash영역으로 저장

git stash 명령어

  • git stash :
    • 기본 이름 WIP 로 저장됨
    • git stash save 이름 으로 원하는 이름 설정 가능
  • git stash list
    • stash 한 목록들 확인
  • git stash apply
    • 가장 최근에 저장한 stash를 복원
  • git stash apply 아이디
    • 아이디 는 git stash list 명령어를 실행시 리스트 앞에 있는 개별적인 id 값 (stash@{0})
    • 해당 아이디 임시 저장 복원
  • git stash drop
    • 가장 최근에 저장한 stash를 삭제
  • git stash drop 아이디
    • 해당 아이디 리스트 삭제
  • git stash clear
    • stash 기록 모두 삭제
  • git stash pop
    • stash를 복원하고 바로 제거

자주 사용하는 상황

  • 해당 브랜치에서 작업하다 다른 브랜치로 체크아웃하고 싶은데 커밋은 남기기 싫을때
    • git stash후 git checkout 브랜치
    • 다시 돌아와서 git stash apply 통해 복구 가능
728x90
반응형