stash 명령어
Stash 명령을 사용하면 워킹 디렉토리에서 수정한 파일들만 저장한다. Stash는 Modified이면서 Tracked 상태인 파일과 Staging Area에 있는 파일들을 보관해두는 장소다. 아직 끝내지 않은 수정사항을 스택에 잠시 저장했다가 나중에 다시 적용할 수 있다 - 'git-scm.com'
① 도움말 확인
$ git stash --help
② stash 저장 목록 확인
$ git stash list
③ 작업 내용 임시 저장
$ git stash push -m "메시지 작성"
👉 이 경우 Tracked 파일이면서 Modified 상태이거나, Staging Area에 있는 파일만 대상이 됨
$ git stash push -um "메시지 작성" // untracked 파일까지 전부 stash 저장함
👉 untracked 파일까지 저장하고 싶으면 옵션 -u(또는 --include-untracked) 추가하면 됨
④ apply :: 적용 후 유지
👉 apply의 경우 stash list는 보존하고 지정한 stash@{번호}의 내용을 working directory에 적용함
$ git stash list // 번호 확인
$ git stash apply stash@{번호} // 복원
$ git status // working directory 반영 확인
$ git stash list // 유지되어 있는거 확인
또는
$ git stash apply --index stash@{번호} // staged 상태까지 복원
⑤ pop :: 적용 후 삭제
👉 pop의 경우 working directory에 내용 적용한 후에 stash list 에서 삭제함 (apply + drop 형태)
$ git stash list // 번호 확인
$ git stash pop stash@{번호} // 복원
$ git status // working directory 반영 확인
$ git stash list // 지정한 stash 삭제 확인
⑥ 삭제 :: drop
👉 drop 명령어 사용시 stash@{번호} 지정하지 않을 경우 가장 최근에 등록된 stash가 삭제됨 (LIFO, 왠지 스택같다🤔)
$ git stash drop // 가장 최근 stash 삭제
$ git stash drop stash@{번호} // 지정한 stash@{번호} 삭제
$ git stash list // 삭제 확인
⑦ stash 내용 확인
👉 stash 에 저장된 내용 조회 가능
$ git stash show -p stash@{번호} // 특정 stash 에 저장된 파일의 변경 내용 확인
또는
$ git stash show -p stash@{번호} | grep "검색하려는 단어" // 특정 검색어가 포함된 내용만 찾을 수 있다! 👨💻
stash 잘 활용하면 작업 내용 관리하기 정말 편리해짐 ✨
Reference
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Stashing%EA%B3%BC-Cleaning
https://wayhome25.github.io/git/2017/05/16/git-07-stashing-cleaning/
https://code.tutsplus.com/tutorials/quick-tip-leveraging-the-power-of-git-stash--cms-22988
'공부 > Git' 카테고리의 다른 글
[Git] rebase 활용하여 커밋에서 원하지 않는 파일 빼기 (0) | 2022.05.26 |
---|---|
[Git] tag (0) | 2022.03.22 |
[Git] 개인 Git Hub repository(저장소) 와 local repository 연결하기 (0) | 2021.08.05 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!