나는 googled하고 많은 솔루션을 찾았지만 나에게 도움이되지 않습니다.
LAN 네트워크에있는 원격 서버에 연결하여 한 시스템에서 복제하려고합니다.
다른 머신에서이 명령을 실행하면 오류가 발생합니다.
그러나 서버에서 git : //192.168.8.5 …를 사용하여 SAME clone 명령을 실행하면 정상적으로 작동합니다.
어떤 아이디어?
user@USER ~
$ git clone -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed
이 구성을 추가 .gitconfig
했지만 도움 이 되지 않았습니다.
자식 버전 1.8.5.2.msysgit.0 사용
[core]
compression = -1
답변
먼저 압축을 해제하십시오.
git config --global core.compression 0
다음으로, 정보의 양이 줄어드는 부분 복제를하겠습니다.
git clone --depth 1 <repo_URI>
작동하면 새 디렉토리로 이동하여 나머지 복제본을 검색하십시오.
git fetch --unshallow
또는 교대로
git fetch --depth=2147483647
이제 정기적으로 당기십시오.
git pull --all
1.8.x 버전에는 이러한 증상을 악화시키는 msysgit의 결함이 있다고 생각하므로 다른 옵션은 이전 버전의 git (<= 1.8.3, 생각합니다)으로 시도하는 것입니다.
답변
이 오류는 git의 메모리 요구에 발생할 수 있습니다. 당신은 당신의 글로벌 자식 설정 파일에 다음 라인을 추가 할 수 있습니다 .gitconfig
에서 $USER_HOME
그 문제를 해결하기 위해.
[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
답변
마침내 해결 git config --global core.compression 9
나는 거의 다섯 번 시도했지만 여전히 발생합니다.
그런 다음 더 나은 압축을 사용하려고 시도했습니다.
git config --global core.compression 9
core.compression
정수 -1..9이며 기본 압축 수준을 나타냅니다. -1이 zlib 기본값입니다.
0은 압축이 없음을 의미하고 1..9는 다양한 속도 / 크기 트레이드 오프이며 9가 가장 느립니다.
설정하면 core.looseCompression 및 pack.compression과 같은 다른 압축 변수에 기본값이 제공됩니다.
답변
@ingyhere가 말했듯이 :
얕은 클론
먼저 압축을 해제하십시오.
git config --global core.compression 0
다음으로, 정보의 양이 줄어드는 부분 복제를하겠습니다.
git clone --depth 1 <repo_URI>
작동하면 새 디렉토리로 이동하여 나머지 복제본을 검색하십시오.
git fetch --unshallow
또는 교대로
git fetch --depth=2147483647
이제 잡아 당기십시오 :
git pull --all
그런 다음 현지 지점 전용 추적 마스터의 문제를 해결하려면
.git/config
선택한 편집기에서 git config 파일 ( )을 엽니 다
그것이 말하는 곳 :
[remote "origin"]
url=<git repo url>
fetch = +refs/heads/master:refs/remotes/origin/master
줄을 바꾸다
fetch = +refs/heads/master:refs/remotes/origin/master
에
fetch = +refs/heads/*:refs/remotes/origin/*
git fetch를 수행하면 git이 모든 원격 브랜치를 가져옵니다.
답변
제 경우에는 이것이 매우 도움이되었습니다.
git clone --depth 1 --branch $BRANCH $URL
이렇게하면 체크 아웃이 언급 된 지점으로 만 제한되므로 프로세스 속도가 빨라집니다.
이것이 도움이되기를 바랍니다.
답변
나는 그 모든 명령을 시도했지만 아무것도 나를 위해 작동하지 않지만 git_url을 http 대신 ssh로 변경하는 것이 효과적이었습니다.
복제 명령 인 경우 :
git clone <your_http_or_https_repo_url>
그렇지 않으면 기존 리포지토리를 사용하는 경우
git remote set-url origin <your_http_or_https_repo_url>
이것이 누군가를 돕기를 바랍니다!
답변
git에 메모리가 부족하면이 오류가 발생했습니다.
약간의 메모리를 확보 (이 경우 컴파일 작업 완료)하고 다시 시도하면 나를 위해 일했습니다.