오류: RPC 실패, 미결 읽기 데이터가 남아 있는 상태에서 컬 전송이 닫혔습니다.
GitLab(GitLab 6.6.24ef8369)에서 리포지토리를 복제하려고 하면 다음 오류가 발생합니다.
remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
그런 다음 복제본이 중단됩니다.어떻게 하면 피할 수 있을까요?
인터넷 연결 속도가 느려서 상당히 큰 깃 저장소를 복제해야 하는 경우가 많습니다.가장 일반적인 문제는 연결이 닫히고 전체 복제본이 취소된다는 것입니다.
Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
수많은 시행착오와 "원격 종료가 예기치 않게 중단"된 후에 저는 제게 맞는 방법을 찾았습니다.먼저 얕은 복제를 수행한 다음 저장소를 기록으로 업데이트하는 것입니다.
$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
며칠 후, 저는 오늘 이 문제를 해결했습니다.ssh 키 생성, 다음 문서를 따릅니다.
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
선언 대상
- Git 제공자(GitLab 내가 사용하고 있는 GitHub).
- 로컬 ID에 추가합니다.
그런 다음 명령으로 복제:
git clone username@mydomain.com:my_group/my_repository.git
오류가 발생하지 않습니다.
위의 문제
오류: RPC 실패, curl 18 전송이 닫히고 미결 읽기 데이터가 남음
HTTP 프로토콜로 할 때 오류가 발생하기 때문입니다.curl
명령).
그리고 버퍼 크기를 늘려야 합니다.
git config --global http.postBuffer 524288000
압축을 꺼야 합니다.
git config --global core.compression 0
그런 다음 얕은 클론을 사용해야 합니다.
git clone --depth=1 <url>
그리고 가장 중요한 단계는 복제된 프로젝트에 CD를 넣는 것입니다.
cd <shallow cloned project dir>
이제 클론의 열기를 단계적으로 해제합니다.
git fetch --depth=N, with increasing N
예를 들면
git fetch --depth=4
그리고나서,
git fetch --depth=100
그리고나서,
git fetch --depth=500
이 N을 대체하여 원하는 단계 수를 선택할 수 있습니다.
그리고 마지막으로 다음을 사용하여 나머지 수정본을 모두 다운로드합니다.
git fetch --unshallow
도움이 된다면 투표하세요 :)
원격에서 복제를 시도했을 때 동일한 문제가 반복적으로 발생했습니다.
remote: Counting objects: 182, done.
remote: Compressing objects: 100% (149/149), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
마침내 이것이 저에게 효과가 있었습니다.
git clone https://username@bitbucket.org/repositoryName.git --depth 1
간단한 솔루션:https를 통해 복제하는 대신 ssh를 통해 복제합니다.
예:
git clone https://github.com/vaibhavjain2/xxx.git - Avoid
git clone git@github.com:vaibhavjain2/xxx.git - Correct
네트워크 연결 문제입니다.
지속적인 연결 시간 초과 때문일 수 있습니다.
가장 좋은 방법은 다른 네트워크로 변경하는 것입니다.
언급한 와 같이 를 실행하고합니다.GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...
예GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
자세한 오류 정보가 표시됩니다.
이 단계들은 나에게 효과가 있었습니다:사용git://
에 https://
일반적으로 다음 이유 중 하나 때문에 발생합니다.
- 느린 인터넷.
- 안정적인 네트워크 연결이 가능한 LAN 케이블로 전환하는 것이 많은 경우에 도움이 됩니다.가져오는 동안 병렬 네트워크 집약적인 작업을 수행하지 마십시오.
- 가져오려는 서버 측에서 TCP/IP 연결 시간이 조금 초과되었습니다.
- 당신이 할 수 있는 일은 많지 않습니다.시스템 관리자 또는 CI/CD 담당 팀에게 증가를 요청하기만 하면 됩니다.TCP/IP 시간 초과 및 대기.
- 서버에 많은 부하가 걸립니다.
- 업무 시간 중 서버 부하가 심하기 때문에 대용량 파일 다운로드가 지속적으로 실패할 수 있습니다.야간 다운로드를 시작한 후에는 기기를 종료합니다.
- 클라이언트 시스템에 작은 HTTPS 버퍼가 있습니다.
- 게시 및 요청에 대한 버퍼 크기를 늘리는 것이 도움이 될 수 있지만 보장되지는 않습니다.
git config --global http.postBuffer 524288000
git config --global http.maxRequestBuffer 524288000
git config --global core.compression 0
저는 프록시 구성 때문에 이 문제가 발생했습니다.프록시 예외에 ipgit 서버를 추가했습니다.git 서버가 로컬이지만 no_proxy 환경 변수가 올바르게 설정되지 않았습니다.
이 명령을 사용하여 문제를 식별했습니다.
#Linux:
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
Git 서버가 프록시를 통과해서는 안 되기 때문에 "프록시 인증"이 있었습니다.그러나 실제 문제는 프록시 규칙에 의해 정의된 파일의 크기였습니다.
문제는 전체 클론이 완료되기 전에 연결이 닫히는 것이었습니다.저는 와이파이 연결 대신 이더넷을 사용했습니다.그럼 나는 해결이 되겠군요.
이 오류는 인터넷 연결이 느리거나 연결에 문제가 있을 때 더 자주 발생하는 것 같습니다.인터넷 속도가 좋아서 연결이 잘 되었습니다.
나에게 효과가 있었던 것은 git의 메모리 요구량에 대해 이 오류가 발생할 수 있기 때문입니다.$ $에 있는 . 행을 추가했습니다.C:\Users\<USER_NAME>\.gitconfig
[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
프록시 문제가 있거나 네트워크 속도가 느릴 때 이 문제가 발생합니다.깊이 솔루션을 사용할 수 있습니다.
git fetch --all or git clone
curl 56 Recv 오류가 발생하면 zip을 통해 파일을 다운로드하거나 --all 대신 branch 이름을 지정합니다.
git fetch origin BranchName
여기서 모든 답을 시도했습니다.저는 제 기계에 코코팟을 추가하려고 했습니다.
SSH 키가 없어서 @Do Nhu Vy 감사합니다.
https://stackoverflow.com/a/38703069/2481602
그리고 최종적으로 사용되었습니다.
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
마침내 문제를 해결하기 위해 https://stackoverflow.com/a/50959034/2481602 을 찾았습니다.
저도 이 문제에 직면해 있습니다.그것을 해결합니다.문제는 느린 인터넷 연결입니다.다른 것은 인터넷 연결을 확인하십시오.인터넷 속도가 좋아서 연결이 잘 되었습니다.도움이 되었기를 바랍니다.
이 문제는 일반적으로 대용량 저장소를 복제하는 동안 발생합니다.한다면git clone http://github.com/large-repository --depth 1
윈도우즈 cmd에서는 작동하지 않습니다.윈도우즈 powershell에서 이 명령을 실행해 보십시오.
두 가지 이유가 될 수 있습니다.
- 인터넷 속도가 느립니다(이것은 제 경우였습니다).
- 버퍼 크기가 작습니다. 이 경우 git config --global http.postBuffer 524288000 명령을 실행할 수 있습니다.
이 문제는 100% 해결되었습니다.저는 이 문제에 직면하고 있었고, 제 프로젝트 매니저는 레포 이름을 바꾸었지만 저는 오래된 레포 이름을 사용하고 있었습니다.
Engineer@-Engi64 /g/xampp/htdocs/hospitality
$ git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repo/cms
Cloning into 'cms'...
remote: Counting objects: 10647, done.
error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
내가 이 문제를 어떻게 해결했는지.리포링크가 유효하지 않아 이 문제에 직면하게 되었습니다.복제하기 전에 보고서 링크를 확인하십시오.
나는 Github에 코드를 푸시하는 동안 같은 문제가 발생했습니다.
나는 노력했다.git config --global http.postBuffer 524288000
하지만 저한테는 효과가 없었어요.
이유
커밋 기록 및/또는 파일 크기가 더 크기 때문입니다.
마이 케이스
저의 경우 package-lock.json이 문제를 일으켰습니다.1500KB 이상의 크기와 33K 줄의 코드였습니다.
어떻게 풀었나요?
- 나는 package-lock.json 없이 모든 것을 커밋하고 푸시했습니다.
- package-lock.json의 내용을 복사합니다.
- GitHub repo 페이지에서 package-lock.json 이름으로 새 파일을 만들었습니다.
- package-lock.json의 내용을 붙여넣고 커밋합니다.
- 지역적으로 당기기.
그리고 끝.
팁들
- 각 커밋 크기를 더 작게 유지
- 자주 누르기
- 양호한 인터넷 연결 사용
도움이 되셨기를 바랍니다.
git clone --global core.compression 0
그리고나서
git clone --depth=1 <https://your_repo.git>
그리고나서
git fetch --depth=2
그리고나서
git fetch --depth=10
그가 글을 쓸 때까지 등.
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
마지막에 당신은 쓸 수 있습니다.
git fetch --unshallow
그리고 당신은 던져질 것입니다.
fatal: --unshallow on a complete repository does not make sense
어떤 단계에서 다시 오류가 발생하면 --depth 속성을 더 작은 값으로 설정하고 점진적으로 더 증가합니다.
GitHub Desktop으로 레포를 복제할 수 있었습니다.
할 때 이 오류가 있었습니다.git push
HTTP/1.1로 변경한 후.
내 다시 실행하기: VPN을 실행합니다.git push
.
git 구성
[core]
autocrlf = input
compression = 0
[remote "origin"]
proxy = 127.0.0.1:1086
[http]
version = HTTP/1.1
[https]
postBuffer = 524288000
retry.sh
set -x
while true
do
git clone xxxxx
if [ $? -eq 0 ]; then
break
fi
done
Git 클론 프로토콜을 시도하도록 변경하는 중입니다.
예를 들어, 이 오류는 "git clone https://xxxxxxxxxxxxxxxxxxxxxxxxx"
"git clone git://xxxxxxxxxxxxxxxxxxxxxx"로 시도할 수 있습니다. 그러면 괜찮을 것입니다.
다음 단계가 제게 도움이 됩니다.
cd [dir]
git init
git clone [your Repository Url]
그것이 당신에게도 효과가 있기를 바랍니다.
이것을 먹어보세요.
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
이것은 나를 위한 일입니다.capture.png
언급URL : https://stackoverflow.com/questions/38618885/error-rpc-failed-curl-transfer-closed-with-outstanding-read-data-remaining
'programing' 카테고리의 다른 글
Ag-Grid 셀 버튼 클릭으로 렌더링 (0) | 2023.07.05 |
---|---|
Firebase Auth 관련 예외를 검색하는 방법 (0) | 2023.07.05 |
/actuator/info Endpoint가 스프링 부트 2.5.0에서 작동하지 않습니다. (0) | 2023.07.05 |
plsql의 증분 함수 (0) | 2023.07.05 |
C에서 강력한 유형 검사 적용(유형 정의에 대한 유형 엄격성) (0) | 2023.07.05 |