힘내, 치명적 : 원격 끝이 예기치 않게 끊어졌습니다.


278

내가 달리려고 할 때

git push origin master --force

방금 받았어

Counting objects: 2649, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date

안전하지 않은 것과 관련이 있습니까? Fatal 에 대한 답변에서와 같이 공개 키를 만들려고했습니다 . 원격 엔드가 예기치 않게 끊어지고 다시 실행되었지만 여전히 작동하지 않습니다. 실제로 키를 사용하고 있지 않습니까? 그렇다면 어떻게 사용합니까?


git remote -v
CharlesB


13
git config http.postBuffer 524288000 # 그것은 저에게 효과적입니다
Hari Das

당신이 얻는 경우에 error: could not lock config file .git/config: No such file or directorystackoverflow.com/a/32329453/827525
niksmac

1
제안 된 솔루션을 사용할 수 없었습니다. 그런 다음 GitKraken을 시도했습니다. git.exe를 사용하지 않는 몇 가지 Git 프로그램 중 하나입니다. GitKraken이 할 수있었습니다. GitKraken이 리포지토리를 푸시 한 후 git.exe로 다시 전환하고 문제없이 동기화 할 수있었습니다.
lars pehrsson 10

답변:


83

이것은 새로운 저장소의 https가 아닌 shub를 기본값으로 설정하는 방법 과 비슷 합니다 . 아마도 http 프로토콜에서 ssh로 전환하려고 시도 할 가치가 있습니다.

$ git remote add origin git@github.com:username/project.git

왜 http에서 https로 전환 할 수 없습니까?
DanielLC

10
bash-3.2 $ git remote add origin git@github.com : xxx / xx.git 치명적 : 원격 원점이 이미 존재합니다. 왜 ?
almaruf

11
@ almaruf 리모컨 origin이 이미 있고 교체하려고하기 때문입니다. 자식은 그것을 허용하지 않습니다. 따라서 먼저 git remote rm origin다시 시도해야합니다. 작동합니다
Alfie

git init
Raul

ssh를 통한 git 프로토콜 (ssh 키가 필요함) 또는 개인 액세스 토큰을 통해 사용자 이름과 암호를 요구하는 https 프로토콜을 사용할 수 있습니다 – 나중을 선호합니다
Raul

520

문제는 git / https 버퍼 설정 때문입니다. 그것을 해결하기 위해 ( Git 에서 가져온 커밋을 github으로 푸시하면 실패합니다 )

git config http.postBuffer 524288000

그리고 명령을 다시 실행하십시오


4
버퍼가 500MB보다 커야합니다. 가능합니까? postBuffer 수를 더 높게 설정하면 차이가없는 것 같습니다 ...
jowie

링크 주셔서 감사합니다-푸시를 작은 덩어리로 분할하여 문제를 정렬했습니다. 다시 문제가 생기면 어디를 봐야할지 안다!
jowie

17
이것을 함께 사용하는 것이 --global좋을까요? 나는 정기적으로 큰 저장소를 처리합니다.
DaAwesomeP

2
@ shivam13juna 인터넷에서 아무것도 삭제되지 않습니다 : :) web.archive.org/web/20170119225336/http://github.com/gitlabhq/…
Roman M

3
"git config http.postBuffer 524288000"을 실행했지만 여전히 문제가 해결되지 않았습니다. 여전히 똑같은 말을합니다. 원격 끝이 예기치 않게 끊어졌습니다
Narendra

80

원인 : Git의 기본 파일 게시 크기가 초과되었습니다.

해결책 :

리포지토리로 이동하십시오.

저장소로 이동 한 후 버퍼를 500MB로 늘리려면 다음 명령을 실행하십시오.

git config http.postBuffer 524288000

2
코드 태그를 사용하여 코드를 포맷하십시오. 이 게시물은 오래된 게시물이므로 코드의 기능을 설명하고 가능한 한 답변을 작성하십시오.
Dan Grahn

