🔐 0. GIT Reset

버전을 삭제하는 방법..! git reset이다.

git-reset 이미지

지금 보는것 처럼 git log를 입력하였을 때 이와 같이 뜨는데 만약 내가 Message 1버전으로 가고 싶다면 git reset명령어를 통해 Message 1버전을 삭제하는게 아닌 Message 1버전이 되겠다는 것.

checkout이랑은 전혀 다른 개념이며 메인 버전 즉, head자체가 옮겨진다.(포인터 같이 생각하면 쉬움!)

즉 영어자체를 살짝 다르게 해석해야하는데 “선택한 버전을 리셋하겠다”가 아닌 “선택한 버전으로 리셋하겠다”로 해석할 필요가 있다.

git-reset_2 이미지

위와 같이 가장 최신버전으로 옮겨진것을 확인할 수있다.

여기서 –hard는 가장 강력한? 한번에 돌아가겠다는 의미정도로 해석하면 되는데 다른 모드가 궁금하다면 git reset –help로 조회해서 보거나 구글링을 통해 알아보자

📕실습

  1. git log로 돌아가고 싶은 버전 확인 후 커밋아이디 복사
  2. git reset –hard 커밋아이디를 입력하여 그 버전으로 리셋
  3. git log를 통해 버전을 확인한다.


🔐 0. GIT Revert

git revert는 reset과 다르게 되돌아가도 그 버전자체는 삭제하지 않고 남겨둔다.

한번더 보험을 남기는 느낌으로 해당 버전의 커밋은 남아 있고 전버전으로 revert한다.

git-revert 이미지

위와 같이 버전이 있다고 했을 때 R3의 버전으로 돌아가고 싶다면 reset과 다르게 R4버전의 커밋아이디로 명령어를 작성한다. (해당 버전을 되돌린다는 의미)

`git revert ‘R4버전 커밋아이디’ 명령어를 실행하면 설정한 에디터(전시간에 nano에디터 설정)로 들어오게 되고 여기서 커밋 메세지를 작성한다.

git-revert_2 이미지

작성 후 git log를 실행하면 아이 새로운 버전으로 작성되어 진다.

하지만 이 버전은 R4의 내용자체를 되돌린 것으로 R3의 내용을 담고 있으며 사용자에게 revert기록을 직관적으로 보여준다.

📕실습

  1. git log로 버전 확인 후 돌아가고 싶은 버전 상위버전 커밋아이디 복사 - 이때 만약 되돌아가고 싶은 버전이 두단계 이상 아래 버전이라면 최신버전부터 가고싶은 버전까지 차례대로 버전을 revert해야한다.
  2. git revert '커밋아이디'로 에디터 진입 후 커밋메세지 작성
  3. git log로 새로운 버전 확인 후 cat명령어나 diff로 파일 수정 확인


✍️ GIT & 터미널 & 리눅스 용어 정리

  1. git reset –hard ‘커밋아이디’: 해당 커밋아이디 버전으로 리셋한다.(삭제)
  2. git revert ‘커밋아이디’: 해당 버전의 전 버전으로 되돌아가며 새로운 키밋을 생성(삭제안함)

https://opentutorials.org/course/3837 많은 도움을 받은 생활코딩입니다.

공부 정리내용은 생활코딩 및 구글링을 통한 내용을 정리하였습니다.

태그: ,

카테고리:

업데이트:

댓글남기기