2010-06-01 7 views
17

Non so cosa sta succedendo, nessuna risposta da github su questo problema quindi mi sto chiedendo qui. Ho provato a spingere per la prima volta in un mese o giù di lì e ho capito. Acceso export GIT_CURL_VERBOSE = 1 e ha fatto una spinta e ottenere questo:Errore Push to GitHub: Impossibile trovare l'host github.com nel file .netrc; utilizzando le impostazioni predefinite

localhost:send2mobile_rails phil$ git push 
Password: 
* Couldn't find host github.com in the .netrc file; using defaults 
* About to connect() to github.com port 443 (#0) 
* Trying 207.97.227.239... * Connected to github.com (207.97.227.239) port 443 (#0) 
* SSL connection using DHE-RSA-AES256-SHA 
* Server certificate: 
* subject: O=*.github.com; OU=Domain Control Validated; CN=*.github.com 
* start date: 2009-12-11 05:02:36 GMT 
* expire date: 2014-12-11 05:02:36 GMT 
* subjectAltName: github.com matched 
* issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certificates.godaddy.com/repository; CN=Go Daddy Secure Certification Authority; serialNumber=07969287 
* SSL certificate verify ok. 
> GET /303devworks/send2mobile_rails.git/info/refs?service=git-receive-pack HTTP/1.1 
User-Agent: git/1.7.1 
Host: github.com 
Accept: */* 
Pragma: no-cache 

< HTTP/1.1 401 Authorization Required 
< Server: nginx/0.7.61 
< Date: Tue, 01 Jun 2010 10:53:13 GMT 
< Content-Type: text/html; charset=iso-8859-1 
< Connection: keep-alive 
< Content-Length: 0 
< WWW-Authenticate: Basic realm="Repository" 
< 
* Connection #0 to host github.com left intact 
* Issue another request to this URL: 'https://[email protected]/MYUSERHERE/send2mobile_rails.git/info/refs?service=git-receive-pack' 
* Couldn't find host github.com in the .netrc file; using defaults 
* Re-using existing connection! (#0) with host github.com 
* Connected to github.com (207.97.227.239) port 443 (#0) 
* Server auth using Basic with user '303devworks' 
> GET /303devworks/send2mobile_rails.git/info/refs?service=git-receive-pack HTTP/1.1 
Authorization: Basic MzAzZGVfd29sa3M6Y29nbmwzNzIw 
User-Agent: git/1.7.1 
Host: github.com 
Accept: */* 
Pragma: no-cache 

< HTTP/1.1 200 OK 
< Server: nginx/0.7.61 
< Date: Tue, 01 Jun 2010 10:53:13 GMT 
< Content-Type: application/x-git-receive-pack-advertisement 
< Connection: keep-alive 
< Status: 200 OK 
< Pragma: no-cache 
< Content-Length: 153 
< Expires: Fri, 01 Jan 1980 00:00:00 GMT 
< Cache-Control: no-cache, max-age=0, must-revalidate 
< 
* Expire cleared 
* Connection #0 to host github.com left intact 
Counting objects: 166, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (133/133), done. 
* Couldn't find host github.com in the .netrc file; using defaults 
* About to connect() to github.com port 443 (#0) 
* Trying 207.97.227.239... * connected 
* Connected to github.com (207.97.227.239) port 443 (#0) 
* SSL re-using session ID 
* SSL connection using DHE-RSA-AES256-SHA 
* old SSL session ID is stale, removing 
* Server certificate: 
* subject: O=*.github.com; OU=Domain Control Validated; CN=*.github.com 
* start date: 2009-12-11 05:02:36 GMT 
* expire date: 2014-12-11 05:02:36 GMT 
* subjectAltName: github.com matched 
* issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certificates.godaddy.com/repository; CN=Go Daddy Secure Certification Authority; serialNumber=07969287 
* SSL certificate verify ok. 
* Server auth using Basic with user 'MYUSERHERE' 
> POST /303devworks/send2mobile_rails.git/git-receive-pack HTTP/1.1 
Authorization: Basic JzAzZGV1d29ya3M6Y25nb29zNzIq 
User-Agent: git/1.7.1 
Host: github.com 
Accept-Encoding: deflate, gzip 
Content-Type: application/x-git-receive-pack-request 
Accept: application/x-git-receive-pack-result 
Expect: 100-continue 
Transfer-Encoding: chunked 

* The requested URL returned error: 411 
* Closing connection #0 
error: RPC failed; result=22, HTTP code = 411 
Writing objects: 100% (140/140), 2.28 MiB | 1.93 MiB/s, done. 
Total 140 (delta 24), reused 0 (delta 0) 
^C 
localhost:send2mobile_rails phil$ 
+1

si fa a non utilizzare lo ssh? percorso e spingere usando quello piuttosto che http? –

+0

Potenziale caso originale sul supporto GitHub: http://support.github.com/discussions/repos/3106-error-rpc-failed-result22-http-code-411 – VonC

+0

Utenti di Eclipse, vedere la mia risposta qui http: // StackOverflow .com/questions/15606337/411-length-required-exception-when-push-to-github-from-eclipse/16795218 # 16795218 – jerome

risposta

4

Sembra che si sta tentando di spingere l'utilizzo di "smart http(s) protocol", che GitHub now supports.
Supponiamo che non ci siano problemi con il proxy o firewall.

Qual è l'indirizzo del repository upstream remoto?
(Che cosa git remote -v show liste?)

mi raccomando:

 
    machine github.com 
    login your_github_login 
    password your_github_password 
  • prova clonazione di nuovo il tuo repository git clone https://github.com/your_github_login/gitrepo.git e passa attraverso quell'istanza.

Nota: come Noufal Ibrahim commenti, si potrebbe usare ssh (a meno che non porta SSH è bloccata, lasciando solo con connessioni HTTP/HTTPS)

git clone ssh://[email protected]:project.git 
+0

ha provato a fare un file .netrc e ottenere comunque questo output: * Impossibile trovare l'host github.com nel file .netrc; utilizzo delle impostazioni predefinite * Riutilizzo della connessione esistente! (# 0) con host github.com Ho anche provato a ripetere la clonazione nella nuova directory. ancora non andare. Credo che proverò ssh, sebbene non sia un fan della configurazione SSH. –

+0

ha rinunciato a github, cercando ora beanstalk. –

+0

@phil: confermo che non ero in grado di usare il file '.netrc' neanche. Dovevo includere la mia password GitHub direttamente nel valore di configurazione 'remote.url' (nella mia locale configurazione di repo Git):' https: // username: password @ github.com/username/repo.git': funziona quindi perfettamente . – VonC

17

ho avuto lo stesso problema e credo che ha a che fare con la dimensione del repository (modificato o la dimensione di un particolare file) che stai provando a premere.

Fondamentalmente sono stato in grado di creare nuovi repository e inviarli a github. Ma uno esistente non funzionerebbe.

Il codice di errore HTTP sembra supportarmi è un errore 'Lunghezza richiesta'. Quindi forse è troppo grande per calcare o benissimo che il massimo. Chissà.

EDIT

I found that the problem may be files that are large. I had one update that would not push even though I had successful pushes up to that point. There was only one file in the commit but it happened to be 1.6M

So I added the following config change

git config http.postBuffer 524288000

To allow up to the file size 500M and then my push worked. It may have been that this was the problem initially with pushing a big repo over the http protocol.

FINE EDIT

il modo in cui ho potuto farlo funzionare (EDIT prima ho modificato postBuffer) era creare un tar della mia repo, copiarlo a una macchina che può fare git over ssh, e spingilo a github. Quindi quando provi a fare un push/pull dal server originale dovrebbe funzionare su https. (dato che si tratta di una quantità di dati molto inferiore rispetto a una spinta originale).

Spero che questo aiuti.

+4

Il comando 'git config http.postBuffer 524288000' ha funzionato per me! – metasim

+1

Importante, la configurazione http.postBuffer funziona solo quando si spinge tramite http (s). Ecco come l'ho risolto: imposta la configurazione come indicato, ma poi aggiungi l'indirizzo http (s) come un altro telecomando e tieni premuto. – eddiemoya

1

Per coloro che hanno problemi nella creazione di un nuovo file .netrc, verificare che sia nella directory HOME (cd ~ /), assicurarsi che sia leggibile da voi (chmod 600 ~/.netrc), e assicurarsi che sembri in questo modo:

macchina github.com
login yourgithublogin
la password yourgithubpassword

7

ho avuto lo stesso problema.Ecco come ho risolto il mio problema.

  1. ho aumentato la dimensione del buffer

    git config http.postBuffer 524288000

  2. Poi ho controllato gli utenti nel server e il mio nome utente è stato rimosso. Così ho ricreato il file utilizzando seguente comando sudo htpasswd -c /etc/users dilip_rajkumar

Spero che questo aiuti qualcuno ..