티스토리 뷰

반응형

1. 개념 - 되돌리기

- git reset: 시간을 되돌린다. 이후의 이력이 사라진다.

- git revert: 특정 사건을 없앤다. 이력이 추가된다.

 

이해를 도와주는 만화

http://www.devpools.kr/2017/01/31/%EA%B0%9C%EB%B0%9C%EB%B0%94%EB%B3%B4%EB%93%A4-1%ED%99%94-git-back-to-the-future/

 

개발바보들 1화 - git "Back to the Future"

  이 내용에 대한 자세한 기술적인 설명이 듣고 싶나요? 연속되는 다음글을 참조하세요    

www.devpools.kr

 

2. 실습

R3으로 돌아가고 싶다면? 두 가지 방법, 

1. git reset으로 R3으로 돌아간다.

2. git revert로 R4에서 commit 한 내용을 없앤다.

 

git revert: 특정 버전에서 commit이전으로 돌아간다.

git revert d459d527824d5ae96ac272362aa1a0cee12cd894 ☞ R4에서 commit이전의 상태로 돌아간다. 즉, R3

Something different Revert "R4"가 생성되었다. R3와 동일한 결과를 가진다.
하지만 실제 이전으로 돌아간 것이 아니라 R4의 이전 결과로 돌아간 것이다.
그리고 이력이 하나 더 추가되었다.

※ 만약, Message 2로 돌아가고 싶다면 git revert 707...[R3]으로 ? 절때로 안된다. 
git revert를 Message 2사용해 돌아가기 위해서는 R4의 revert, 그것의 revert, 그리고 revert를 통해 역순으로 접근해야한다. 그렇지 않으면 conflict 충돌이 일어나 엄청난 문제가 발생한다.

 

출처: https://opentutorials.org/course/3839/22597

반응형
댓글
공지사항