현재 작업중인 커밋이 치명적인 오류여서 복구가 불가능할때, 또는 이전 작업 커밋으로 되돌리고 싶을때 해당 커밋으로 되돌아감(커밋취소)
reset명령어는 아래 옵션과 같이 사용 해야함
원하는 커밋위치로 되돌림, 되돌아간 커밋으로 돌아가면 해당 커밋에서 작업후 커밋을 하기 직전의 스테이지 영역의 파일이 그대로 복구됨.
git reset --soft (HEAD 또는 커밋 해쉬 7자리)
git reset --soft HEAD~ <--이전 커밋으로 soft 옵션을 사용한 리셋
menu5 커밋을 되돌려보자
git reset --soft HEAD~ <--이전 커밋으로 soft 옵션을 사용
커밋이 되돌려짐
사진처럼 마지막 커밋의 스테이지에 파일을 올린 상태로 복구가 됨.
커밋을 되돌리면 되돌린 커밋이 최신 커밋임
mixed 옵션은 soft옵션과 다른게 스테이지 영역에 파일을 올리지 않은 상태로 복구됨
git reset 의 기본값은 --mixed임 즉 생략 가능
git reset (HAED위치 또는 커밋 해쉬값)또는
get reset --mixed (HAED위치 또는 커밋 해쉬값)
스테이지 영역엔 올라가지 않았지만 파일은 수정되어있는 상태임
hard옵션은 이전 커밋상태로 돌리면서 모든 작업내용을 삭제하고 되돌림.
즉 이전 커밋의 상태에서 작업영역에 아무런 수정된 내용이 없이 깨끗하게 되돌려짐
※ pull만 받는 깃 로컬이 있으면(운영중인 클라우드 등)서 pull에러나 도저히 회복 불가 충돌 및 코드 에러가 발생하면 이 옵션을 통해 커밋을 돌리고 리모트 pull을 다시 받으면 효율적
git reset --hard HEAD
현재 워킹 디렉토리, 스테이지 영역이 초기화됨,
커밋 되돌리기를 현재 커밋으로 하면됨.
git reser --merge HEAD~
이전 커밋으로 되돌려 병합을 되돌림.