참조 기록 확인
reflog
깃은 안정적인 작업을 유지하기 위해 참조된 모든 refs를 기록한다. 그리고 내부적으로 작업한 모든 HEAD와 브랜치 포인터를 기록한다. 이때 사용된 포인터들의 기록을 reflog라고 하며, reflog 기록은 reflog 명령어를 사용하여 확인할 수 있다.
$ git reflog
log -g
log 명령어의 g 옵션으로도 refs 로그를 확인할 수 있다.
$ git log -g
기록 확인
reflog 기록들은 HEAD@{숫자} 형태이다. 각 숫자는 작업을 수행한 해시 값을 가리킨다. 따라서, reflog에 기록된 HEAD@{숫자} 포인터를 이용하여 커밋 정보를 확인할 수 있다.
$ git show HEAD@{0}
기간 확인
커밋의 로그 기록이 많은 경우 필터링할 수 있다. 필터링은 특정한 날짜, 시간 등 기준을 적용한다.
$ git show "main@{1 hour ago}"
기록 유지
reflog는 한 번이라도 사용했던 HEAD와 브랜치를 기록한다. 하지만 모든 기록을 영구적으로 가지고 있지는 않는다. reflog는 시스템에서 정의한 며칠간의 기록만 보관하며 그 이전의 작업들은 모두 삭제한다. 또한, refs는 로컬 저장소에만 기록하므로 원격 저장소나 복제, 복사 등으로는 refs 기록을 옮길 수 없다.
'Git' 카테고리의 다른 글
임시 객체로 치환(replace) (0) | 2025.04.08 |
---|---|
파일 애너테이션(blame) (0) | 2025.04.08 |
참조(refs) (0) | 2025.04.08 |
서브 모듈 (0) | 2025.04.08 |
배포 관리 (0) | 2025.03.27 |