DevOps
[Git] Reset과 Revert의 차이점
wahu
2019. 10. 28. 20:27
Reset
Reset은 이력을 아예 없앤다. 옵션을 통해 스테이지 상태를 결정할 수 있다
사용법
$ git reset [옵션] <commit id> // 해당 커밋 아이디로 돌아감
$ git reset HEAD~6 // head의 6번째 전으로 돌아감
옵션
- hard: 완전한 reset으로 스테이지도 비운다.
- mixed: 커밋 이후에 내용이 스테이지에는 없지만 add로 추가할 수 있다.
- soft: 스테이지에 해당 커밋 이후에 내용이 남아있다.
Revert
이력을 남긴채로 특정 commit만 되돌린다. 이력을 유지하면서 불필요한 commint만 되돌릴 수 있는 장점이 있다.
사용법
$ git revert <commit id>
$ git revert <commit id1> <commit id2> // 여러개 되돌릴 수도 있음
참고