Git을 사용하여 원격으로 푸시하는 중 오류가 발생했습니다.

Git을 사용하여 원격으로 푸시하는 중 오류가 발생했습니다.

새로운 Centos 6 서버가 설치되어 있고 yum을 통해 git 버전 1.7.1을 설치했습니다. 액세스를 위해 Apache를 통해 스마트 http 방법을 사용하고 있습니다.

원격 서버로 푸시하려고 하면 다음과 같은 결과가 나타납니다.

$ git push origin master
Password:
Counting objects: 6, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 436 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
error: unpack failed: index-pack abnormal exit

나는 아무런 차이가 없었던 다음을 시도했습니다.

  • chown -R apache:apache /path/to/git/repository (httpd는 아파치로 실행됩니다)
  • chown -R 아파치:사용자 /path/to/git/repository
  • chmod -R 777 /path/to/git/repository (분명히 안전하지는 않지만 파일 권한 문제를 제거하고 싶었습니다)

직장에 나가기 위해 무엇을 시도할 수 있나요?

답변1

이는 다음과 유사할 수 있습니다.https://stackoverflow.com/questions/4826639/repack-of-git-repository-fails. 저장소가 크고(1-2GB) 서버의 메모리가 부족할 때 비슷한 오류가 발생했습니다. 특히 서버의 "git pack-objects" 프로세스는 많은 메모리와 프로세서 시간을 소모합니다.

솔루션에는 서버에 저장소를 다시 포장하는 것이 포함되는 것 같습니다.

git repack -a -d -f --window-memory 10m --max-pack-size 20m

또는 다음과 같이 서버의 Git 구성을 조정하여 메모리 사용량을 줄입니다.

git config pack.windowMemory 10m
git config pack.packSizeLimit 20m

사용 가능한 메모리 양에 따라 10m 및 20m 값을 사용하여 플레이해야 할 수도 있습니다.

관련 정보