Git에서 과거로 돌아가는 방식은 2가지가 있습니다.
- reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 삭제
- revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행
$ git log
명령어를 실행하면 각 커밋에 대한 해시값을 확인할 수 있다.$ git reset --hard <커밋 해시>
$ git reset --hard
--soft
: Repository에서 Staging Area로 이동--mixed
(default) : Repository에서 Working Directory로 이동--hard
: 수정사항들을 완전히 삭제$ git revert <커밋 해시>
:wq
로 커밋 메시지 저장하기
leopards.yaml
을 생성하였기 때문에 이 커밋을 되돌리기(revert)하면 leopards.yaml
을 삭제하는 커밋이 생성된다.leopards.yaml
을 수정한 내역이 있기때문에 leopards.yaml
을 삭제하는 커밋을 생성하지 못한다. $ git rm leopards.yaml
로 Git에서 해당 파일을 삭제한다.$ git revert --continue
로 중단된 작업을 이어서 한다.:wq
로 커밋 메시지를 저장한다.$ git revert --no-commit <커밋 해시>