반응형
작업하다 보면 커밋을 되돌려야 할 때가 꼭 생기죠. 근데 reset이랑 revert 중에 뭘 써야 할지 매번 헷갈리는 분들 많으실 거예요. 오늘은 이거 딱 정리해드릴게요.
1. 아직 푸시 안 한 로컬 커밋을 되돌릴 때 → reset
bash
# 최근 커밋 1개 취소, 변경사항은 스테이징 상태로 남김
git reset --soft HEAD~1
# 최근 커밋 1개 취소, 변경사항까지 완전히 삭제 (주의!)
git reset --hard HEAD~1
--soft는 커밋만 풀고 작업 내용은 살려두니까, "커밋 메시지만 다시 쓰고 싶다" 할 때 유용해요.
2. 이미 푸시해서 팀원들이 받아간 커밋을 되돌릴 때 → revert
bash
# 특정 커밋을 취소하는 새 커밋을 생성
git revert <커밋해시>
revert는 히스토리를 지우지 않고 "이 커밋을 취소한다"는 새 커밋을 추가하는 방식이라, 이미 공유된 브랜치에서는 이게 훨씬 안전해요.
한 줄 요약: 나만 보는 로컬 히스토리 정리는 reset, 이미 공유된 히스토리는 revert. 이것만 기억하면 실수 없이 되돌릴 수 있습니다.
반응형