Git Stash: 변경 사항 임시 저장과 복원
1. Git Stash 개요
git stash
는 커밋하지 않은 변경 사항을 임시로 저장하고 워킹 디렉토리를 초기 상태로 되돌리는 기능입니다.
이를 통해 브랜치를 자유롭게 이동하면서도 변경 사항을 보관할 수 있습니다.
📌 Git Stash가 필요한 상황
- 변경 사항을 커밋하지 않고 다른 브랜치로 이동해야 할 때
- 작업을 중단하고 나중에 다시 이어서 해야 할 때
- 불필요한 커밋 없이 변경 사항을 임시 저장하고 복원하고 싶을 때
2. 기본 명령어: git stash
와 git stash pop
🔹 변경 사항 임시 저장
git stash
- 스테이징 여부와 관계없이 변경 사항을 임시 저장
- 워킹 디렉토리는 커밋된 상태로 초기화됨
🔹 저장된 변경 사항 복원
git stash pop
- 가장 최근에 저장한 변경 사항을 현재 브랜치에 적용 후 삭제
📌 git stash
로 저장한 변경 사항은 이후 git stash pop
을 실행할 때까지 유지됩니다.
3. Stash 적용 방법: git stash pop
vs git stash apply
명령어 | 설명 |
---|---|
git stash pop |
스태시 적용 후 해당 항목을 삭제 |
git stash apply |
스태시 적용 후 삭제하지 않음 |
🔹 git stash apply
예시
git stash apply stash@{2} # 특정 스태시 적용
📌 동일한 변경 사항을 여러 브랜치에서 재사용할 경우 apply
를 사용
4. 여러 개의 Git Stash 관리
🔹 저장된 Stash 목록 확인
git stash list
출력 예시:
stash@{0}: WIP on main: abc123 modified index.html
stash@{1}: WIP on feature: def456 updated styles.css
🔹 특정 Stash 적용
git stash apply stash@{1}
🔹 특정 Stash 삭제
git stash drop stash@{1}
🔹 모든 Stash 삭제
git stash clear
📌 clear
명령을 실행하면 모든 Stash가 영구 삭제되므로 주의
5. Git Stash 실습
🎯 1. 변경 사항을 Stash에 저장
echo "New content" >> file.txt
git stash
git stash list # 저장 확인
🎯 2. Stash한 상태에서 브랜치 이동
git switch main # 브랜치 이동
🎯 3. 저장된 변경 사항 복원
git switch feature
git stash pop # 최근 스태시 적용 후 삭제
🎯 4. 특정 Stash 선택적으로 복원
git stash apply stash@{1} # 특정 Stash 적용
git stash drop stash@{1} # 적용 후 삭제
6. Git Stash 요약
명령어 | 설명 |
---|---|
git stash |
변경 사항을 임시 저장 |
git stash pop |
가장 최근 Stash 적용 후 삭제 |
git stash apply |
가장 최근 Stash 적용 (삭제 안 함) |
git stash list |
저장된 Stash 목록 확인 |
git stash drop stash@{n} |
특정 Stash 삭제 |
git stash clear |
모든 Stash 삭제 |
'강의 > Git & Github 실무 활용 완벽 가이드' 카테고리의 다른 글
Git diff 사용법: 변경 사항 비교와 추적 (0) | 2025.02.05 |
---|---|
Git 브랜치 병합과 충돌, 해결 (0) | 2025.02.05 |
Git 브랜치 개념과 활용 (0) | 2025.02.03 |
Git 커밋과 로그, 그리고 실용적인 팁 (0) | 2025.02.03 |
Git 기초 개념과 필수 명령어 정리 (0) | 2025.02.03 |