·터미널 명령어

git gc

git

쓰는 꼴

git gc [--aggressive] [--prune=<date>]

흩어진 개체를 묶고 아무도 안 쓰는 것을 버려 .git을 줄입니다 — --prune=now는 reflog가 붙들고 있던 커밋까지 버려서 reset을 되돌릴 안전망이 사라집니다.

자주 쓰는 옵션

옵션
--aggressiverepack harder; slow, occasionally worth it
--prune=<date>drop unreachable objects older than that
--prune=nowdrop them all, which also throws away reflog-only commits
--autodo nothing unless there is enough loose junk
--no-prunerepack but keep unreachable objects
-qno progress output

예시

git gc

packs loose objects and shrinks .git

git gc --auto

the cheap check git itself runs after some commands

git gc --prune=now --aggressive

smallest result, and no way back to lost commits

되돌리는 방법이 여럿이라 헷갈립니다 — 가리키는 곳을 옮기는 것과 새 커밋을 얹는 것은 다릅니다.

읽는 방법

  • 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
  • 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
  • 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.

자주 묻는 것

Q. git gc은 무엇을 하나요?

흩어진 개체를 묶고 아무도 안 쓰는 것을 버려 .git을 줄입니다 — --prune=now는 reflog가 붙들고 있던 커밋까지 버려서 reset을 되돌릴 안전망이 사라집니다.

Q. 어떻게 치나요?

git gc [--aggressive] [--prune=<date>] — 대괄호는 생략할 수 있는 자리입니다.

Q. 옵션은 몇 개나 자주 쓰나요?

여기 정리한 것은 6개입니다. 전체 목록은 man git에 있습니다. 이 명령은 git 갈래입니다.

같이 보는 명령

man 페이지: man git-gc