git reset은 커밋을 취소하고 이전 커밋으로 되돌리는 명령어입니다. ⏪
git reset의 기본 동작(--mixed와 동일)은 git commit과 git add (스테이징) 작업을 되돌리지만, 작업 디렉토리의 파일 내용은 변경하지 않습니다. 🔄
- Git의 버전 업데이트 과정은 '파일 수정' -> 'git add (스테이지)' -> 'git commit'의 세 단계로 이루어집니다. 🪜
git reset --soft 옵션은 커밋만 취소하고 스테이지 상태는 유지합니다. 즉, git add 작업은 되돌리지 않습니다. ☁️
git reset --mixed 옵션은 git reset의 기본 동작과 동일하며, 커밋과 스테이징(git add)을 모두 취소하지만 파일 내용은 유지합니다. (자주 명시하지 않음) 🎛️
git reset --hard 옵션은 커밋, 스테이징뿐만 아니라 작업 디렉토리의 파일 내용까지 모두 되돌려 버립니다. 이는 되돌릴 수 없으므로 사용에 극도의 주의가 필요합니다. ⚠️
--hard 옵션 사용 시 되돌릴 수 없는 변경이 발생할 수 있으므로, 가급적 --soft 또는 기본 git reset을 사용하고 필요한 경우 git restore를 활용하는 것이 안전합니다. 🛡️
데브허브 | DEVHUB | git 첫 난관: reset 옵션들