Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- version-control
- Performance
- Kubernetes
- API
- Infra
- Security
- backend
- NextJS
- observability
- database
- CI
- frontend
- reliability
- aws
- web
- Ops
- 버전관리
- Microservices
- Operations
- JavaScript
- 성능
- SRE
- HTTP
- Git
- react
- DevOps
- auth
- CSS
- Debugging
- architecture
Archives
- Today
- Total
고민보단 실천을
git restore 파일 복구 실무: 작업 파일 취소와 스테이징 해제 안전하게 처리하기 본문
git restore 파일 복구 실무: 작업 파일 취소와 스테이징 해제 안전하게 처리하기
git restore는 checkout의 복구 기능을 분리해 파일 복원과 스테이징 해제를 더 명확하게 수행할 수 있게 만든 명령어다. 초보~중급 개발자가 바로 적용할 수 있도록 명령어 흐름, 옵션 선택 기준, 복구 절차를 실무 중심으로 설명한다.

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 | 복원 기준 커밋 지정 | 특정 버전 상태로 파일을 되돌릴 때 |
| --patch | hunk 단위 선택 복원 | 파일 일부 변경만 되돌리고 싶을 때 |
실무 적용 순서
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
'GIT' 카테고리의 다른 글
| git rm 실무 정리: 추적 파일 삭제와 캐시 제외 처리, 복구까지 한 번에 (0) | 2026.02.23 |
|---|---|
| git revert로 안전하게 되돌리기: 공유 브랜치 커밋 취소와 충돌 해결 방법 (0) | 2026.02.23 |
| git reset으로 커밋 되돌리기: --soft·--mixed·--hard 차이와 복구 실무 가이드 (0) | 2026.02.22 |
| git reflog 복구 가이드: 사라진 커밋과 브랜치를 되찾는 단계별 실전 방법 (0) | 2026.02.22 |
| git rebase 실무 정리: interactive rebase와 충돌 복구, 안전한 강제 푸시 기준 (0) | 2026.02.22 |
Comments
