반응형

개요

Stash 사용예

Stash 개념

Stash 특징

Stash 주의점

Stash 명령어

Stash 참고사항

 

Stash 사용예

- 현재 수정사항들이 있어서 다른 branch로 checkout을 하지 못할 때.

- 현재까지 변경된 사항을 잠깐 저장 후 원래 소스로 테스트하고 싶을 때. 그리고 추후에 꺼내고 싶을 때.

(잠깐 저장은 git stash save 라는 명령어로, 다시 꺼낼 때는 git stash pop 명령어로 한다)

 

Stash 개념

- 아직 Commit을 완료하지않은 작업들을 저장할 수 있는 스택. 또는 그것에 저장하고 갖고오는 명령어.

- Commit 되기 이전 작업 중 파일과 git add로 추가된 파일을 모두 stash 영역에 저장.

 

Stash 특징

- 워크스페이스에서 수정한 파일들만 저장

- 아래 파일들을 저장

 * Tracked 상태인 파일들을 수정한경우.

 * Staging Area에 있는 파일

 

(Tracked상태 파일 : 이전 커밋에도 해당 파일이 존재했음.)

(Staged상태 파일 : git add 명령을 실행한 파일).

 

Stash 주의점

- index 영역에 Tracking된 파일만 저장됨.

- 새롭게 생성된 파일들은 git add 후 git stash 명령어를 사용 or git statsh -u를 사용해야함.

새롭게 생성된 파일들은 Untracked 파일들이다)

 

Stash 명령어

// 스택에 stash 저장
git stash

// 위 명령어와 같음
git stash save

// 새롭게 생성된 파일까지 stash 저장. (하지만 add 후 stash 저장하는거 추천)
git stash -u

// 이름 부여 후 stash 저장
git stash save [이름]

// 응용
git stash save -u [이름]

// stash 목록 보기
git stash list

// 최근에 저장한 stash 복원
git stash apply

// 해당 아이디 stash 복원 (stash아이디와 이름은 다름)
git stash apply [stash 아이디]

// 최근에 저장한 stash drop
git stash drop

// 해당 아이디 stash drop
git stash drop [stash 아이디]

// stash 모두 제거
git stash clear

// stash 복원 후 바로 제거
git stash pop

 

Stash 참고사항

- apply는 단순히 stash를 적용하는 것, stash는 stash 스택에 남아있음.

- stash에 꺼낼 때, 현재 브랜치가 stash에 저장했던 브랜치일 필요는 없음. (다만 충돌있으면 알려줌)

 

인용

Git을 잘 써보자- 5. git stash https://suwoni-codelab.com/git/2018/04/06/Git-stash/

[Git] git stash 명령어 사용하기 https://gmlwjd9405.github.io/2018/05/18/git-stash.html

반응형