git fsck
git
쓰는 꼴
git fsck [--lost-found] [--unreachable]개체 저장소를 검사하고 아무도 가리키지 않는 커밋을 알려 줍니다 — reflog 기록까지 사라진 뒤 잃은 작업을 찾는 두 번째 방법이며, 알려 주기만 하고 고쳐 주지는 않습니다.
자주 쓰는 옵션
| 옵션 | 뜻 |
|---|---|
| --lost-found | write dangling objects into .git/lost-found |
| --unreachable | list objects no ref points at |
| --dangling | list objects nothing at all refers to |
| --full | check packs and alternates too |
| --connectivity-only | skip the expensive object checks |
| --no-reflogs | do not treat reflog entries as roots |
예시
git fsck --lost-foundrecovers commits after a reset when the reflog is gone
git fsck --unreachablelists commits nothing points at any more
git fsck --connectivity-onlya quick structural check on a huge repository
되돌리는 방법이 여럿이라 헷갈립니다 — 가리키는 곳을 옮기는 것과 새 커밋을 얹는 것은 다릅니다.
읽는 방법
- 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
- 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
- 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.
자주 묻는 것
Q. git fsck은 무엇을 하나요?
개체 저장소를 검사하고 아무도 가리키지 않는 커밋을 알려 줍니다 — reflog 기록까지 사라진 뒤 잃은 작업을 찾는 두 번째 방법이며, 알려 주기만 하고 고쳐 주지는 않습니다.
Q. 어떻게 치나요?
git fsck [--lost-found] [--unreachable] — 대괄호는 생략할 수 있는 자리입니다.
Q. 옵션은 몇 개나 자주 쓰나요?
여기 정리한 것은 6개입니다. 전체 목록은 man git에 있습니다. 이 명령은 git 갈래입니다.
같이 보는 명령
man 페이지: man git-fsck