본문으로 바로가기
다음과 같이 commit log가 있다고 가정하자
첫번째 commit log) added : test2.php
두번째 commit log) modified : test.php
세번째 commit log) added : test.php

우선 세번째 commit log인 added : test.php 에서는 프로젝트에 test.php 라는 파일을 추가를 했다.
두번째 commit log 인 modified : test.php 에서는 추가했던 test.php 에 소스코드를 수정을 했다.
첫번째 commit log 인 added : test2.php 에서는 프로젝트에 test2.php 라는 파일을 추가했다
라고 가정했을 때

현재 HEAD는 첫번째 commit log 에 위치해있는 상태이다.
이때, test.php의 소스코드를 수정했던게 잘못되서 아예 두번 commit 했던 버젼 상태를 전 상태로 복구, 즉 실행취소하고싶을 경우
Reverse commit를 사용을 한다.

SourceTree에서는 두번째 commit log 에서 마우스 오른쪽 클릭 - Reverse commit 을 선택하면 된다.




이렇게 했을 경우 다음과 같이 Revert 했다라는 commit log 가 새로 생성된것을 확인할 수 있다.


이처럼 여태까지 commit 했던 버젼 상태를 유지를 함과 동시에 전에 수정한 부분을 실행취소하고 싶을 경우 사용하면 편리하다.

주의) 하지만 선택한 commit 부분에 대한 상태만 실행취소되는것이므로
아예 특정상태로 버젼을 돌리고싶을 경우에는 순차적으로 Reverse commit을 해주면 된다.

참고사이트 : http://blog.naver.com/success87pch/220579772578

버젼을 유지하지 않고 상태를 돌릴때는 Reset 을 사용한다

Reset : 선택한 버젼의 상태로 돌아감. (선택한 버젼의 이전 버젼들은 전부 삭제)
Revert : 선택한 버젼을 취소해서 이전 상태로 돌리는 기능 ( 버젼을 삭제하지 않고 유지시킬수 있다.)