[git] git revert로 commit 이력 되돌리기

제이브로·2025년 7월 24일
0

git

목록 보기
11/11
post-thumbnail

1. Commit 이력 되돌리기

커밋을 취소하고 싶지만, 커밋 자체를 없애고 싶진 않은 경우, git revert로 취소 커밋을 남기고, 커밋을 되돌리는 방법

2. Commit 이력 되돌리기 방법

  1. 최근 commit 되돌리기
    • git revert HEAD
    • HEAD는 가장 최신 커밋을 되돌린다
    • HEAD~1는 두 번째로 최신 커밋
    • HEAD~2는 세 번째로 최신 커밋
  2. 되돌리는 커밋 로그 출력
    • :q로 종료 시, 취소 커밋이 생성된다
    • 두 개를 되돌리기에 두 번 나온다
  3. 되돌린 커밋 이력 push
    • git push로 되돌린 커밋 이력 origin으로 push

2.1 최근 두 개의 commit 되돌리기

  1. 최근 두 개의 commit 되돌리기
    • git revert HEAD~2..HEAD
    • HEAD~2 부터 HEAD 커밋을 되돌린다
  2. 되돌리는 커밋 로그 출력
    • :q로 종료 시, 취소 커밋이 생성된다
    • 두 개를 되돌리기에 두 번 나온다
  3. 되돌린 커밋 이력 push
    • git push로 되돌린 커밋 이력 origin으로 push

3. git reset과의 차이점

  1. git revert

    • 새로운 커밋을 생성하여 기존 변경 사항을 취소
    • 커밋 이력이 그대로 유지되어 github에 안전하게 사용할 수 있다
  2. git reset

    • 특정 커밋 지점으로 HEAD를 이동시키며, 커밋 이력이 완전히 없어진다.
    • git reset --soft로 stage된 상태로 reset
    • git reset --hard로 완전히 reset
    • 원격 저장소에 git push --force를 통해 강제로 업데이트 필요

4. 추가 명령어

  1. 커밋하기 전에 실제로 되돌려진 변경 사항이 올바른지 확인
    • git diff --cached
  2. 두 개 이상의 커밋을 되돌릴 경우, 하나의 revert 커밋으로 만들기
    1) git revert --no-commit HEAD~2..HEAD
    2) git commit -m "Reverted last two commits"

감사합니다.

profile
기록하지 않으면 기록되지 않는다.

0개의 댓글