Git 리셋 명령어 (git reset)
git reset
명령어는 Git 커밋과 스테이징 상태를 되돌리거나 수정할 때 사용됩니다. 잘못된 커밋을 수정하거나 파일을 스테이징에서 제거하는 등 다양한 상황에서 유용합니다.
요약
- git reset [옵션] <커밋 또는 파일> : 옵션에 따라 스테이징 영역, 커밋 이력, 작업 디렉토리의 상태를 변경할 수 있습니다.
git reset --soft <커밋 해시>
: 커밋만 되돌리고, 변경 내용은 스테이징 영역에 유지합니다.git reset --mixed <커밋 해시>
: 커밋과 스테이징 상태를 되돌리지만, 파일 변경 사항은 작업 디렉토리에 남깁니다.git reset --hard <커밋 해시>
: 모든 파일과 스테이징 상태를 해당 커밋으로 되돌립니다. 작업 중인 변경 사항이 복구 불가능하게 삭제될 수 있으니 신중하게 사용하세요.git reset <파일명>
: 스테이징 영역에 있는 특정 파일을 해제합니다.
자세히
1. 기본 명령
git reset [옵션] <커밋 또는 파일>
: 옵션에 따라 스테이징 영역, 커밋 이력, 작업 디렉토리의 상태를 변경할 수 있습니다.
2. 옵션별 동작
- soft 옵션: 커밋만 되돌리기
git reset --soft <커밋 해시>
: 커밋만 되돌리고, 변경 내용은 스테이징 영역에 유지합니다.
- mixed 옵션: 스테이징 영역 초기화 (기본 옵션)
git reset --mixed <커밋 해시>
: 커밋과 스테이징 상태를 되돌리지만, 파일 변경 사항은 작업 디렉토리에 남깁니다.
- hard 옵션: 커밋, 스테이징, 파일 모두 초기화
git reset --hard <커밋 해시>
: 모든 파일과 스테이징 상태를 해당 커밋으로 되돌립니다. 작업 중인 변경 사항이 복구 불가능하게 삭제될 수 있으니 신중하게 사용하세요.
3. 특정 파일 리셋하기
git reset <파일명>
: 스테이징 영역에 있는 특정 파일을 해제합니다.