워크플로 개념 잡기
- HEAD : 현재 바라보고 있는 브랜치 포인터이며, 브랜치는 브랜치에 담긴 커밋 중 가장 마지막 커밋을 가리킨다. 커밋된 내용이 담김. - git commit
- Index : git add한 내용이 담김. - git add
- Working Directory : 그냥 내가 작업하고 있는 로컬이 작업 공간 (git add도 안 해도 여기에 저장됨) - edit file
git status로 Index에도 있는 파일(add한 파일)과 워킹 디렉터리에만 있는 파일을 확인할 수 있다.
옵션에 따라 다른 reset 범위
아무 옵션을 주지 않았을 경우 default는 mixed
- HEAD 이동
- checkout 명령처럼 HEAD가 가리키는 브랜치를 바꾸는 것이 아님
- 현재 브랜치가 가리키는 커밋을 바꿈
- HEAD가 9e5e6a4 → 커밋을 가리키게 된다.
- --soft 옵션을 주고 실행하면 reset 명령은 여기까지
- Index 업데이트
- Index를 현재 HEAD가 가리키는 스냅샷으로 업데이트한다.
- --mixed 옵션을 주고 실행하면 reset 명령은 여기까지
- add만 한 파일을 add 취소하고 싶으면 git reset (--mixed) head → HEAD로 주면 마지막 커밋 상태로 돌아간다.
- 워킹 디렉토리 업데이트
- 워킹 디렉토리까지 업데이트한다.
- --hard 옵션을 주고 실행하면 reset 명령은 여기까지
- 변경을 취소하고 싶으면 git reset --hard head → HEAD로 주면 마지막 커밋 상태로 돌아간다.
반응형
'git' 카테고리의 다른 글
[Git] 커밋 히스토리 관리를 위한 명령어 : cherry pick, rebase (0) | 2021.10.11 |
---|---|
[Git] 기본 명령어 : clone, pull, commit, push, branch (0) | 2021.10.11 |