GIT2 - CLI 버전관리 - 10. 되돌리기 - git revert

data_hamster·2023년 4월 27일
0

reset과 용도가 비슷함.

보통 CRUD에서 UD를 제한함.
revert를 이용하면 세련된 방식으로 삭제의 목적, 보존의 목적을 달성할 수 있다.

revert는 배우기에 난이도가 있으므로 너무 이해하려 하지 말고 이런게 있구나 정도로


R4를 삭제하고 R3가 되고싶음.

git reset --hard R3의commit 아이디 하면 R3 버전으로 갔었다.

이제 R3로 가고싶다면, R4를 revert 하면 된다. R4를 되돌리기 해야지 R3로 갈 수 있음.
따라서 revert를 하려면 R4의 커밋 아이디가 필요하다.

git revert R4의 커밋아이디

자동으로 nano 에디터가 떴다. R4를 revert할 것이라도 미리 적혀있는 것을 볼 수 있다. 여기에 왜 추가적으로 내가 revert 하는지도 적을 수 있다. 저장 후 나가주면, 자동으로 commit이 된다.

git log를 보면

revert R4를 했다는 커밋이 새로 생성되었고, 그 아래에는 R4가 그대로 남아있는 것을 볼 수 있다. 기존 커밋을 내버려두고, 이 커밋에서의 변화를 취소 -> R3가 됨.

git log -p는 변경 이력을 출력해준다.

R4 커밋에서 추가되었던 것이 revert R4 커밋에서 제거되었다고 뜬다.

만일 revert 방식으로 Message 1으로 돌아가고 싶을 때 바로 위에 있는 Message 2를 revert 하면 될까? -> 안된다. 충돌일어남. conflict(이걸 해결하는건 쉽지 않음)
revert R4 -> revert R3 -> revert Message 2를 하면 비로소 Message 1이됨. 역순 순차적으로 해야함.

왜냐하면 revert Message 2를 하면 그전에 있던 모든 변화가 revert 되는 것이아닌, Message 2당시의 변화만 revert 함.

profile
반갑습니다 햄스터 좋아합니다

0개의 댓글