고민보단 실천을

git restore 파일 복구 실무: 작업 파일 취소와 스테이징 해제 안전하게 처리하기 본문

GIT

git restore 파일 복구 실무: 작업 파일 취소와 스테이징 해제 안전하게 처리하기

Just-Do-It 2026. 2. 23. 13:59

git restore 파일 복구 실무: 작업 파일 취소와 스테이징 해제 안전하게 처리하기

git restore는 checkout의 복구 기능을 분리해 파일 복원과 스테이징 해제를 더 명확하게 수행할 수 있게 만든 명령어다. 초보~중급 개발자가 바로 적용할 수 있도록 명령어 흐름, 옵션 선택 기준, 복구 절차를 실무 중심으로 설명한다.

git restore reference image
공식 Git 로고 (출처: git-scm.com)

git restore 기본 사용 패턴

git restore --staged src/api/order.ts
git restore --worktree src/api/order.ts
git restore --source HEAD~1 --worktree src/api/order.ts

자주 쓰는 옵션 3~6개

항목의미언제 쓰는지(실무 상황)
--staged스테이징 영역에서만 복원잘못 add한 파일을 제외할 때
--worktree작업 디렉터리 파일 복원로컬 수정 취소가 필요할 때
--source복원 기준 커밋 지정특정 버전 상태로 파일을 되돌릴 때
--patchhunk 단위 선택 복원파일 일부 변경만 되돌리고 싶을 때

실무 적용 순서

1) 실행 전 상태 확인

git status와 git log로 현재 위치를 확인한다. 특히 원격 공유 브랜치인지, 로컬 전용 브랜치인지 먼저 판단해야 안전하다.

2) 목적에 맞는 옵션 선택

동일 명령어라도 옵션에 따라 이력 보존, 충돌 위험, 협업 영향이 달라진다. 팀 정책과 배포 단계에 맞춰 옵션을 고른다.

3) 실행 후 검증

명령 실행 뒤에는 status, diff, 테스트를 통해 결과를 검증한다. 필요하면 즉시 복구 명령(reflog, revert, stash)을 연계한다.

문제 상황 1개

상황: 잘못 스테이징된 파일이 커밋에 섞일 위험이 생겼다.
원인: add -A 후 상태 확인 없이 커밋하려 했다.
해결: restore --staged로 스테이징을 분리하고 필요한 파일만 다시 add한다.
예방 팁: 커밋 직전 status와 diff --staged를 함께 확인한다.

참고/출처

공식 문서: git-restore manual
공식 문서: git command overview (switch/restore)
신뢰 자료: Tower Learn - git restore

Comments