코딩을 하다보면 로직이나 구조 등을 변경할 일이 생깁니다. 변경하다가 난관에 부딪혀 이전 버전으로 돌아가고싶다면 어떻게해야할까요? 

 오늘은 위와같은 상황이나 여러가지 상황에서 이전의 버전으로 돌아가는 방법에 대해 공부하겠습니다.



1. git reset 

 git reset은 원하는 version으로 돌아가는 명령입니다.

위는 현재 git log를 보여줍니다.

여기에서 만약 "Version 3까지 완료된 상태로 돌아가고 싶다"="Version 4,5는 날려버리고 싶다"고 한다면

<  git reset --hard 버전id  > 를 입력하면 됩니다. 이를 입력하고 난 후의 모습을 보겠습니다.

버전id는 사진의 commit 우측에 숫자와 영어로된 긴 문자열입니다.

↑ : Version 3으로 돌아가기위해 사용한 명령. (reset 뒤에 hard 옵션이 붙은 것에 대해선 추후에 포스팅 예정입니다.)

git reset을 사용해서 Version 3로 돌아간 후의 git log입니다.

위를 보면 Version 3로 돌아간 것을 알 수 있습니다.

 



2. git revert

 git revert는 버전id의 커밋을 취소한 내용을 새로운 버전으로 만드는 명령입니다.


git reset 후에 남은 version 1,2,3의 상태에서 version 2로 revert 하는 작업 후의 log입니다.

위를 보면 "git revert는 원하는 버전으로 코드 상태는 돌아가지만 기존의 git log 상태에서 새로운 커밋이 생기는 것" 으로 볼 수 있습니다.



정리.

 1. git reset은 원하는 버전으로 돌아감과 동시에 후에 생긴 작업들의 log를 모두 날린다.

 2. git revert는 원하는 버전으로 돌아가고, 그것을 새로운 version으로 추가한다.



+ Recent posts