git stash --patch로 선택적 변경사항 저장하기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- Git을 사용하는 개발자
- 작업 중 특정 변경사항만 저장하고 싶은 경우
- 작업 디렉토리 정리 및 커밋 관리가 필요한 상황
핵심 요약
git stash --patch
는 선택적 변경사항 저장을 가능하게 함s
명령어로 하unks 분할하여 세부 변경사항을 개별적으로 관리 가능--keep-index
옵션으로 스테이징된 파일 보존 가능--include-untracked
로 비추적 파일도 저장 가능
섹션별 세부 요약
1. 기능 개요
git stash --patch
는 일반git stash
와 달리 특정 변경사항만 선택적으로 저장 가능y
(저장),n
(건너뛰기),s
(하unks 분할) 등의 인터랙티브 옵션 제공- 작업 중 불필요한 변경사항을 일시적으로 제거하여 테스트 가능
2. 실습 예제
example.py
파일에서greet
과add
함수 변경사항을 분리하여 개별 저장s
명령어로 하unks 분할 후greet
변경사항만 저장 가능add
변경사항은 작업 디렉토리에 남아 있음
3. 고급 사용법
--keep-index
옵션으로 스테이징된 파일 보존git stash -p -- '*.js'
로 JavaScript 파일만 선택적으로 저장git stash show -p
로 스테이시 내용을 패치 파일로 내보내기 가능git stash apply --index
로 스테이시 복구 시 병합 충돌 처리 가능
결론
git stash --patch
는 정확한 변경사항 관리에 필수적인 도구s
명령어로 하unks 분할 및--include-untracked
옵션 활용하여 작업 흐름 최적화git stash show -p
로 생성된 패치 파일을 사용하여 다른 환경에서 스테이시 공유 가능