reset에는 크게 세 종류 soft, mixed, hard가 있습니다. 이들의 차이를 아는 것이 중요합니다. 커밋 하나를 만드는 과정을 기억하나요? 커밋은 다음과 같은 순서로 만들어진다고 했습니다.
1 | 작업 디렉터리에서 변경 사항 생성하기
2 | 스테이지로 올리기
3 | 커밋하기
위 그림에서 보여준 세 개의 버전 예시를 다시 생각해 봅시다. 이 세 버전은 다음과 같은 순서대로 만들어집니다.
그림 3-47 | 세 번째 버전이 만들어지는 순서
작업 디렉터리 내 변경 사항과 스테이지에 추가된 변경 사항은 유지하되, 커밋했다는 사실만 되돌리는 reset을 soft reset이라고 합니다. 가령 위 세 버전에서 두 번째 버전으로 soft reset하면 다음과 같은 상태가 됩니다.
그림 3-48 | 두 번째 버전으로 soft reset