31
git config ssh.postBuffer 524288000http 대신 ssh를 통해 게시 하는 경우 에도 사용할 수 있습니다 .
John M

경우에 따라git config --global http.postBuffer 100000000
작업 M

이 명령을 실행 한 후 '치명적 : git 디렉토리에 없음'이 표시됩니다.
ka3ak

@JohnM이 옵션은 매뉴얼 페이지에 설명 또는 아니에요, 존재하지 않는 것 git-scm.com/docs/git-config
아무도

29

이 같은 오류가 발생할 수 있습니다

오류 : 구성 파일 .git / config를 잠글 수 없습니다 : 해당 파일이나 디렉토리가 없습니다

로컬 .git/config파일 이 없기 때문에이 명령으로 작동시킬 수 있습니다.

git config --global http.postBuffer 524288000


Cygwin에서 내부의 매우 느린 PC에 복제 할 때이 절 도와 줬어요 - 원격 끝 끊었에 계속 -이 명령을 사용 할 때까지
serup

이렇게하면 "치명적 : 원격 연결이 초기 접촉시 끊어짐"문제를 해결하는 데 도움이됩니다.
Karthic.K

15

내 경우에는 다른 솔루션이 작동하지 않아 가비지 수집을 수행하면 문제가 해결되었습니다.

git gc --aggressive


21
이것은 내 문제를 해결했지만 분리 된 HEAD 변경 사항을 병합하는 것이 불쾌하게되는 상태로 전환했습니다 (모든 것이 ADD로 변환되었습니다). 나는 이것을 실행하기 전에 이것을 더 연구했으면 좋겠다.
MatrixManAtYrService

이것이 어떻게 문제를 일으키는가?
Annadate Piyush

9

다른 답변 중 하나와 달리-ssh를 사용하여 푸시하는 데 문제가있었습니다-https로 전환했는데 수정되었습니다.

git remote remove origin
git remote add origin https://github..com/user/repo
git push --set-upstream origin master

8

이 오류는 리포지토리에 대한 쓰기 권한이없는 경우 에도 발생할 수 있습니다 .


구체적인 사례는 다음과 같습니다.

  1. root서버 사용자 와 SSH를 통해 저장소를 만들었습니다 .
  2. git 서비스를 설치 하고git 하고 모든 git 관련 작업을 관리 해야하는 Linux 사용자를 .
  3. 그 당시에 root는 처음부터 사용자 와 함께 저장소가 작성되었다는 사실을 잊어 버렸으며 사용자 git에게는 저장소에 아무것도 쓸 수있는 파일 권한이 없었습니다.

4

Culprit (필자의 경우) :
대기 시간이 긴 네트워크.

이것은 그 자체로 답이 아니라 다른 사람들을 도울 수있는 더 많은 관찰입니다. 대기 시간이 긴 네트워크에서이 오류가 가끔 나타나는 것을 발견했습니다 (예를 들어 인터넷 액세스를 위해 위성 접시를 사용해야 함). 네트워크 속도는 좋지만 대기 시간이 길어질 수 있습니다. 참고 : 특정 시나리오에서만 문제가 발생하지만 패턴이 무엇인지 확인하지 못했습니다.

일시적 완화 :
네트워크를 전환했습니다. 느리지 만 지연 시간이 짧은 셀 네트워크 (휴대 전화는 핫스팟으로 사용됨)로 이동하여 문제가 사라졌습니다. 셀 연결도 간헐적이기 때문에이 작업은 반복적으로 만 수행 할 수 있습니다. 또한 대역폭 사용량으로 인해 비용이 추가됩니다. 또한이 옵션을 사용할 수있어서 운이 좋습니다. 모두가 아닙니다.

git (또는 ssh 또는 curl 또는 시간 초과가 발생하는)을 네트워크에 더 잘 견딜 수있는 구성 설정이 있다고 확신하지만 그것이 무엇인지 모릅니다.

개발자들에게 탄원 :
이런 종류의 문제는 농촌 인구에게 지속적인 문제입니다. 시스템, 도구 및 응용 프로그램을 설계 할 때 우리를 생각하십시오. 감사합니다.


