글자 크기

📘 Ep.05 | 실수도 기록이다 — reset과 revert

수채화 스타일의 노트에 ‘RESET’과 ‘REVERT’라는 글자가 각 페이지에 적혀 있고, 왼쪽에는 되돌림 아이콘, 오른쪽에는 초록색 체크표시가 그려져 있다.

🧭 시리즈 전체 보기 → [늦깎이 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은 언제든 되돌릴 수 있게 해준다.
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, 둘의 차이

항목resetrevert
동작 방식특정 커밋으로 되돌리고 이후 삭제특정 커밋을 무효화하는 새로운 커밋 생성
기록 유지 여부❌ 삭제됨 (hard의 경우)✅ 모든 히스토리 보존
협업 시 사용❌ 위험 (공동 작업 불일치 발생)✅ 안전 (히스토리 공유됨)

혼자 할 땐 reset,

함께 할 땐 revert.


✍️ 마무리하며

실수는 지우는 것이 아니라

되새기고 기록하는 것이다.

reset은 과거로 돌아가는 기술,

revert는 과거를 품고 앞으로 나아가는 기술이다.

그리고 우리는

둘 다 사용할 줄 아는 늦깎이 기록자가 되기로 했다.


🔖 다음 예고

📘 Ep.06 | 나만의 평행 우주 — 브랜치란 무엇인가?

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다