기능
- 로컬 리포지토리에서 브랜치나 HEAD 이동 이력 표시
- 브랜치 이동, 커밋, 리셋 등 작업 히스토리 추적
형식
git reflog [옵션]
옵션
<브랜치명> # 특정 브랜치의 이력만 확인
-n <숫자> # 지정한 개수까지만 출력
--grep=<패턴> # 특정 패턴과 일치하는 로그만 출력
--all # 모든 브랜치, 태그의 이력 확인
-date=<포맷> # 로그에 표시되는 날짜 형식 지정(relative, iso, local 등)
--pretty=format:"<포맷>" # 출력되는 형식 커스터마이징
--no-abbrev # 커밋 해시를 축약된 형태가 아닌 전체로 출력
--expire=<시간> # 특정 시간 이상 경과된 로그 삭제(예: --expire=30.days.ago)
HEAD@{<시간>} # 특정 시간에 HEAD가 가리키고 있던 커밋 확인
예시
git reflog -n 10
git reflog --grep="commit" -n 10
git reflog --grep="commit" -n 10 --date=format:"%Y-%m-%d %H:%M:%S"
# 지정한 시각까지 발생한 히스토리 최대 10개까지 출력
git reflog -n 10 --date=format:"%Y-%m-%d %H:%M:%S" HEAD@{"2024-11-20 22:00:00"}