왜 git은 “최적의 성능을 위해 백그라운드에서 저장소 자동 패킹”이라고 계속 말합니까? 의 중복이라고

참고 : 나는 이것이 미묘하게 다른 오류 메시지로 git 을 중단 시키는 비 배경 팩에 대해 말하는 이 질문 의 중복이라고 생각 하지 않습니다 .


내 git 저장소 중 하나에서 (예를 들어) 호출 할 때마다 git fetchgit은 다음을 인쇄합니다.

Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.

git fetch변경 사항이없고 할 일이없는 경우에도 반복적으로 수행하면 매번 인쇄하는 것처럼 보입니다 git fetch. 이것은 나에게 많은 의미가 없습니다. 또한 같은 다른 네트워크 운영, 일어날 것으로 보인다 git pushgit pull.

명령은 더 이상 출력되지 않고 즉시 프롬프트로 돌아오고 내 컴퓨터에서 실행중인 git 프로세스를 찾을 수 없습니다. 이 저장소와이 컴퓨터에서만 발생하는 것 같습니다. git config -l | grep gc아무것도 반환하지 않습니다.

이 문제를 진단하거나 수정하려면 어떻게해야합니까?

$ git --version
git version 2.0.1

OS X 10.9를 사용하고 있습니다.



답변

두 번째 의견 인 Trengot에서 해결책을 찾았습니다. 감사합니다. 나는 몇 가지 매달려있는 얼룩이 있었는데, 그 안에 .git/objects/17있었고 따라서 패킹을 트리거했습니다.

$ git fsck
dangling blob d9ff0aeac4aa8b4e0907daed675ebf60278bc977
dangling blob dbff2d073741f9775c815d4a3c623736af224dad
dangling blob e1ffbab1c5b985cd1cd3bc0281075ea2ed80744a
dangling blob fdff59878ccb3a75689f4acca615cfb635288774

이것은 그들을 정리했습니다.

$ git gc --prune=now

아래 Henrik의 의견에 따라 이것은 약간 위험 할 수 있습니다. 조심해!