오늘은 Git에서 자주 사용하는 revert에 대해 알아보도록 하겠다.
우리는 가끔 Git repository에서 작업 중, commit한 내용을 되돌려야 하는 경우가 발생한다.
그 이유는 본인의 실수이든 변경사항 발생이든 어떠한 상황으로 인해 발생할 것이며 우리는 이를 처리하는 방법을 숙지할 필요가 있다.
- revert:
특정 commit 내용을 되돌릴 때 사용하는 명령어
우리가 Git의 commit 내용을 되돌리는 방법은 크게 reset과 revert가 있다.
- reset VS revert
- reset:
쉽게 말해 HEAD의 위치를 특정 commit hash로 되돌린다.
그 이후의 commit 내역에 대해선 옵션을 통해 처리하지만 --hard를 선택할 경우, 그 이후 내역을 모두 제거한다.- revert:
commit한 내역에 대해 되돌리는 commit을 새로 만든다.
우리는 A를 커밋한 후, B를 커밋하면 HEAD는 B가 된다. 만약 B를 revert 한다면 B의 커밋내역은 그대로 있고 B를 revert하는 내용의 커밋이 하나 더 생성되고 이것이 HEAD가 되는 것이다.
Git에서 revert를 사용하는 방법은 다음과 같다.
git revert commit_hash
위와 같이 작성하면 해당 commit_hash에 해당하는 것을 revert하는 내용으로 commit이 하나 더 생성되고 이것이 HEAD가 된다.
여러개를 revert시켜야한다면 다음과 같이 사용도 가능하다.
git revert commit_hash1..commit_hash3