# git reflog (git reset 후 커밋 복구) --- ## 1. 상황 예시 ```bash git reset --hard HEAD~1 ``` 이 명령어로 ****가장 최근 커밋****이 삭제되었고, 스테이징/작업 디렉토리도 초기화됨. --- ## 2. `git reflog`란? > Git에서 브랜치가 가리키던 과거 위치들을 ****기록****해 놓은 로그입니다. ```bash git reflog ``` 실행하면 다음과 같은 출력이 나온다. ```bash c3d9f7b HEAD@{0}: reset: moving to HEAD~1 e7a1b2a HEAD@{1}: commit: 구현 완료 ... ``` → 이때 `HEAD@{1}`이 우리가 잃어버린 커밋이다. --- ## 3. 복구 방법 ```bash git reset --hard HEAD@{1} ``` 또는 해시값 직접 지정: ```bash git reset --hard e7a1b2a ``` → 이 명령으로 ****삭제된 커밋과 작업 내용 복원**** 완료! --- ## 추가 팁: 안전하게 복원하기 👉 `--hard`는 위험하니, 안전하게 복원하려면 ****브랜치를 새로 만들어서**** 이전 커밋으로 가도 된다. ```bash git checkout -b recovery HEAD@{1} ``` --- ## 📌 정리
명령어 설명
`git reflog` HEAD, 브랜치 이동 이력 확인
`git reset --hard HEAD@{n}` 과거 커밋 상태로 복원
`git checkout -b <이름> HEAD@{n}` 복구 브랜치 생성 (더 안전)
---