본문 바로가기

Git & GitHub

git stash 명령어

반응형

git stash

- 현재 상태 임시 저장하기

- git pull을 당겨와야하는데 commit이 안된 상태라면? / 현재 수정한 코드가 있는 상태에서 git pull을 한다면 그대로 날라가기 때문에 잠시 저장할 때 사용한다. 

 

 

= 워킹 디렉토리에서 수정한 파일들(Modified, Tracked 상태, Staged 상태의 파일들)을 커밋하지 않고도 따로 stash stack에 보관할 수 있는 기능

 

 

1. 변경사항 stash stack에 담기

 

git stash

 

- 마지막 commit 이후의 변경사항들이 stash stack에 담긴다. +) 동시에 해당 디렉토리에 있는 변경사항들이 없어진다.

- Modified && Tracked 상태, Staged 상태의 파일들이 담긴다. (untracked files, ignored files 파일 모두 stash에 담고 싶다면 git stash --all 명령어 사용)

 

 


~~ 작업하기 ~~

 


 

2. stash stack에 담긴 변경사항 다시 가져오기 + 반영

 

git stash pop

 

- 가져오기와 삭제를 동시에 하기 (apply + drop)

 

+ 같은 브랜치의 같은 파일 수정의 경우

error : Your local changes to the following files would be overwritten by merge 

발생

 

 


 

+ 그 외 명령어

 

 

- untracked files, ignored files 포함해서 모든 파일 stash stack에 담기

 

git stash --all

 

 

- stash 리스트 확인하기

git stash list

 

 

- 해당 stash 상태로 돌아가기

 

//가장 최근 임시저장 상태 가져오기
git stash apply

//or

git stash apply [stash ID]

//+) --index 옵션
//staged 상태까지 복원
git stash apply --index 

 

 

- stash 리스트 삭제하기

 

//가장 최근 임시저장 상태 삭제하기
git stash drop

//or

git stash drop [stash ID]

 

'Git & GitHub' 카테고리의 다른 글

git commit 메세지 규칙  (0) 2021.02.10
GitBash - vi 에디터  (0) 2020.12.23
gitignore 추가하기  (0) 2020.12.22
push 취소하기  (0) 2020.12.13
새로운 branch 생성하기  (0) 2020.12.05