git reflog
git
쓰는 꼴
git reflog [show] [<ref>]HEAD와 브랜치가 지나온 자리를 기록해 둡니다 — reset --hard나 브랜치 삭제로 잃은 커밋을 여기서 찾지만, 기록은 기본 90일이면 만료되고 내 컴퓨터에만 있습니다.
자주 쓰는 옵션
| 옵션 | 뜻 |
|---|---|
| show <ref> | the positions of one branch instead of HEAD |
| --date=iso | real timestamps instead of relative ones |
| -n <n> | only the last n entries |
| HEAD@{n} | the commit HEAD pointed at n moves ago |
| expire --expire=now --all | wipe the log, which also gives up the safety net |
예시
git reflogevery position HEAD has had, newest first
git reflog --date=iso -n 20the last twenty moves with real dates
git reset --hard HEAD@{1}undoes the reset you just regretted
되돌리는 방법이 여럿이라 헷갈립니다 — 가리키는 곳을 옮기는 것과 새 커밋을 얹는 것은 다릅니다.
읽는 방법
- 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
- 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
- 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.
자주 묻는 것
Q. git reflog은 무엇을 하나요?
HEAD와 브랜치가 지나온 자리를 기록해 둡니다 — reset --hard나 브랜치 삭제로 잃은 커밋을 여기서 찾지만, 기록은 기본 90일이면 만료되고 내 컴퓨터에만 있습니다.
Q. 어떻게 치나요?
git reflog [show] [<ref>] — 대괄호는 생략할 수 있는 자리입니다.
Q. 옵션은 몇 개나 자주 쓰나요?
여기 정리한 것은 5개입니다. 전체 목록은 man git에 있습니다. 이 명령은 git 갈래입니다.
같이 보는 명령
man 페이지: man git-reflog