Commit을 하는 이유는 작업 이력을 남겨 놓고 원하는 시점으로 자유롭게 이동하기 위해서이다.
따라서 커밋 간 이동하는 방법에 대해 알아볼 것이다.
Head는 현재 내가 위치해 있는 커밋을 가라키는 식별자이고 대부분의 상황에서는 가장 최신 커밋에 위치해 있다. Head가 가리키는 커밋을 바꾸게 되면 Working Directory의 모습도 Head가 가리키는 커밋의 버전으로 바뀌게 된다.
Hard와 Mixed 옵션은 Working Directory의 변경 여부에 차이점이 있다. Mixed 옵션은 Working Directory를 건드리지 않고 Staging Area를 Head가 새로 가리키는 커밋처럼 바꾼다. Working Directory를 건드리지 않기 때문에 최신 버전 그대로의 모습으로 나타난다.
Soft 옵션은 Mixed 옵션과 같게 Head가 변경된 커밋을 가리킨다. 하지만 Working Directory와 Staging Area를 모두 건드리지 않는다. 즉, Head를 제외한 것들은 지금 현재 상태 그대로 두는 옵션인 것이다.
새로 생성했거나 내용을 수정한 파일이 Staging Area에 잘 올라갔는 지 확인
👉 git status
Head가 가리켰던 Commit 기록을 모두 보기
👉 git reflog
❗ reference log의 줄임말이고 커밋 기록에서 head의 숫자가 작을 수록 최신의 기록이다.
reflog를 통해 커밋의 id를 확인해서 커밋 간의 이동이 가능해진다.
📄출처 : ICT멘토링 git 기초강의 - 3강 commit 관리하기