우리는 이번에 git reset의 3가지 옵션을 써볼 것이다. 일단 —soft를 써보자.

스크린샷 2022-08-07 오후 9.56.52.png

이렇게 하고나면 나의 repostiory가 4번째 커밋으로 이동한 것을 잘 볼 수가 있다.

스크린샷 2022-08-07 오후 9.57.40.png

working directory를 보아도 바뀌지 않은 것을 잘 볼수가 있다.

스크린샷 2022-08-07 오후 9.58.51.png

어라 근데 여기 modified: README.md가 왜 만들어졌을까?

스크린샷 2022-08-07 오후 9.59.08.png

3가지 작업 영역을 살펴본다면 repo의 head는 4번 커밋에 위치하지만 staging area는 내용이 바뀌지 않았다. 그렇기 때문에 readme.md 파일이 staging되었지만 repo에는 반영되지 않았음을 알린다. 한번 staging된 파일은 영원히 staging된 파일이다. 우리가 일부러 제거하지 않는 이상 한번 추가된 건 계속 staging 된다.

이번엔 git reset —mixed 를 써보자.

스크린샷 2022-08-07 오후 10.01.32.png

git history를 썼을 때 커밋의 위치가 3번으로 변경 되었음을 알 수 있다.

스크린샷 2022-08-07 오후 10.02.18.png

working directory도 내용이 그대로 인 것을 알 수가 있다.

스크린샷 2022-08-07 오후 10.02.52.png

git status를 확인해보면 두 파일이 staging되기 전으로 돌아갔음을 알 수 있다.

스크린샷 2022-08-07 오후 10.04.50.png

스크린샷 2022-08-07 오후 10.05.02.png

그래서 지금 워킹 디렉토리는 할머니랑 할아부지가 있는데 내 staging area에 반영이 안되어서 저렇게 modified 되었지만 staging이 안된 것으로 알려주는 것이다.