DevOps/Git
[Git] revert / reset
sihyeong
2022. 10. 23. 17:30
1. revert
git revert (revert할 커밋)
revert는 해당 시점의 바뀐 내용들을 정 반대로 수행하게 된다.
따라서 해당 시점의 문제만 수정할 수 있다.
협업 시 공유된 자료를 되돌리려면 revert를 사용하는 것이 올바르다.
되돌린 작업 내역 또한 확인할 수 있기 때문이다.
revert 하면 과거 시점의 작업과 현재시점의 작업이 충돌할 수 있다.
예를들면 과거 시점에 파일을 생성한 경우, 해당 시점을 revert 수행 시
파일을 삭제하게 된다. 가장 최근의 커밋 내용에서 삭제할 파일의 내용을 수정했다면
충돌 시 적절한 처리가 필요하다.
2. reset
git reset [--hard | --mix | --soft] (reset할 커밋)
반대로 reset은 작업하는 이전 시점의 내용들을 모두 날려버리기 때문에
웬만하면 사용하지 않는 것이 좋다.
(변경내역 커밋 x인 점도 한몫한다.)
만약 revert 중 충돌이 났다면 혹은 바로 커밋하지 않고 revert한 경우
git revert --no-commit (revert 할 커밋)
아래와 같이 현재 REVERTING 하는중이에요 라고 알려준다.
(revert 후 commit이 되지 않았다면 REVERTING이라고 revert 중이라고 알려준다.)

충돌을 적절한 처리 후
git revert --continue를 치게되면 revert를 commit한다는 창이 뜨고 작업을 완료할 수 있다.
git reset 작업 시 따로 해시값을 주지 않는다면 현재의 시점으로 reset 하게 된다.