revert
는 버전을 되돌리되, 되돌아간 상태에 대한 새로운 버전(커밋)을 만든다.
중요한 점은 기존의 버전은 삭제되지 않는다는 점이다.
git revert
명령을 사용하면 해당 커밋을 취소한 새로운 커밋을 추가할 수 있다.
$ git revert <취소할 커밋>
revert
와 달리 reset
은 되돌아갈 버전의 시점으로 완전하게 되돌아간다.
중요한 점은 되돌아갈 버전 이후의 모든 버전은 삭제된다는 점이다.
reset
은 크게 세 종류로 구분되며, 이들은 다음과 같다.
commit
만 되돌리기
add
와 commit
만 되돌리기
Git 저장소까지 되돌리기
git reset
명령에 --soft
옵션을 추가하면 특정 커밋으로 soft reset을 할 수 있다.
$ git reset --soft <되돌아갈 커밋>
git reset
명령에 --mixed
옵션을 추가하면 특정 커밋으로 mixed reset을 할 수 있다.
$ git reset --mixed <되돌아갈 커밋>
git reset
명령에 --hard
옵션을 추가하면 특정 커밋으로 hard reset을 할 수 있다.
$ git reset —hard <되돌아갈 커밋>