기타 개발 관련

[Git] git stash란? git stash 사용법 명령어 모음

izongg 2025. 1. 16. 21:33
반응형

git stash 란?

작업내용을 임시로 따로 저장해놓을 수 있는 기능이다.

이 기능을 알기 전과 알고 난 후의 git 활용 능력에는 큰 차이가 있다.

git stash 언제 사용하지?

내가 실제로 git stash를 쓰는 상황은 다음과 같다.

  1. A브랜치에서 작업 중 다른 브랜치로 이동이 필요한 상황, 커밋하기는 부담스러울 때
  2. 작업중 pull을 받아야 하는 상황에 안전하게 받기 위해서
  3. 작업 중 새로운 방식으로 테스트를 위해 잠시 백업 용도

git stash 명령어

▷ git stash

작업 내용을 임시 저장한다.

새로 추가된 파일(untracked files)은 저장되지 않는다.

 

▷ git stash -u

작업 내용을 임시 저장한다.

새로 추가된 파일(untracked files)도 같이 저장된다.

-u를 붙여서 사용한다.

 

▷ git stash list

저장한 목록을 볼 수 있다.

저장을 하면 stash@{0}으로 저장되며, 기존 것들은 번호가 하나씩 밀려난다.

 

▷ git stash save “스태쉬 이름”

특정 이름으로 stash를 저장한다

목록을 보면 브랜치 이름과 커밋 메세지 등으로 저장되어서 관리하기 어려울 수 있으므로 사용한다.

아래와 같이 특정 이름으로 나오도록 저장할 수 있다.

 

▷ git stash pop

저장되어있는 목록 중 0번 째( stash@{0} )를 불러온다.

가장 최근에 저장한 것을 제일 먼저 불러오는 구조이다.

불러오면 저장되어있는 stash는 사라지고, 나머지 번호가 하나씩 앞으로 당겨진다

 

▷ git stash pop stash@{n}

특정 stash를 불러오고, list에서 그 stash는 사라진다.

 

▷ git stash apply

저장되어있는 목록 중 0번 째를 불러온다.

pop과 같이 가장 최근에 저장한 것을 제일 먼저 불러오는 구조이다.

하지만 저장되어있는 stash는 사라지지않고 불러오기만 한다.

 

▷ git stash apply stash@{n}

특정 stash를 불러오고, list에서 그 stash는 사라지지 않는다.

 

▷ git stash drop

0번째 stash를 리스트에서 삭제한다

 

▷ git stash drop stash@{n}

특정 stash를 리스트에서 삭제한다

 

▷ git stash clear

리스트에서 모든 stash를 삭제한다.

반응형