Git reset
HEAD
: 현재 내가 위치해있는 commit을 가리키는 식별자
- HEAD가 가리키는 commit을 변경함
- HEAD가 첫번째 커밋을 가리킴 → Working Directory의 내용도 첫번째 커밋 시점으로 바뀜 (hard 옵션을 사용했기 때문에)
Soft/Mixed/Hard 옵션의 차이
Hard
- Working Directory가 바뀐다.
- Staging Area가 바뀐다.
Mixed
- Working Directory는 건드리지 않는다.
- Staging Area가 바뀐다.
Soft
- Working Directory는 건드리지 않는다.
- Staging Area를 건드리지 않는다.
- git 상태를 더 자세히 확인
- hard는 위험한 옵션 → 바로 직전 commit으로 되돌아가서 Working Directory에서 작업하던 내용이 사라져도 괜찮을 때 사용
- soft : 내가 작업하면서 만든 Staging Area가 그대로 남아있어 바로 commit 가능
- mixed : Staging Area가 바뀌므로 최근 작업했던 상태를 commit으로 남기고 싶다면 반드시 git add를 하고 commit 해야한다.
그래서 soft나 mixed 옵션은 언제 사용하는건지?
commit 01~06까지 작업해둠. reset으로 commit 03으로 돌아간 다음 추가 작업을 하고 commit을 하면 commit 03 다음에 commit 07이 쌓이게 된다. → 제대로 된 커밋들만 깔끔하게 남길 수 있다.
Git 히스토리 관리하기
- git reflog = git reference log : HEAD가 가리켰던 Commit 기록을 모두 보여주는 명령어
- commit ID 대신 commit에 대한 HEAD@{number}을 입력해도 된다.
'[한이음 ICT 멘토링] > Git 교육' 카테고리의 다른 글
심화 2강. 협업의 시작 (fork, merge request) (0) | 2021.07.02 |
---|---|
심화 1강. Git Branch 제대로 알기 (git branch, checkout, merge) (0) | 2021.07.02 |
기초 4강. GitLab, 시작! (git remote, push, pull) (0) | 2021.06.17 |
기초 2강. Git 기본기 장착! (git init, config, add, commit, log, diff) (0) | 2021.06.17 |
기초 1강. Git을 시작합시다 (git이란?) (0) | 2021.06.17 |
Uploaded by Notion2Tistory v1.1.0