본문 바로가기
깃허브

깃허브 reset, revert

by 호놀롤루 2022. 3. 2.

1. 개요

깃허브는 코드를 분기별로 올릴 수 있다.

내가 만들던 프로그램이 커밋된 날짜가 2/28 이고, 두번째가 3/2 이라면 예상치 못한 에러나 실수가 발생했을 때

2/28일 상태의 코드로 돌아갈 수 있다.

 

여기서 사용되는 방법이 reset과 revert다.

 

 

2. 차이

reset은 말 그대로 초기화다. git log 명령어를 치면 커밋한 이력을 볼 수 있다.

그럼 커밋 메시지와 함께 commit 아이디가 나온다.

커밋 메세지와 세트가 되어있는 커밋 아이디 (commit 07d94c... 등)의 앞자리 7개 정도를 복사하고,

git reset {커밋 아이디 앞자리} --hard 명령어를 입력하게 되면 그 분기로 돌아가게 된다.

 

하지만 reset --hard를 사용하게 되면 돌아간 분기 이후의 이력은 다 사라지게 된다.

2/28 로 reset하게 된다면 3/2의 코드는 사라진다는 말이다.

 

여기서 revert와의 차이가 나온다.

revert를 하게 되면 원하는 위치로 이동하면서, 그 뒤에 있던 이력을 유지할 수 있다.

 

git revert {커밋 아이디 앞자리} 명령어를 입력하면 vi창이 나올 것이다.

esc 다음 :x를 입력하면 무사히 빠져나올 수 있다.

 

그럼 원하는 분기의 정보를 가져오지만, 원래 이력은 그대로 유지된다.

3/2 의 상태에서 2/28로 reset 하면 git 저장소 이력은 2/28 밖에 없다.

 

revert를 하게 되면 2/28, 3/2, revert(2/28과 같음)의 상태가 되어 3/2로도

갈 수 있다.

'깃허브' 카테고리의 다른 글

8주차, 깃허브 명령어  (0) 2022.02.11
8주차, Git-Flow 이해  (0) 2022.02.11
8주차, 깃허브 개념 이해  (0) 2022.02.11
8주차, 깃허브 remote origin 삭제  (0) 2022.02.10
8주차, 깃허브 .gitignore  (0) 2022.02.10

댓글