-
[Git] Stash 개념과 사용 방법 - Commit 할 수는 없는데 브랜치 전환이 필요할 때!Programming/Git 2023. 4. 23. 21:38반응형
[들어가기 전에]
프로젝트를 하다보면 종종 아직 작업한 부분이 Commit을 할 수는 없는 상태인데
브랜치 변경을 해서 다른 브랜치에서 작업이 급하게 필요할 때 현재 작업한 부분을 어떻게 해야할지..?애매한 상황이 종종 발생하곤 했었다!그럴 때 파일의 변경 사항들을 임시적으로 저장할 수 있는 것이 Git Stash!
이번에 강의를 들으면서 새롭게 알게 되었다. 역시 안되는건 없다,,
[Git Stash 개념]
: 아직 완성되지 않은 작업을 스택에 임시 저장할 수 있도록 하는 깃 명령어
- stash는 워킹 디렉토리에서 수정한 파일들만 저장(아래 2가지 종류의 파일)
1) Modified & Tracked 상태의 파일2) Staging Area에 있는 파일(Staged 상태의 파일)
[사용 방법]
1. 하던 작업 stash에 임시 저장
# 새로운 stash 만들기 $ git stash push -m "message" # stash를 만들지만 현재 있는 애들 staging area에 남겨 놓기 (원래 stash 하면 사라짐) $ git stash --keep-index # untracked 파일도 포함하여 stash에 옮기기 git stash -u
stash에 작업중인 파일들을 저장하고 나서 새로운 작업을 위해 다른 브랜치로 변경 가능
2. stash 목록 확인
# 모든 stash 목록 조회 $ git stash list
3. stash 적용하기 (했던 작업 가져오기)
# 가장 최근의 stash를 가져와 적용 $ git stash apply # stash 해쉬 값을 가져와 적용 $ git stash apply hash # stage한 상태까지 모두 원복하려면 --index 옵션 붙여줘야 함 $ git stash apply --index # stash를 적용한 후 해당 stash를 목록에서 바로 삭제 $ git stash pop
4. stash 삭제하기
# 가장 최근의 stash 제거 $ git stash drop # 해시값에 해당하는 stash 제거 $ git stash drop hash # 전체 stash 삭제 $ git stash clear
반응형'Programming > Git' 카테고리의 다른 글
[Mac M1] zsh: command not found: code (VS code에서 설치했는데도 안될 때!) (0) 2023.04.23