Git에서 특정 커밋 전체로 프로젝트 되돌리는 방법

0

Git

목록 보기
7/13
post-thumbnail

🐙 Git에서 특정 커밋 전체로 프로젝트 되돌리는 방법

git reset vs git revert 차이 완벽 정리

프로젝트를 진행하다 보면, 이전 커밋으로 전체 코드를 되돌려야 할 상황이 생깁니다.
이때 가장 많이 쓰이는 두 가지 명령어가 `git resetgit revert입니다.
하지만 이 둘은 작동 방식과 기록에 미치는 영향이 완전히 다릅니다.


✅ 1. git reset — 과거 상태로 "이력 자체"를 변경

🔹 사용 예시

git reset --hard <commit_hash>

🔹 특징

  • 지정한 커밋 이후의 모든 커밋 이력 삭제
  • 워킹 디렉토리와 스테이징 영역이 지정한 커밋 상태로 완전히 되돌아감
  • 원격 저장소와 충돌 가능성이 있음 (푸시 시 --force 필요)

📌 사용 시 주의점

  • 공유 브랜치에서는 위험 → 팀원들의 작업 이력이 꼬일 수 있음
  • 개인 브랜치나 로컬 환경에서만 안전하게 사용 가능

✅ 2. git revert — 되돌리는 "새로운 커밋" 생성

🔹 사용 예시

git revert <commit_hash>

🔹 특징

  • 지정한 커밋의 변경 사항을 반대로 적용한 새로운 커밋을 생성
  • 기존 커밋 이력은 그대로 유지
  • 원격 저장소와 안전하게 동기화 가능

📌 장점

  • 협업 시 안전
  • 과거 이력을 보존하면서 문제되는 변경만 되돌림

✅ 3. 차이점 한눈에 보기

명령어이력 보존 여부협업 안전성동작 방식
git reset❌ (삭제됨)⚠️ 위험과거 커밋으로 브랜치를 강제로 되돌림
git revert✅ (보존됨)✅ 안전되돌리는 내용을 새 커밋으로 추가

✅ 4. 언제 무엇을 써야 할까?

  • 개인 작업 브랜치git reset --hard
  • 공유 브랜치(팀 프로젝트)git revert
  • 히스토리를 깔끔하게 정리하고 싶을 때reset
  • 이력을 보존하면서 안전하게 되돌릴 때revert

🟢 마무리

✔️ git reset과거로 시간 여행하듯 이력을 지워버리고,
✔️ git revert되돌림 이력을 남기며 안전하게 롤백합니다.

👉 상황에 맞춰 올바른 명령어를 선택하세요!


0개의 댓글