Git
git 에서 임시 변경 사항만 되돌리고 싶을 때: stash + reverse patch 활용
dev-s2
2025. 3. 31. 10:46
728x90
반응형
Git stash 임시 적용 파일 되돌리는 방법
개발 도중 특정 파일들을 임시 적용했다가 다시 되돌리고 싶을 때가 있다. 이럴 때 어떻게 해야할까?
여러 방법이 있겠지만 나는 임시 적용한 파일들을 한번에 되돌리기 위해
stash를 patch 파일로 저장하고, 원하는 파일들만 되돌리는 방법을 활용했다.
이 글에서는 stash를 patch 파일로 저장하고 임시 적용 파일만 되돌리는 방법을 정리해보려고한다.
Tip: Window 환경에서는 Git bash로 실행하는 걸 추천함. PowerShell은 "stash@{0}" 같은 문법이 충돌할 수 있음.
파일 확장자가 .patch 일 필요는 없으며, vscode나 github 등 .patch 나. diff 확장자를 가진 파일에 대해 자동으로 diff 뷰를 제공하여 사용하였음
1. stash에 담긴 변경 내용을 patch 파일로 저장하기
git stash show -p stash@{0} > stash.patch
2. stash 내용을 내 소스에 적용하기
git apply stash.patch
3. 임시 파일 적용 후 다른 수정사항들을 이어서 작업.
4. 작업을 마친 후, stash 내용만 되돌리기. -R 옵션은 reverse patch로 patch 내용을 되돌리는 옵션.
git apply -R stash.patch
// --include 옵션을 사용해 특정 파일만 되돌리기
git apply -R --include=경로/파일명 stash.patch
// --exclude 옵션을 사용해 되돌리고 싶지 않은 파일을 빼고 적용
git apply -R --exclude=경로/vkdlfaud stash.patch
5. patch 파일 정리. 적용이 끝낫다면 patch는 더 이상 필요하지 않으므로 삭제한다.
stash 명령어 정리
- 현재 저장된 stash 목록 보기
git stash list
- 특정 stash 적용하기. 선택한 stash를 현재 소스에 적용.
git stash apply stash@{0}
- stash를 적용한 뒤 자동으로 제거.
git stash pop
728x90
반응형