기본 패턴
text
# 로컬에서 아직 정리 중이면
git reset --soft HEAD~1
# 이미 공유된 커밋을 취소하려면
git revert <commit>설명
reset은 현재 브랜치 포인터를 옮겨 히스토리를 다시 쓰는 성격이 강합니다.revert는 특정 커밋의 반대 변경을 새 커밋으로 추가해 이력을 보존합니다.- 아직 혼자 작업 중인 로컬 정리에는
reset이 유용할 수 있습니다. - 이미 공유된 브랜치에서 안전하게 취소하려면 보통
revert가 더 적절합니다.
짧은 예제
text
실수로 잘못된 문서를 main에 push 한 경우:
git revert a1b2c3d
결과:
- 과거 커밋은 남음
- 되돌리는 새 커밋이 추가됨빠른 정리
| 명령 | 특징 |
|---|---|
git reset | 브랜치 포인터를 옮겨 히스토리를 다시 씁니다. |
git revert | 취소용 새 커밋을 만들어 이력을 남깁니다. |
| 로컬 정리 | reset이 유용할 수 있음 |
| 공유된 브랜치 취소 | revert가 대체로 안전 |
공식 참고: git-reset, git-revert
주의할 점
이미 다른 사람이 pull 한 브랜치에서 무심코 reset 후 강제 push 하면 협업 이력이 크게
꼬일 수 있습니다. 공유된 브랜치에서는 먼저 revert를 생각하는 편이 안전합니다.