3

우리의 경우, 문제는 .git/config읽기 전용 액세스 방법 인 URL 항목을 포함하는 파일 을 작성한 클론 이었습니다. ://메소드 에서 URL을 메소드로 변경하면 @문제가 해결되었습니다.

실행 git remote -v하면 문제가 일부 밝혀졌습니다.



3

기존 디렉토리 내에서 저장소를 복제했을 수도 있습니다. 문제를 해결하기 위해 다른 디렉토리에서 저장소를 복제하고 변경 사항을이 새 디렉토리로 복제 한 다음 푸시를 실행할 수 있습니다.


우리는 베타 가능한 워크 플로를 가지고 있으며 사이트를 재 구축하면 정확히이 문제가 발생하여 다른 리포지토리에 리포지토리가 복제됩니다. 해결해야하지만 자식 문제를 해결하십시오. 감사합니다 :-)
Alejandro Moreno

2

또 다른 방법으로,이 오류가 다른 방식으로 발생하여 Google이 나를 여기로 데려갔습니다.

내 문제는 사건의 불일치였다. 낙타 케이스 하나 분명히, GIT는 이유를 말하지 않고이 작업을 중지합니다. 따라서 대소 문자만으로 분기가 리모컨과 다른 경우 동일하게 변경하십시오.

참조 : 힘내 : 병합 후 '마스터를 분기로 해결할 수 없습니다'


모든 관련 정보가 포함되어 있다고 생각했는데 이는 정보가 일치하지 않기 때문입니다. 더 명확하게 문장을 추가했지만 실제로는 링크가 아닙니다. 명확하지 않으면 죄송합니다.
토마스

2

OSX 플랫폼을 업데이트 한 후에 발생할 수 있습니다.

터미널을 열고 .ssh 폴더로 이동 한 후 ssh-add -K ~/.ssh/id_rsa


2

PLESK Nginx 및 GIT 나는 plesk git 에서이 오류를 겪고 있었고 큰 저장소를 밀고있는 동안 (누가 아는가) HTTP 코드 413 으로이 오류가 발생했으며 서버는 Plesk 였고 nginx는 apache2로 실행되었습니다 그래서 로그를 살펴보고 nginx 로그에서 오류를 발견했습니다.

plesk가 더 큰 파일 업로드로 구성을 재구성 할 수 있도록 이 링크 를 따랐습니다 .

git에 대한 PHP 부분을 건너 뛰었습니다.

그 후 git push는 오류없이 작동했습니다.


1

풀에서 같은 오류가 발생했습니다.
"http.postBuffer"트릭을 수행했습니다. 그것을 해결했지만 밀어 넣고 싶을 때 오류가 다시 발생했습니다.

내 문제를 해결 한 이유 :
1. 다른 가상 머신이있는 다른 폴더로 복제했습니다. (리눅스).
2. 변경했습니다.
3. 원래 푸시 할 수 없었던 원래 가상 머신으로 푸시했습니다. (윈도우)


이것은 솔루션 친구가 아닙니다!
Behrouz.M

2
나는 이것이 이상적인 해결책이 아니라는 것을 알고 있지만 내 경우의 문제를 해결했습니다. 다른 모든 대답이 실패 할 때도 여전히 생명의 인이 될 수 있습니다.
nopara73

1

.ssh에서 잘못된 키 쌍이있을 때이 오류가 발생했습니다. pubhub (설정에서)에 pubkey를 추가하면이 문제가 해결되었습니다.


1

나도 같은 문제가있어. git 웹 페이지에서 SSH 복제 URL이 다음 구조를 가지고 있음을 알았습니다.

git@github.com:user/project.git

다음과 같이 ":"을 "/"로 변경하여 문제를 해결할 수 있습니다.

git@github.com/user/project.git

도움이 될 수 있습니다.


1

