[Git] 과거 커밋으로 되돌리기 - Git Reset

j.log·2021년 10월 2일
4

Github

목록 보기
6/6

작업 중 실수가 있어서, 이전 이력의 특정 커밋으로 되돌리고 싶다면 다음과 같은 방법을 사용하자. 소스트리를 활용했다.


1. 메뉴 이동


  • 되돌리고 싶은 지점의 직전 커밋을 우클릭 한다
  • [ 이 커밋까지 현재 브랜치를 초기화 ] 클릭 🖱


2. 리셋 모드 비교하기


2-1. Hard

  • Hard 는 깔끔하게 해당 커밋으로 히스토리를 돌리는 가장 깔끔한 리셋모드이다.
  • 스테이지에 아무것도 남지 않는다.


2-2. Mixed

  • Mixed 는 시간을 되돌리긴 하지만, 그 이후의 변경사항은 작업공간에 남겨두는 리셋모드
  • Mixed 는 변경이력이 스테이지로부터 내려가 있다.


2-3. Soft

  • Soft 는 시간을 되돌리긴 하지만, 그 이후의 변경사항은 작업공간에 남겨두는 리셋모드
  • Soft 는 변경이력이 스테이지에 올라가 있다.



3. 주의사항


3-1. 충돌 발생

  • 변경사항을 Commit한 후, Push할때 충돌이 발생한다. 원격 브랜치에는 아직 변경사항이 그대로 남아있기 때문이다.

  • 이 변경사항을 원격 브랜치에도 반영하려면, 강제 푸시 옵션 을 체크하자

  • 강제 푸시를 하고 나면 되돌리기를 한 시점 이후의 commit 이력은 깔끔하게 사라지고 강제푸시한 커밋 부분이 최종적으로 올라간다.


3-2. 강제 푸시 옵션 활성화

  • [ 도구 > 옵션 > Git탭 > '강제 푸시를 허용' 체크]
profile
jlog

0개의 댓글