Git에서 과거 커밋으로 돌아가는 두가지 방법
- reset : 원하는 시점으로 돌아간 후 이후 내역들을 삭제합니다.
- revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다.
둘의 가장 큰 차이점은 과거로 되돌리겠다는 내용이 커밋 이력에 남는가? 안남는가? 입니다.
reset은 아예 이력을 남기지 않고 과거로 돌아갈때 사용합니다.
revert는 과거로 돌아가겠다는 이력은 남기고 원하는 시점의 커밋으로 돌아갑니다.
revert를 이용하면 이후의 내역은 유지하고, 이전의 커밋 하나만 취소 시킬수도 있다.
정리
- Git에서 reset은 해당 커밋시점으로 돌아가는 방법이다.
- Git에서 revert는 과거의 커밋의 변경사항을 되돌리는 방법이다.
Reset 사용해서 과거로 돌아가기
커밋 내역 확인
$ git log
- 커밋 내역에서 되돌아갈 시점의 커밋 해시를 복사한다.
:q
로 Vi 입력 모드를 빠져나간다
$ git reset --hard (돌아갈 커밋 해시)
뒤에 커밋 해시가 없으면 마지막 커밋을 가리키게 된다.
$ git reset --hard
revert로 과거의 커밋 되돌리기
revert 하기
git revert (되돌릴 커밋 해시)
Reference
https://www.yalco.kr/@git-github/2-3/
반응형