거의 무의미한 해답이 될 것 같지만, 산발적으로 중단되는 Visual Studio Online이라는 사실을 마침내 알게되면서 오랜 세월 동안이 문제와 싸우고있었습니다. VS가 계속 크리드를 요구하고 VSO 웹 사이트가 때때로 500을 제공했을 때 분명해졌습니다.

Counting objects: 138816, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (38049/38049), done.
error: unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
The remote end hung up unexpectedly/138816), 33.30 MiB | 3.00 KiB/s
Writing objects: 100% (138816/138816), 50.21 MiB | 3.00 KiB/s, done.
Total 138816 (delta 100197), reused 134574 (delta 96515)
fatal: The remote end hung up unexpectedly
Everything up-to-date

실제로 HTTP 게시물 버퍼를 2Mb로 다시 설정했습니다. 실제로 많은 작은 게시물에서 더 잘 작동한다고 생각하기 때문입니다.

누가


1

천 가지 중 하나 일 수있는 것 같습니다.

저에게 처음에는 MasterTree를 통해 master를 개발하고 개발했습니다 (master는 변경 사항 없음). 이것을 개발하기 위해 변경하면 효과가 있습니다.


1

추가 정보없이 "치명적인 : 원격 끝이 예기치 않게 끊어졌습니다"라는 큰 저장소를 업로드하는 중에 비슷한 오류가 발생했습니다.

많은 연구를 한 후 여기에 내가 한 일이 있습니다.

  • HTTPS 대신 SSH를 사용해도 문제가 해결되지 않았습니다.
  • http.postBuffer를 매우 큰 값까지 증분 시키면 여전히 운이 없습니다.
  • repo의 큰 파일 때문일 수 있음을 알았습니다 (이것은 perforce에서 새로 마이그레이션 된 repo이므로) LFS를 사용하여 repo를 다시 작성하여 largeFileThreshold를 40m으로 설정하여 repo 크기를 크게 줄였습니다 (3.5G에서 500M). 나는 이것이 문제를 해결할 것이라고 생각했지만 놀랍게도 여전히 같은 오류에 직면했다.

마지막으로 추가 오류 메시지가 표시되지 않아 이전 git 클라이언트를 사용하고있을 수 있습니다. 나는 최근에 자식 클라이언트를 업그레이드 (2.20.1), 짜잔는 오류가 사라 졌어요!


나는 또한이 정확한 문제를 가지고 있었다 (TFS에서 마이그레이션). 2.19에서 2.20으로 업그레이드했으며 수정되었습니다. 릴리스 노트를 살펴보면 문제가 무엇인지 알 수 없었습니다.
George Richardson

방금 2.20.1.windows.1로 업그레이드했는데 여전히 원격 저장소로 푸시 할 수 없습니다
Vidar

@Vidar 큰 파일을 확인할 수 있습니다. GitHub의 제한은 100MB로 제한 됩니다 . help.github.com/articles/what-is-my-disk-quota ; confluence.atlassian.com/bitbucket/…의 “저장소에서 대용량 파일 수동 검토”섹션을 살펴보십시오 . 페이지 자체는 잘 읽습니다.
Mahmoud Hanafy

@MahmoudHanafy-감사합니다-최대 파일 크기에 대한 web.config의 매개 변수였습니다. git가 증가하고 모든 것이 행복합니다! 저에게는 GitHub가 아니라 Bonobo.Git.Server 사이트의 개인 전용입니다.
Vidar


0

Git Shell을 사용 하여이 문제를 해결할 수있었습니다.

github.com 내의 각 리포지토리는 셸을 사용하여 다운로드하는 데 사용할 수있는 HTTPS / SSH / Subversion URL을 제공합니다 ( http://prntscr.com/8ydguv 참조) .
GitHub의 최근 변경 사항에 따라 SSH가 가장 좋은 방법 인 것 같습니다.

쉘에서 사용할 명령 :

git clone "URL of repo goes here w/ no quotes"

"깃쉘"이란 무엇입니까? git터미널에서 사용 하십니까?
Karl Richter

0

사용중인 키를 보려면이 작업을 수행하십시오. ssh -vT git@github.digitalglobe.com

그런 다음 빌드에서 시작 시이 실행을 확인하십시오. eval "$ (ssh-agent -s)"ssh-add ~ / .ssh / id_rsa


0

1) 프로젝트 디렉토리로 cd

