🧭 시리즈 전체 보기 → [늦깎이 Git 입문서 목차]
📘 Ep.00 | Prologue. 왜 나는 Git을 배우기로 했는가?
📘 Ep.01 | Git은 되돌릴 수 있는 나의 일기장이다
📘 Ep.02 | Git 설치부터 따라하기 – 나만의 환경 만들기
📘 Ep.03 | git init과 첫 커밋 — 이곳에서 기록이 시작된다
📘 Ep.04 | 커밋은 시간의 북마크 — log, diff, HEAD
📘 Ep.05 | 실수도 기록이다 — reset과 revert
📘 Ep.06 | 나만의 평행 우주 — 브랜치란 무엇인가?
📘 Ep.07 | GitHub란 무엇인가 — 기록의 창고
📘 Ep.08 | README는 디지털 자기소개서다
📘 Ep.09 | 나만의 Git 루틴 만들기
📘 Ep.10 | Git으로 삶을 정리한다 — 늦깎이들의 회고법
🌊 아무것도 되돌릴 수 없을 것 같은 날
살다 보면 그런 날이 있다.
“내가 왜 그랬을까”라는 말만 자꾸 머리에 맴도는 날.
시간을 되돌리고 싶지만
현실은 그렇게 쉽지 않다.
하지만 Git은 우리에게 이렇게 말한다:
“실수도 괜찮아.
원하면 언제든 돌아갈 수 있어.”
🛠 git reset — 시계를 되감는 기술
reset은 나를
이전의 특정 커밋 시점으로 이동시켜준다.
마치 시간을 되돌리는 듯한 명령어다.
git reset --hard [커밋ID]
예:
git reset --hard 892fbe0b9
🛑 이 명령어는 되돌린 이후의 모든 커밋과 변경사항을 날려버린다.
그래서 **‘하드’**라는 이름을 갖는다.
💡 reset은 조심해서 써야 한다
- –soft는 커밋만 취소하고 변경사항은 유지
- –mixed는 커밋과 staging만 취소하고 작업 파일은 유지
- –hard는 모든 걸 이전 상태로 덮어씌움
마치 일기장을 찢고 다시 쓰는 느낌이지.
🔁
git revert — 실수마저 기록하는 방법
reset은 흔적을 없애는 반면,
revert는 실수를 되돌리되 기록으로 남긴다.
git revert [커밋ID]
이 명령어는 새로운 커밋을 하나 만들어
이전 커밋을 “무효화”하는 방식으로 작동한다.
예:
git revert 892fbe0b9
→ “이 커밋은 실수였으므로 되돌립니다.”라는 하나의 흔적이 남는다.
🧠 reset vs revert, 둘의 차이
항목 | reset | revert |
---|---|---|
동작 방식 | 특정 커밋으로 되돌리고 이후 삭제 | 특정 커밋을 무효화하는 새로운 커밋 생성 |
기록 유지 여부 | ❌ 삭제됨 (hard의 경우) | ✅ 모든 히스토리 보존 |
협업 시 사용 | ❌ 위험 (공동 작업 불일치 발생) | ✅ 안전 (히스토리 공유됨) |
혼자 할 땐 reset,
함께 할 땐 revert.
✍️ 마무리하며
실수는 지우는 것이 아니라
되새기고 기록하는 것이다.
reset은 과거로 돌아가는 기술,
revert는 과거를 품고 앞으로 나아가는 기술이다.
그리고 우리는
둘 다 사용할 줄 아는 늦깎이 기록자가 되기로 했다.
🔖 다음 예고
📘 Ep.06 | 나만의 평행 우주 — 브랜치란 무엇인가?