Push to GitHub error: Couldn't find host github.com in the .netrc file; using defaults
Asked Answered
C

4

18

I don't know, what is going on, I got no response from github. I tried a git push for the first time in a month or so and got this. Turned on export GIT_CURL_VERBOSE=1 and did a push and get this:

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$ 
Cb answered 1/6, 2010 at 10:58 Comment(4)
Can you not use the ssh? path and push using that rather than http?Jeremy
Potential original case on GitHub support: support.github.com/discussions/repos/…Barbe
Eclipse Users, see my answer here #15606837Satanism
A dirty workaround is to push only a few files at a time if you are trying to push many at once. This way the server will be able to handle them. The best thing is to update the git settings.Deafen
D
17

I had the same issue and believe that it has to do with the size of the repo (edited- or the size of a particular file) you are trying to push.

Basically I was able to create new repos and push them to github. But an existing one would not work.

The HTTP error code seems to back me up it is a 'Length Required' error. So maybe it is too large to calc or greated that the max. Who knows.

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.

END EDIT

the way I could get it to work (EDIT before I modified postBuffer) was to tar up my repo, copy it to a machine that can do git over ssh, and push it to github. Then when you try to do a push/pull from the original server it should work over https. (since it is a much smaller amount of data than an original push).

Hope this helps.

Diacid answered 31/8, 2010 at 2:1 Comment(2)
The git config http.postBuffer 524288000 command worked for me!Verticillate
Importantly, the http.postBuffer config only works when pushing via http(s). Thats how I solved it - set the config as stated, but then added the http(s) address as another remote and pushed to it.Barham
K
8

I got the same issue. This is how I solved my problem.

  1. I increased the buffer size

    git config http.postBuffer 524288000

  2. Then I checked the users in the server and my user name was removed. So I recreated the file using following command sudo htpasswd -c /etc/users dilip_rajkumar

Hope this helps some one..

Kress answered 9/7, 2012 at 9:14 Comment(0)
B
5

It looks like you are trying to push using "smart http(s) protocol", which GitHub now supports.
Let's suppose here you have no proxy issue, or firewall problem.

What is your remote upstream repo address?
(what git remote -v show lists?)

I would recommend:

    machine github.com
    login your_github_login
    password your_github_password
  • try cloning again your repo git clone https://github.com/your_github_login/gitrepo.git, and push through that instance.

Note: as Noufal Ibrahim comments, you could use ssh (unless ssh port is blocked, leaving you only with http/https connections)

git clone ssh://user@server:project.git
Barbe answered 1/6, 2010 at 11:44 Comment(5)
tried doing a .netrc file and still get this output: * Couldn't find host github.com in the .netrc file; using defaults * Re-using existing connection! (#0) with host github.com I also tried cloning again to new directory. still no go. Guess I'll try ssh, although not a fan of the SSH setup.Cb
gave up on github, trying beanstalk now.Cb
@phil: I confirm I wasn't able to use the .netrc file either. I had to include my GitHub password directly in the remote.url config value (in my local Git repo config): https://username:[email protected]/username/repo.git: it then works flawlessly.Barbe
https://[email protected]/username/repo.git works with git v1.7.1, but it'll prompt you for the password when pulling and pushing.Bewitch
@l0b0: then you need a .netrc or _netrc file, as mentioned in https://mcmap.net/q/14105/-syncing-with-github/… or #7900329Barbe
C
2

For those having trouble creating a new .netrc file, verify that it is in your HOME directory (cd ~/), make sure it is readable by you (chmod 600 ~/.netrc), and make sure it looks like this:

machine github.com
login yourgithublogin
password yourgithubpassword

Caramel answered 26/7, 2011 at 15:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.