티스토리 뷰

TIL

07월 13일: git reset / revert

알롱도담쓰 2023. 7. 17. 15:17

사용 목적

이전 커밋으로 돌아가기

 

차이

  • reset: 작업 내용도 커밋도 이전으로 돌아간다.
  • revert: 작업 내용은 이전 커밋으로 돌아가지만, 커밋의 수는 +1이 된다.

 

revert

1번 commit 02f001f7826
2번 commit 7f9bea9f130 (되돌아가고 싶은 위치)
3번 commit 99073780682 (현재 위치)

 

실행 결과

1번 commit 02f001f7826 (커밋 해시)
2번 commit 7f9bea9f130
3번 commit 99073780682
4번 commit 395u3ldj292 (2번 커밋과 작업 내용은 동일)

 

 

reset

위와 같은 상황에서 reset을 하게 되면

 

실행 결과

1번 commit 02f001f7826 (커밋 해시)
2번 commit 7f9bea9f130

 

3번 커밋은 삭제되고 2번 커밋으로 돌아간다.

 

reset의 option

  • git reset --soft :
    모든 변경 사항을 유지
    변경 사항은 스테이지에 올려둔 상태로 돌아온다.
  • git reset --mixed (기본 옵션):
    모든 변경 사항을 유지
    변경 사항은 스테이지에서 내려운 상태로 돌아온다.
    따라서 git add를 해줘야 하는 상태
  • git reset --hard :
    변경 사항 폐지
최근에 올라온 글