일모도원(日暮途遠) 개발자

[Git] 작업중인거 임시 저장하고 이전상태로 가기 (stash) 본문

개발/Git

[Git] 작업중인거 임시 저장하고 이전상태로 가기 (stash)

달님개발자 2022. 8. 21. 23:54

소스를 짜다가 기능이 완료되어 저장을 할려면 commit을 하면 된다.

 

하지만 소스가 다 완성되기 전에 일단 임시로 저장해두고 이전소스로 가거나 다른 브랜치로 가야할때가 있다.

 

이때는 stash라는 명령어를 쓰면 된다.

디아블로2를 해본 사람들은 스태쉬를 잘 알것이다. 창고(倉庫,storage)라고 부르기도 한다.

 

그냥 git stash라고 입력하면 현재 작업중인게 임시 저장소에 저장되고, 작업 이전의 상태로 돌아간다.

> git stash

 

만약 이름을 적어주고 싶으련 -m옵션을 주고 이름을 주면 된다. m은 message의 약자이다.

> git stash push -m "stash하는 이유"

 

임시 저장소이 있는 리스트를 보고 싶으면 list 옵션을 주면 가장 나중에 임시 저장한것을 맨위에 보여준다.

"On dropdown"은 dropdown이라는 브랜치에서 임시저장을 했다는거다. ":" 다음은 임시저장 메시지다.

> git stash list

리스트를 다보고 빠져나올려면 q(quit)를 누른다.

 


마지막에 저장했던 stash를 다시 사용할려면 apply를 사용하면 된다.

> git stash apply

git stash apply stash@{숫자} 형태로 이전꺼도 가져올수 있다. git stash apply는 git stash apply stash@{0}과 동일하다.

예) git stash apply stash@{1}  마지막에서 2번째꺼를 가져온다.

 

stage상태로 되돌릴려면

git stash apply --index 처럼 index명령어를 붙여준다.