Git은 버전 관리 시스템으로, 프로젝트의 이전 버전을 검색하고 복원할 수 있습니다.
이를 위해 Git은 여러 명령어를 제공합니다. 이 중에서 reset 명령어는 커밋을 취소하고, 스테이지를 취소하는 등 프로젝트를 이전 상태로 되돌리는 기능을 합니다.
Git reset 명령어에는 HEAD^, HEAD~n 등 다양한 옵션이 있습니다.
최신 커밋 취소 + 스테이지 취소를 위해서는 git reset HEAD^ 명령어를 사용합니다.
최근 취소 수량 커밋 취소를 위해서는 git reset HEAD~n 명령어를 사용합니다.
또한, reset 명령어에는 --soft, --mixed, --hard와 같은 옵션을 사용할 수 있습니다.
--soft 옵션은 최근 커밋을 하기 전 상태로 작업트리를 되돌리는 옵션입니다.
--mixed 옵션은 최근 커밋과 스테이징을 하기 전 상태로 작업트리를 되돌리는 옵션으로, 기본 옵션입니다.
--hard 옵션은 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업트리를 되돌리는 옵션으로, 복가 불가능합니다.
아래는 예제 코드입니다.
$ vim hello2.txt
$ git commit -am "message4"
$ git log
$ git reset HEAD^
먼저, hello2.txt 파일을 vim으로 열어서 편집한 후 git commit -am "message4" 명령어로 커밋합니다.
그리고 git log 명령어로 커밋 이력을 확인합니다.
이후, git reset HEAD^ 명령어를 입력하여 최신 커밋과 스테이지를 취소하고 이전 상태로 되돌립니다.
위의 예제 코드를 참고하여 Git reset 명령어를 사용하는 방법을 익히시기 바랍니다.
reset 옵션
명령 | 설명 |
--soft HEAD^ | 최근 커밋을 하기 전 상태로 작업트리 되돌리기 |
--mixed HEAD^ | 최근 커밋과 스테이징을 하기 전 상태로 작업트리 되돌리기(기본 옵션) |
--hard HEAD^ | 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업틀리 되돌리기(복가 불가능) |
'Python_Beginer > GIT' 카테고리의 다른 글
[GIT]Git Revert(커밋 삭제하지 않고 취소) (0) | 2020.01.04 |
---|---|
[GIT]Git Reset(특정 커밋으로 취소) (0) | 2020.01.04 |
[GIT]Git Reset HEAD(스테이징을 취소) (0) | 2020.01.04 |
[GIT]Git Checkout(작업트리 수정 파일 취소) (0) | 2020.01.04 |
[GIT]Unmodified, Modified, Staged(비수정상태 / 수정상태 / 커밋 직전 상태) (0) | 2020.01.03 |