apply 명령어를 실습하기 위해 현재의 임시 작업 내용을 다시 스태시로 저장합니다.
infoh@DESKTOP MINGW64 /e/gitstudy07 (test)
$ git stash 스태시 저장
Saved working directory and index state WIP on test: a43043e new feature start
현재 출력되는 스태시 목록은 test 브랜치에서 작업 중인 내용입니다. feature 브랜치로 이동한 후에도 스태시에 저장된 내용을 확인할 수 있습니다. stash 명령어로 임시 작업 내용들을 스택에 저장하면 브랜치 간 이동이 가능합니다. 기존 checkout 명령어를 사용하여 feature 브랜치로 이동합니다.
infoh@DESKTOP MINGW64 /e/gitstudy07 (test)
$ git checkout feature 브랜치 이동
Switched to branch 'feature'
그리고 feature 브랜치에서 스태시 스택 목록을 확인합니다.
infoh@DESKTOP MINGW64 /e/gitstudy07 (feature)
$ git stash list 스태시 목록
stash@{0}: WIP on test: a43043e new feature start test 브랜치에서 저장된 스태시
스태시의 저장 구조는 스택이며, 스택에 임시 작업 내용을 여러 개 저장할 수 있다고 했습니다. 그리고 작업 내용이 여러 개 저장되었을 때는 stash@{번호} 형태로 출력됩니다. 스택은 마지막에 저장된 작업을 가장 먼저 불러오는 구조입니다. apply 명령어는 pop 명령어와 달리 마지막 작업 내용이 아니라, 스택 목록의 중간 작업을 지정하여 적용할 수 있습니다. 이때는 다음과 같이 apply 명령어 뒤에 스태시 이름을 적어 주면 됩니다.
예
$ git stash apply stash@{1}