git reset
vsgit revert
차이 완벽 정리
프로젝트를 진행하다 보면, 이전 커밋으로 전체 코드를 되돌려야 할 상황이 생깁니다.
이때 가장 많이 쓰이는 두 가지 명령어가 `git reset과 git revert
입니다.
하지만 이 둘은 작동 방식과 기록에 미치는 영향이 완전히 다릅니다.
git reset
— 과거 상태로 "이력 자체"를 변경git reset --hard <commit_hash>
--force
필요)git revert
— 되돌리는 "새로운 커밋" 생성git revert <commit_hash>
명령어 | 이력 보존 여부 | 협업 안전성 | 동작 방식 |
---|---|---|---|
git reset | ❌ (삭제됨) | ⚠️ 위험 | 과거 커밋으로 브랜치를 강제로 되돌림 |
git revert | ✅ (보존됨) | ✅ 안전 | 되돌리는 내용을 새 커밋으로 추가 |
git reset --hard
git revert
reset
revert
✔️ git reset
은 과거로 시간 여행하듯 이력을 지워버리고,
✔️ git revert
는 되돌림 이력을 남기며 안전하게 롤백합니다.
👉 상황에 맞춰 올바른 명령어를 선택하세요!