카테고리 없음

[Git] 브랜치 전환 시 작업 내용을 임시 저장하는 방법 (git stash)

niahh 2025. 3. 1. 23:01

팀프로젝트 작업을 하다가, dev 브랜치에서 확인하고 싶은 것이 생겨 내 브랜치에서 작업하는 도중 갔다와야 하는 일이 생겼다.

만약 feat 브랜치에서 작성하던 코드를 날리고 싶지 않으면 git stash 라는 명령을 쓰면 된다.

순서

  1. 현재 작업 내용을 임시 저장:

     git stash push -m "작업 중인 내용 설명"
    
  2. dev 브랜치로 이동:

     git switch dev
    
  3. dev 브랜치에서 필요한 작업을 하고 다시 feat 브랜치로 돌아온다:

     git switch feat
    
  4. 작업하던 내용 복원:

     git stash pop
    

git stash pop 은 stash 에 저장된 변경사항을 적용 (임시저장했던것을 에디터에 다시 적용) 하고 stash 를 삭제한다.

만약 임시저장한 내용을 삭제하고 싶지않다면 git stash apply 를 사용한다.

만약 여러 번 stash 했다면?

저장 목록을 보고 특정 stash 를 꺼내올 수도 있다:

git stash list # stash 한 목록 줄력 
# 예시 출력 

stash@{0}: On branch_name: 작업 설명 2  
stash@{1}: On branch_name: 작업 설명 1

git stash pop stash@{0}  # 가장 최근 stash 복원. 0 은 stash에 매겨진 번호이다. 

아직 여러번 stash 를 해보진 않았지만 하게 되면 다시 돌아와서 방법을 자세히 설명해보도록 하겠다.