기본 사용법) 💻 git revert [되돌린 커밋 해쉬]
[ git reset과의 차이점 ]
git reset은 commit 기록이 남지 않지 않고 HEAD가 가리키는 위치만 달라진다.
반면, git revert는 되돌린 코드들에 대해 다시 commit을 남겨준다.
💡 이런 차이점으로 인해, git reset은 혼자 로컬에서 작업할 때만 사용하고 git revert는 다른 팀원들과 협업을 했을 할 때 사용해야 한다.
[ 이유 ] 다른 팀원들과 협업 중, origin에 올린 코드에 대해 혼자만 commit을 삭제를 하고 또 다시 push를 하게되면 다른 팀원들과 코드가 꼬이게 될 수 있기 때문이다.
그리고 commit history를 관리하는 측면에서도 더 좋다.
충돌 발생 예시를 위해 다음 명령어를 이용해 1번에서 revert를 하기 전으로 돌려준다.
💻 git reset [되돌리고 싶은 위치의 해쉬 값]
[1] revert 결과가 바로 커밋되게 하지 않게 할 때
--no-commit 옵션으로 revert한 결과가 stage 상태만 유지하도록 할 수 있다.
git revert --no-commit [커밋 해쉬값]
[2] 여러 개의 커밋을 되돌릴 때
git revert [커밋 해쉬값]...[커밋 해쉬값]