Menu
Coddy logo textTech

Git Stash

마지막 업데이트

git stash는 커밋하지 않은 변경 사항을 보관하고 작업 트리를 깨끗한 상태로 되돌려, 절반쯤 완료된 작업을 커밋하지 않고도 브랜치를 전환하거나 pull할 수 있게 해줍니다. 변경 사항은 스택에 쌓이며, 나중에 git stash pop(적용 후 제거) 또는 git stash apply(적용 후 유지)로 다시 적용할 수 있습니다.

터미널 플레이그라운드에서 이것들을 사용해 보세요 - 브라우저 안의 실제 셸이며, 설치할 것이 없습니다.

구문

CommandWhat it does
git stash추적되는 변경 사항을 보관하고 작업 트리를 정리
git stash -u추적되지 않은 파일도 stash
git stash push -m "msg"설명 메시지와 함께 stash
git stash push <file>특정 파일만 stash
git stash list모든 stash 목록 보기
git stash pop최신 stash를 다시 적용하고 제거
git stash apply최신 stash를 다시 적용하고 유지
git stash drop최신 stash 삭제
git stash clear모든 stash 삭제

pop vs apply

Behaviorgit stash popgit stash apply
변경 사항을 다시 적용
이후 stash를 제거아니요
stash 재사용에 적합아니요

Git stash 자주 묻는 질문

git stash는 무엇을 하나요?
커밋하지 않은 변경 사항을 스택에 저장하고 작업 트리를 마지막 커밋으로 재설정하여 깨끗한 상태를 제공합니다. 변경 사항은 사라지지 않습니다 - 보관되어 나중에 git stash pop 또는 git stash apply로 다시 적용할 수 있습니다. 커밋할 준비는 안 되었지만 브랜치를 전환해야 할 때 유용합니다.
git stash pop과 git stash apply의 차이는 무엇인가요?
둘 다 가장 최근 stash를 작업 트리에 다시 적용합니다. git stash pop은 그 후 해당 stash를 스택에서 제거하는 반면, git stash apply는 스택에 남겨 두어 다른 곳에서 다시 적용할 수 있게 합니다. 일회성 복원에는 pop을, stash를 재사용하려면 apply를 사용하세요.
git stash는 추적되지 않은 파일을 포함하나요?
기본적으로는 포함하지 않습니다 - 일반 git stash는 추적되는(수정된) 파일만 보관합니다. 추적되지 않은 파일을 포함하려면 -u(git stash -u)를, 무시된 파일까지 포함하려면 -a를 추가하세요. 이 플래그들이 없으면 git add하지 않은 새 파일은 작업 트리에 남습니다.
특정 stash는 어떻게 적용하나요?
git stash list를 실행하면 stash@{0}, stash@{1}처럼 번호가 매겨져 표시되며, 그 후 git stash apply stash@{1}(또는 pop)로 특정 stash를 다시 적용합니다. 각 stash는 생성될 때의 브랜치와 메시지도 표시하므로 서로 구별할 수 있습니다.
이것을 온라인에서 연습할 수 있나요?
네. 터미널 플레이그라운드를 열어 브라우저 안의 실제 셸에서 git stash를 실행할 수 있습니다 - 설치할 것이 없습니다. Coddy의 무료 인터랙티브 Git 강좌에서도 진행 중인 작업을 관리하는 방법을 단계별로 다룹니다.
Coddy programming languages illustration

Coddy로 Git 배우기

시작하기