reset 명령어를 통해 작업 이력을 이전으로 되돌릴 수 있다.
HEAD
HEAD 는 현재 브랜치를 가리키는 포인터이며, 브랜치는 브랜치에 담긴 커밋 중 가장 마지막 커밋을 가리킨다. 지금의 HEAD 가 가리키는 커밋은 바로 다음 커밋의 부모가 된다. 즉 HEAD 는 "현재 브랜치 마지막 커밋의 스냅샷" 이다.
GIT-CLASS 폴더를 만들고, test.txt 파일을 생성한다. 버전관리를 위해 git init 명령어를 입력한다.
test.txt 파일에 "This is First Commit" 을 입력하고 add, commit 을 해준다.
이후 test.txt 파일 내용을 "This is Repository" 로 수정하고 똑같이 add, commit 을 해준다.
test.txt 파일 내용을 "This is Staging Area" 로 수정한 후, git add 해준다.
위와 같이 working directory 와 staging area 에 "This is Staging Area" 내용의 test.txt 파일이 존재하는 것을 볼 수 있다.
test.txt 파일 내용을 "This is Working Directory" 로 수정한다.
위와 같은 상태가 될 것이다. 위 상태를 기준으로 reset 명령어들을 실습해보자
한 단계 이전으로 repository, staging area, working directory 모두가 돌아간 것을 볼 수 있다.
한 단계 이전으로 staging area, working directory 가 돌아간 것을 볼 수 있다.
한 단계 이전으로 repository 가 돌아간 것을 볼 수 있다.