Git공부 [5. GIT 삭제 및 되돌리기]
🔐 0. GIT Reset
버전을 삭제하는 방법..! git reset
이다.
지금 보는것 처럼 git log
를 입력하였을 때 이와 같이 뜨는데 만약 내가 Message 1버전으로 가고 싶다면 git reset
명령어를 통해 Message 1버전을 삭제하는게 아닌 Message 1버전이 되겠다는 것.
checkout이랑은 전혀 다른 개념이며 메인 버전 즉, head자체가 옮겨진다.(포인터 같이 생각하면 쉬움!)
즉 영어자체를 살짝 다르게 해석해야하는데 “선택한 버전을 리셋하겠다”가 아닌 “선택한 버전으로 리셋하겠다”로 해석할 필요가 있다.
위와 같이 가장 최신버전으로 옮겨진것을 확인할 수있다.
여기서 –hard는 가장 강력한? 한번에 돌아가겠다는 의미정도로 해석하면 되는데 다른 모드가 궁금하다면 git reset –help로 조회해서 보거나 구글링을 통해 알아보자
📕실습
- git log로 돌아가고 싶은 버전 확인 후 커밋아이디 복사
- git reset –hard
커밋아이디
를 입력하여 그 버전으로 리셋 - git log를 통해 버전을 확인한다.
🔐 0. GIT Revert
git revert
는 reset과 다르게 되돌아가도 그 버전자체는 삭제하지 않고 남겨둔다.
한번더 보험을 남기는 느낌으로 해당 버전의 커밋은 남아 있고 전버전으로 revert한다.
위와 같이 버전이 있다고 했을 때 R3의 버전으로 돌아가고 싶다면 reset과 다르게 R4버전의 커밋아이디로 명령어를 작성한다. (해당 버전을 되돌린다는 의미)
`git revert ‘R4버전 커밋아이디’ 명령어를 실행하면 설정한 에디터(전시간에 nano에디터 설정)로 들어오게 되고 여기서 커밋 메세지를 작성한다.
작성 후 git log를 실행하면 아이 새로운 버전으로 작성되어 진다.
하지만 이 버전은 R4의 내용자체를 되돌린 것으로 R3의 내용을 담고 있으며 사용자에게 revert기록을 직관적으로 보여준다.
📕실습
git log
로 버전 확인 후 돌아가고 싶은 버전 상위버전 커밋아이디 복사 - 이때 만약 되돌아가고 싶은 버전이 두단계 이상 아래 버전이라면 최신버전부터 가고싶은 버전까지 차례대로 버전을 revert해야한다.git revert '커밋아이디'
로 에디터 진입 후 커밋메세지 작성git log
로 새로운 버전 확인 후cat
명령어나diff
로 파일 수정 확인
✍️ GIT & 터미널 & 리눅스 용어 정리
- git reset –hard ‘커밋아이디’: 해당 커밋아이디 버전으로 리셋한다.(삭제)
- git revert ‘커밋아이디’: 해당 버전의 전 버전으로 되돌아가며 새로운 키밋을 생성(삭제안함)
https://opentutorials.org/course/3837 많은 도움을 받은 생활코딩입니다.
공부 정리내용은 생활코딩 및 구글링을 통한 내용을 정리하였습니다.
댓글남기기