Git Gui : "이 저장소에는 현재 약 320 개의 느슨한 개체가 있습니다."


89

특정 프로젝트에서 Git Gui를 시작할 때마다 다음 메시지가 표시됩니다.

이 저장소에는 현재 약 320 개의 느슨한 개체가 있습니다.

여기에 이미지 설명 입력

그런 다음 계속해서 를 클릭 하면 다음 대화 상자가 나타납니다.

여기에 이미지 설명 입력

문제는 Git Gui를 다시 열면 똑같은 메시지 가 나타납니다. 약 320 개의 느슨한 개체가 다시 나타납니다! 예를 클릭해도 전혀 효과가없는 것과 같습니다 .


의 출력을 게시 할 수 있습니까 git count-objects -v?
CB Bailey


5
@TheCodeArtist 감사합니다. 거기에서 답을 찾았습니다. 이 주석에git gc 따라 명령 줄에서 명시 적으로 실행 하면 저에게 효과적 이었습니다.
sashoalm

답변:


80

'git gui'를 실행할 때 "Loose Object"팝업을 건너 뛰는 방법 이 허용 된 답변에서 제안 하는 것처럼 팝업을 건너 뛰는 것은 Git이 가능한 성능 문제를 사용자에게 전달한다는 사실을 간과하는 것입니다. 이 문제는 명령 줄에서 다음 명령을 실행하여 해결할 수 있습니다.

cd path/to/your/git/repo
git gc --aggressive

의 출력에서 git help gc:

파일 개정을 압축 (디스크 공간을 줄이고 성능을 높이기 위해)하고 git add의 이전 호출에서 생성되었을 수있는 도달 할 수없는 객체를 제거하는 등 현재 저장소 내에서 여러 가지 관리 작업을 실행합니다.

사용자는 각 저장소 내에서이 작업을 정기적으로 실행하여 좋은 디스크 공간 활용도와 우수한 운영 성능을 유지하는 것이 좋습니다.

--적극적인

일반적으로 git gc는 좋은 디스크 공간 활용도와 성능을 제공하면서 매우 빠르게 실행됩니다. 이 옵션을 사용하면 git gc가 훨씬 더 많은 시간이 소요되는 대신 저장소를보다 적극적으로 최적화 할 수 있습니다. 이 최적화의 효과는 지속적이므로이 옵션은 가끔 만 사용해야합니다. 수백 개 정도의 변경 집합마다.

이렇게하면 잠시 동안 프롬프트가 표시되지 않습니다.


19
이상한 점은 단순히 git gc명령 줄에서 실행하면 문제가 해결된다는 것입니다. git gui다음과 같이 실행될 수 있습니다. git gc --extra-unaggressive:)
sashoalm 2014 년

38
git prunegit gc그렇지 않을 때 그것을 고치는 것 같습니다 .
Mahn

1
일반적으로 다음과 같이 실행하고 싶지 않습니다 --aggressive. 원인은 git일반적으로 비생산적인 매우 시간이 소요됩니다 델타를 다시 계산합니다; 이 게시물을 참조하십시오 - man페이지가 오해의 소지가 있습니다. git gc이 경우에는 아마도 평범한 것으로 충분할 것입니다.
Jeff Clites 2015

16
--prune=all메시지를 제거하는 데 사용해야 했습니다. 나도 git gc명령 줄이나 옵션에 --aggressive--prune트릭을하지 않았다.
daw

1
@JeffClites 당신이 언급 한 기사는 (현재 날짜 기준) 11 년 전이며, "이 때문에 공격적인 내용은 맨 페이지에서 제거되고 잠시 동안 문서화되지 않은 기능으로 남아있을 것입니다."라고 말합니다. 더 파헤 치지 않고 깨진 메시지가 여전히 거기에 있다는 것이 이상해 보입니다. 기사가 작성된 동작이 사인 수정되었을 가능성이 있습니까?
파이프

3

나는 명령을 사용합니다.

git gc --prune = now

완료 후 너무 많은 느슨한 물체 경고가 없습니다.

참조 출처 : https://git-scm.com/docs/git-gc


1
이것이 나를 위해 일한 솔루션이라고 말해야합니다. 이상하게도 git gc --aggressive경고를 제거하지 않았습니다 (간단한 작업을 수행하는 것처럼 보이는 UI를 클릭하지도 않았습니다 git gc).
saeraphin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.