2) git status

삼) git checkout -f HEAD

4) repo가 ​​불완전 해 보이면 최신 상태를 유지하기 위해 master를 다시 잡아 당겨 성공을 확인하십시오.

Bitbucket에서 저장소를 복제 할 때 Visual Studio의 Git에서 문제의 오류가 발생하면 작동합니다.


0

당신이 추진하고있는 커밋 중 하나라도 잘못된 경우에도 발생할 수 있습니다.

나는 (의도없이) 잘못된 Author Email 필드로 커밋을했지만이 모호한 remote end hung up오류 메시지 만 받았습니다 . 난 그냥이 다른 지점을 밀어 수 있었다 하나 개 내가 마지막에 착륙 할 때까지 한 번에 "나쁜"지점 하나에서 커밋을 밀어 시작하므로, 지점 :

Pushing to git@github.com:directangular/unicorn.git
Counting objects: 100% (9/9), done.
Delta compression using up to 20 threads
Writing objects: 100% (5/5), 549 bytes | 549.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote: error: object 74c7584ff0b93591c19d3a3c19695889dd2274d2: badEmail: invalid author/committer line - bad email        
remote: fatal: fsck error in packed object        
error: remote unpack failed: index-pack abnormal exit
To github.com:directangular/unicorn.git
 ! [remote rejected]       pizzafeast -> pizzafeast (failed)
error: failed to push some refs to 'git@github.com:directangular/unicorn.git'

따라서 remote end hung up unexpectedly오류는 실제 오류 메시지를 "삼키는" 것처럼 보입니다 . 여기서 내가 가지고있는 일종의 잘못된 커밋 일 것입니다.

잘못된 이메일을 수정 한 후 나는 잘 밀어 넣을 수있었습니다.


0

나는 그것을하는 것이 좋은 생각이라고 생각하지 않지만 ur 컴퓨터에 백업이있는 경우 .. 한 번 더 누른 다음 repo 복제를 시도한 다음 이전 디렉토리에서 .git을 제거하고 새로운 복제 된 폴더에서 .git을 이동하십시오 .. git is resolved 그러나 문제 때문에 일부 파일은 git에 업로드되지 않을 수 있습니다. ur에서 모든 것을 다시 밀어 넣은 다음 ur 서버 또는 중단 된 다른 시스템으로 가져옵니다. 바로 지금 나는 그 일을했다 ... 나를 위해 일하고 .. 그리고 이것을하기 전에 당신의 디렉토리를 백업합니다.

그리고 내가 틀렸다면 plz는 나를 수정합니다. 나는 또한 이것을 한 후에 무엇이 잘못 될 수 있는지 모른다. 그러나 이번에는 실제로 작동합니다.


0

저장소 권한과 소유자를 확인하여 내 문제 (치명적 : 원격 끝이 예기치 않게 끊어짐)가 해결되었습니다.

자식 저장소 파일 소유자는 푸시 / 풀 / 복제하려는 사용자 여야합니다.


0

위의 답변 중 어느 것도 나를 위해 효과가 없었지만 다음은 그랬습니다.

1) .git/프로젝트에서 삭제
2) 원격 저장소를 데스크탑과 같은 새로운 위치로 복제하십시오. git clone https://github.com/foo/bar.git
3) .git/새 위치에서 이전 위치로 이동
4) 변경 사항을 다시 커밋하고 푸시


0

문제의 원인은 네트워크 설정이었습니다. SSH와 SSL이 마음에 들지 않는 방식으로 네트워크 패킷을 처리하는 "Killer"wifi 카드가 있습니다.

문제를 해결하려면 "Killer Control Center", "Parameters"로 이동하여 "Advanced Stream Detect"를 비활성화해야합니다. git 명령이 즉시 다시 작동하기 시작했습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.