본문 바로가기

공부/IT

[Git] Revert와 Reset 차이

반응형

*공부하는 중이라 잘못된 부분이 있다면 지적 부탁드립니다!

 

 

1. Revert

git revert [commit-hash]

커밋했던 때로 되돌아 갑니다! 복원의 느낌을 가지고 있습니다.

주로 로컬 커밋을 복원할 때 씁니다.

3가지 옵션이 있는데,

--hard : 돌아간 이후의 만들어진 커밋은 전부 삭제!

--mixed (기본값) : 돌아간 이후의 변화는 unstage된 상태로 남아있습니다.

--soft : 돌아간 이후의 변화는 stage된 상태로 남아있습니다.

=> 즉, mixed와 soft를 사용하면 변경/추가된 파일도 다 그대로 있으니 새로 커밋을 하는건 선택사항인듯 합니다.

 

 

2. Reset

git reset [commit-hash]

지정한 커밋의 상태로 되돌아가기 위한 새로운 커밋을 생성합니다.

즉, 변경사항이 제거된 커밋이고 change discard를 시도하면 다시 변경사항이 생기게 됩니다.

커밋을 삭제하며 꼬일 수 있기에 원격 커밋을 복원할 때 주로 씁니다.

 

 

+ git log로 그동안 커밋한 commit hash 확인 가능

반응형