우리는 이번에 git reset의 3가지 옵션을 써볼 것이다. 일단 —soft를 써보자.
이렇게 하고나면 나의 repostiory가 4번째 커밋으로 이동한 것을 잘 볼 수가 있다.
working directory를 보아도 바뀌지 않은 것을 잘 볼수가 있다.
어라 근데 여기 modified: README.md가 왜 만들어졌을까?
3가지 작업 영역을 살펴본다면 repo의 head는 4번 커밋에 위치하지만 staging area는 내용이 바뀌지 않았다. 그렇기 때문에 readme.md 파일이 staging되었지만 repo에는 반영되지 않았음을 알린다. 한번 staging된 파일은 영원히 staging된 파일이다. 우리가 일부러 제거하지 않는 이상 한번 추가된 건 계속 staging 된다.
이번엔 git reset —mixed 를 써보자.
git history를 썼을 때 커밋의 위치가 3번으로 변경 되었음을 알 수 있다.
working directory도 내용이 그대로 인 것을 알 수가 있다.
git status를 확인해보면 두 파일이 staging되기 전으로 돌아갔음을 알 수 있다.
그래서 지금 워킹 디렉토리는 할머니랑 할아부지가 있는데 내 staging area에 반영이 안되어서 저렇게 modified 되었지만 staging이 안된 것으로 알려주는 것이다.