Git Stash : 임시저장

Sangyeon·2022년 3월 2일
0

Git

목록 보기
7/12
post-thumbnail

작업 내역이 있는 상태에서 다른 브랜치로 체크아웃해야하는 경우, 현재 작업 내역을 임시저장하기 위해 git stash 명령어를 사용합니다.

임시저장

$ git stash 명령어를 사용하면 작업 트리의 Modified, Staged 상태인 파일의 내용을 모두 stash에 저장하게 됩니다.(Untracked 상태의 파일 제외)
Untracked 상태의 파일도 함께 임시저장하려면, --include-untracked 옵션을 추가해야 합니다.

$ git stash
$ git stash —-include-untracked

임시저장 목록 확인

$ git stash list

각 stash 내역이 stash@{숫자} 형식으로 보여지게 되는데, 이는 stack 구조로 가장 최근에 stash된 내역이 0번이고, 내역이 추가될수록 기존 stash된 내역이 1, 2 .. 순서로 밀려서 저장됩니다.

임시저장 불러오기 및 삭제(POP)

$ git stash pop
$ git stash pop stash@{숫자}

stash@{숫자}를 지정하지 않으면 가장 최근에 stash된 내역(stash@{0})을 불러오고 해당 stash 내역이 삭제됩니다.

임시저장 불러오기

$ git stash apply의 경우, $ git stash pop과 다르게 stash 내역을 삭제하지 않고 불러오기만 합니다.

$ git stash apply
$ git stash apply stash@{숫자}

임시저장 삭제

stash 내역을 별도로 삭제해야하는 경우, $ git stash drop 명령어를 사용합니다.

$ git stash pop = $ git stash apply + $ git stash drop 이라고 볼 수 있을 거 같습니다.

$ git stash drop
$ git stash drop stash@{숫자}

임시저장 전체 삭제

$ git stash clear

임시저장 내역 보기

stash 내역을 확인할 때 $ git stash show 명령어를 사용합니다.

$ git stash show
$ git stash show stash@{숫자}

임시저장 내역의 브랜치 생성

stash된 내역으로 새로운 브랜치를 생성합니다.
이때, $ git stash pop과 마찬가지로 stash된 내역은 삭제됩니다.

$ git stash branch <브랜치명>
$ git stash branch <브랜치명> stash@{숫자}

Reference

https://git-scm.com/docs/git-stash

profile
I'm a constant learner.

0개의 댓글