Ответ 1
Я понял это!!! Конечно, я бы сразу после того, как ударил пост!
У меня был набор репо для использования HTTPS-url, я изменил его на SSH-адрес, и все возобновилось, работая безупречно.
глупая проблема с Github происходит прямо сейчас. У меня приличное количество изменений (~ 120 МБ), когда я пытаюсь нажать, вот что происходит:
error: RPC failed; result=22, HTTP code = 413
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Я уже сделала
git config http.postBuffer 524288000
, так что, похоже, проблема не в этом. Что бы это могло быть?
Я понял это!!! Конечно, я бы сразу после того, как ударил пост!
У меня был набор репо для использования HTTPS-url, я изменил его на SSH-адрес, и все возобновилось, работая безупречно.
Если вы получаете ошибку 413, проблема не связана с git, а с вашим веб-сервером. Это ваш веб-сервер, который блокирует большие файлы для загрузки.
Просто загрузите nginx.conf
и добавьте client_max_body_size 50m;
(изменив значение в соответствии с вашими потребностями) в блоке http.
Перезагрузите nginx, чтобы принять новый конфиг, выполнив sudo service nginx reload
и повторите попытку, чтобы нажать фиксацию поверх http.
В httpd.conf
добавьте LimitRequestBody 52428800
(изменив значение в соответствии с вашими потребностями) внутри блока <Directory />
. При этом вы можете ограничить запрос всей файловой системы сервера, всего одного виртуального хоста или каталога.
Надеюсь, это поможет.
для изменения удаленного URL (из https → git @...) есть что-то вроде этого
git remote set-url origin [email protected]:GitUserName/GitRepoName.git
происхождение здесь - это имя моего удаленного (сделать git remote, а то, что выдается, - это ваше происхождение).
У меня была та же проблема, но я использовал обратный прокси.
Поэтому мне пришлось установить
client_max_body_size 50m;
внутри обоих файлов конфигурации:
У меня уже был "HTTPS//" в URL git, но он столкнулся с этой ошибкой.
Все, что я делал, это добавить опцию -u с push и она сработала.
git push -u origin master
Для тех, кто использует IIS 7 для размещения конечной точки git http
/https
:
Вам нужно увеличить uploadReadAheadSize
.
Запустить Диспетчер служб IIS
Разверните поле "Сервер"
Развернуть сайты
Выберите сайт, для которого вы хотите внести изменения.
В разделе "Функции" дважды щелкните Configuration Editor
В разделе Section
выберите: system.webServer > serverRuntime
Измените раздел uploadReadAheadSize
(значение должно быть между 0
и 2147483647
.)
Нажмите Apply
Перезагрузите веб-сайт
Если вы столкнулись с этой проблемой во время изменения большого размера, выполните команду ниже в терминале.
git config --global http.postBuffer 157286400
Смотрите это для более подробной информации.
У меня возникла эта проблема, когда я пытаюсь клонировать репозиторий git на машине Linux.
для меня в Windows работает следующий URL:
http://[email protected]/scm/project/swamy-main.git
тогда как следующий URL-адрес работает на машине Linux и имеет https в URL
https://[email protected]/scm/project/swamy-main.git
https clone of gists терпит неудачу (ssh работает, см. ниже):
12:00 [email protected]:~/tmp$ GIT_CURL_VERBOSE=1 git clone https://gist.github.com/123456.git username
Initialized empty Git repository in /home/jean/tmp/username/.git/
* Couldn't find host gist.github.com in the .netrc file; using defaults
* About to connect() to gist.github.com port 443 (#0)
* Trying 192.30.252.142... * Connected to gist.github.com (192.30.252.142) port 443 (#0)
* found 141 certificates in /etc/ssl/certs/ca-certificates.crt
* server certificate verification OK
* common name: *.github.com (matched)
* server certificate expiration date OK
* server certificate activation date OK
* certificate public key: RSA
* certificate version: #3
* subject: C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=*.github.com
* start date: Mon, 30 Apr 2012 00:00:00 GMT
* expire date: Wed, 09 Jul 2014 12:00:00 GMT
* issuer: C=US,O=DigiCert Inc,OU=www.digicert.com,CN=DigiCert High Assurance CA-3
* compression: NULL
* cipher: ARCFOUR-128
* MAC: SHA1
> GET /123456.git/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.7.1
Host: gist.github.com
Accept: */*
Pragma: no-cache
< HTTP/1.1 301 Moved Permanently
< Server: GitHub.com
< Date: Fri, 01 Nov 2013 05:00:51 GMT
< Content-Type: text/html
< Content-Length: 178
< Location: https://gist.github.com/gist/123456.git/info/refs?service=git-upload-pack
< Vary: Accept-Encoding
<
* Ignoring the response-body
* Expire cleared
* Connection #0 to host gist.github.com left intact
* Issue another request to this URL: 'https://gist.github.com/gist/123456.git/info/refs?service=git-upload-pack'
* Couldn't find host gist.github.com in the .netrc file; using defaults
* Re-using existing connection! (#0) with host gist.github.com
* Connected to gist.github.com (192.30.252.142) port 443 (#0)
> GET /gist/123456.git/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.7.1
Host: gist.github.com
Accept: */*
Pragma: no-cache
< HTTP/1.1 200 OK
< Server: GitHub.com
< Date: Fri, 01 Nov 2013 05:00:52 GMT
< Content-Type: application/x-git-upload-pack-advertisement
< Transfer-Encoding: chunked
< Expires: Fri, 01 Jan 1980 00:00:00 GMT
< Pragma: no-cache
< Cache-Control: no-cache, max-age=0, must-revalidate
< Vary: Accept-Encoding
<
* Connection #0 to host gist.github.com left intact
* Couldn't find host gist.github.com in the .netrc file; using defaults
* About to connect() to gist.github.com port 443 (#0)
* Trying 192.30.252.142... * connected
* Connected to gist.github.com (192.30.252.142) port 443 (#0)
* found 141 certificates in /etc/ssl/certs/ca-certificates.crt
* SSL re-using session ID
* server certificate verification OK
* common name: *.github.com (matched)
* server certificate expiration date OK
* server certificate activation date OK
* certificate public key: RSA
* certificate version: #3
* subject: C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=*.github.com
* start date: Mon, 30 Apr 2012 00:00:00 GMT
* expire date: Wed, 09 Jul 2014 12:00:00 GMT
* issuer: C=US,O=DigiCert Inc,OU=www.digicert.com,CN=DigiCert High Assurance CA-3
* compression: NULL
* cipher: ARCFOUR-128
* MAC: SHA1
> POST /123456.git/git-upload-pack HTTP/1.1
User-Agent: git/1.7.1
Host: gist.github.com
Accept-Encoding: deflate, gzip
Content-Type: application/x-git-upload-pack-request
Accept: application/x-git-upload-pack-result
Content-Length: 116
< HTTP/1.1 301 Moved Permanently
< Server: GitHub.com
< Date: Fri, 01 Nov 2013 05:00:53 GMT
< Content-Type: text/html
< Content-Length: 178
< Location: https://gist.github.com/gist/123456.git/git-upload-pack
< Vary: Accept-Encoding
<
* Ignoring the response-body
* Connection #0 to host gist.github.com left intact
* Issue another request to this URL: 'https://gist.github.com/gist/123456.git/git-upload-pack'
* Violate RFC 2616/10.3.2 and switch from POST to GET
* Couldn't find host gist.github.com in the .netrc file; using defaults
* Re-using existing connection! (#0) with host gist.github.com
* Connected to gist.github.com (192.30.252.142) port 443 (#0)
> GET /gist/123456.git/git-upload-pack HTTP/1.1
User-Agent: git/1.7.1
Host: gist.github.com
Accept-Encoding: deflate, gzip
Content-Type: application/x-git-upload-pack-request
Accept: application/x-git-upload-pack-result
* The requested URL returned error: 400
* Closing connection #0
error: RPC failed; result=22, HTTP code = 400
Это работает: git clone [email protected]:123456.git
У меня была эта ошибка (ошибка: RPC failed; result = 22, HTTP code = 413), когда я попытался выполнить мою первоначальную фиксацию в новом репозитории BitBucket. Ошибка произошла для меня, потому что у репликации BitBucket была ветвь без мастера. Если вы используете SourceTree, вы можете создать главную ветвь в начале координат, нажав кнопку Git Flow.
Ошибка возникает в 'libcurl', который является базовым протоколом для загрузки https. Решение - как-то обновить libcurl. Чтобы получить более подробную информацию об ошибке, установите GIT_CURL_VERBOSE = 1
https://confluence.atlassian.com/pages/viewpage.action?pageId=306348908
Значение ошибки, согласно libcurl doc: CURLE_HTTP_RETURNED_ERROR (22)
Это возвращается, если для параметра CURLOPT_FAILONERROR установлено значение ИСТИНА, а HTTP-сервер возвращает код ошибки >= 400.
У меня была такая же проблема (в Win XP), я обновил файл libcurl-4.dll в моем каталоге bin Git до версии SSL из http://www.paehl.com/open_source/?download=curl_DLL_ONLY.7z (переименование в libcurl4.dll). Теперь все работает нормально.
Столкнулась с такой же проблемой. В моем случае это были несовместимые версии GIT для нескольких пользователей, которые обращаются к одному и тому же проекту (pull/push).
только что обновили версию GIT и обновили путь к настройкам студии Android, и она отлично работает для меня.
Изменить -
Git для Windows (1.9.5) с некоторыми проблемами, обновление может помочь.
Столкнулась с одной и той же проблемой, однако она была решена путем очистки хранилища git (очистить невоспроизводимые файлы с помощью "git clean" ).
Нужно изменить удаленный URL на SSH или HTTPS
git remote set-url origin [email protected]:laravel/laravel.git
или же
git remote set-url origin https://github.com/laravel/laravel.git
Надеюсь, это поможет :)
Используете ли вы ссылки https вместо ссылок ssh? Поскольку ссылка https ограничена размером загрузки HttpServer (например, Apache, Ngnix), при использовании ssh такого ограничения нет.
Используйте следующий метод для переключения на ссылку ssh.
$ git remote -v
origin https://github.com/[user_name]/[project_name].git (fetch)
origin https://github.com/[user_name]/[project_name].git (push)
git remote set-url origin [email protected]:[user_name]/[project_name].git
Если вы определите имя удаленного репозитория, перейдите непосредственно к шагу 4. Теперь вы можете успешно выполнить операцию push.
Когда я использовал URL-адрес https для отправки на удаленный мастер, я столкнулся с той же проблемой, я изменил его на адрес SSH, и все возобновило работу без нареканий.