'Git push hangs when pushing to Github?
Git push hangs everytime I try to push to github. I am using Cygwin and Windows 7. Git functions fine locally tracking branches, providing status, setting global user.name and user.email and allowing commits.
I'm still new and learning.
I enter git push
, git push origin master
or git push -u origin master
and I get nothing but a blank line requiring me to ctl-c to get the prompt back.
ssh-keygen -t rsa -C "[email protected]"
asks me for a file name and hangs
git push heroku master
hangs
$ git status
returns On branch master nothing to commit, working directory clean
$ git pull
returns Already up to date
$ git remote -v
returns:
heroku [email protected]:myherokusite.git (fetch)
heroku [email protected]:myherokusite.git (push) origin
https://github.com/gitusername/appname.git (fetch) origin
https://github.com/gitusername/appname.git (push)
or the correct ssh remote settings are returned when trying this with ssh
Updated: Using the SSH url [email protected]:gitusername/gitrepo.git
also hangs
git remote set-url origin https://github.com/gitusername/appname.git
is correct
Updated: I can see the git processes running in Windows Task Manager while it hangs.
I've tried:
Using different internet connection locations
switching between https and ssh and it hangs
Uninstalled git. Reinstalled from: https://code.google.com/p/msysgit/downloads/list
Uninstalled git. Installed Cygwin's git
Uninstalled git. Installed Github for Windows GUI app and it I WAS able to push. But this app has limited functionality, forces me out of my Cygwin window into another app which then forces me into a Windows command prompt for complete functionality which I thought I had escaped by using Cygwin.
Spent many, many hours trying to resolve this, it worked faultlessly before, thanks.
UPDATE 4/2014: I rebuilt my entire machine Win 7, Cygwin etc and all is now working fine
Solution 1:[1]
git config --global core.askpass "git-gui--askpass"
This worked for me. It may take 3-5 secs for the prompt to appear just enter your login credentials and you are good to go.
Solution 2:[2]
Restart your ssh agent!
killall ssh-agent; eval `ssh-agent`
Solution 3:[3]
Try creating a script like ~/sshv.sh
that will show you what ssh is up to:
#!/bin/bash
ssh -vvv "$@"
Allow execution of the ~/sshv.sh
file for the owner of the file:
chmod u+x ~/sshv.sh
Then invoke your git push
with:
GIT_SSH=~/sshv.sh git push ...
In my case, this helped me figure out that I was using ssh shared connections that needed to be closed, so I killed those ssh processes and it started working.
Solution 4:[4]
Try GIT_CURL_VERBOSE=1 git push
...Your problem may occur due to proxy settings, for instance if git is trying to reach github.com via a proxy server and the proxy is not responding.
With GIT_CURL_VERBOSE=1 it will show the target IP address and some information. You can compare this IP address with the output of the command: host www.github.com
. If these IPs are different then you can set https_proxy=""
and try again.
Solution 5:[5]
Using "Command Prompt" (cmd) instead of git bash for initial push resolved the hang up for me. Since then I use git bash without any issues.
Solution 6:[6]
I had the same problem with absolutely same symptoms… I was about to rebuild my whole system in my despair)).
I even was so naive to try git config --global core.askpass "git-gui--askpass"
as some people suggest here, but it didn't work…
git push
was still freeze…
But then I figured out that there was an error with my SSH agent. So I've restarted ssh-agent and… PROFIT
Conclusion: Always check your SSH Agent and SSHD server when you have troubles with ssh connection… I'm pretty sure that was your problem (And that's why it worked after reinstallation of your system)
Solution 7:[7]
In my case, the issue was the https seems to be no longer supported and I had to switch all my origins from the old https://github.com/username/myrepo to [email protected]:username/myrepo.git.
I did this with
git remote set-url origin [email protected]:username/myrepo.git
Solution 8:[8]
I had the same issue. Stop worrying and searching endless complicated solutions, just remove git and reinstall it.
sudo apt-get purge git
sudo apt-get autoremove
sudo apt-get install git
Thats it. It should work now
Solution 9:[9]
Its worth checking if you are using the cygwin git or an external git (ie github).
If whereis git
returns just /cygdrive/c/Program Files (x86)/Git/cmd/git.exe
or similar its best to install the cygwin git package, this solved the problem for me.
Solution 10:[10]
I thought my Git windows screen was struck but actually a sign in prompt comes behind it.Check for it and enter your credentials and that's it.
Solution 11:[11]
Had the same problem. Was a little bit confused but the thing was I had make a git init --bare on root, that means that you won't be able to push because of you don't have any rights. Instead make a new User or in my case I used Pi User and made git init --bare there, which then later on it worked.
git config --global http.postBuffer 524288000
Maximum size in bytes of the buffer used by smart HTTP transports when POSTing data to the remote system. For requests larger than this buffer size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a massive pack file locally. Default is 1 MiB, which is sufficient for most requests.
Solution 12:[12]
For anyone experiencing this since 2021/08/13 and finding this question, it may be related to the recent auth policy changes on GitHub. They are no longer accepting username/password for authentication.
The solution is to set up ssh access or create a personal access token.
Solution 13:[13]
I just wanted to say that I'm having this issue on my AWS EC2 instances. I was trying to push from my EC2 instance itself, when I have it configured to only allow traffic in from the load balancer. I changed the rule to allow HTTP in from everywhere, but it still didn't fix the problem. Then I realized it's because my security groups are configured to not allow outbound traffic from my EC2 instances over HTTPS. I didn't have allow HTTPS inbound traffic to make it work, even though it's probably a good policy for you to have HTTPS available inbound.
Solution 14:[14]
I had this same issue today, all I did to resolve it was remove origin git remote remove origin
and re-add it git remote add origin https://github.com/username/project.git
then I was able to push successfully.
Solution 15:[15]
In my case a new public key on cPanel (my remote) was not yet authorized. My client was a new machine running Ubuntu 2020-04
git push origin
...worked, but prompted for the cPanel password.
I assume the git-gui process hung waiting for a password that I couldn't enter.
After authorizing my new key git-gui worked. It did prompt for the key store password.
Solution 16:[16]
This occurred for me when my computer's disk space was full. Delete some files & empty the trash to fix.
Solution 17:[17]
In my case the issue was there was some process that had locked my keychain access...
Force quit all other apps to make sure keychain access is not locked on your Mac
Solution 18:[18]
I'm wondering if it's the same thing I had...
- Go into Putty
- Click on "Default Settings" in the Saved Sessions. Click Load
- Go to Connection -> SSH -> Bugs
- Set "Chokes on PuTTY's SSH-2 'winadj' requests" to On (instead of Auto)
- Go Back to Session in the treeview (top of the list)
- Click on "Default Settings" in the Saved Sessions box. Click Save.
This (almost verbatim) comes from :
Solution 19:[19]
So when you type & enter git pish-u origin
, GUI asking for your credentials should popup. In my case, after typing git pish-u origin
, nothing happens until took a look at my task manager and found something running which I was certain was the GUI that should popup to ask your credentials. I decided to end its task. I was assuming that it will show an error on my gitbash but instead, the damn GUI finally showed up and I was able to finally progress.
Solution 20:[20]
I'm new to this. I managed to solve my issue regarding the hanging git push
command.
I recently installed git scm. In one of the installation options, I had selected to use git credential manager core. I assumed that it was installed automatically. But it looks like there was an error in that installation. I reinstalled git credential manager core from the website, and it works perfectly now.
Solution 21:[21]
Use Git CMD, not Cygwin Bash Terminal.
By using the Git CMD, my system was able to authenticate my information on GitHub. After that, using bash worked fine. I understand that there was some sort of authentication the program was trying to do, but couldn't do from the bash terminal for some reason. Although this answer is not comprehensive, it does get the job done.
Solution 22:[22]
If you use windows credential manager, use CMD instead of git Bash. Then you can add an authentication method to proceed. This worked for me.
Solution 23:[23]
I also had an issue where git hangs on the "Writing objects" part on Windows 7 (using msysgit, the default windows client from git) and this is the first hit I got in google, so I will also post my answer here.
git config --global core.askpass "git-gui--askpass"
did not work unfotunately, but after some researching I found the tip on Git push halts on "Writing Objects: 100%" to use git config –global sendpack.sideband false
which worked perfectly.
I can finally push from the commandline again!
Solution 24:[24]
I had two repositories, pushing to one of which worked fine. So, I compared their .git/config
. The non-working one had at the end:
[http]
sslVerify = false
The working one had instead:
[credential]
helper = store
Changing .git/config
solved the problem.
Solution 25:[25]
I spent hours trying to fix this and none of the recommendations worked. Out of frustration I moved the whole project to a backup folder, recloned a fresh and then copied over my files from backup folder. It worked!!. I suspect my issue was I committed node_module which was not excluded in .gitignore initially and removing from cache did not help/work. When I started from fresh the file size was a fraction compared to the earlier one.
Solution 26:[26]
This probably works for other Windows setups (I faced the issue on Windows 7 Pro 32 bits BTW and trying to push to Bitbucket, not Github).
I tried reinstalling Git and fiddling with the installer configuration.
Got it working with the OpenSSH setting left out and choosing Not to use one when choosing a credentials manager, which is probably what the SSH agent explained in other answers is called on GNU/Linux, so the hanging was probably due to waiting for an assumingly unavailable Windows credentials manager to respond.
Solution 27:[27]
I was faced with the same problem.
I use Github desktop for the normal action and it can push or pull, but it doesn't support force push, when I try to do some rebase work and it always failed to push force.
I tried add core.askpass
, config the proxy but all not work.
Finally I decided to watch the log of Github desktop and I found it use below command to push:
git -c credential.helper= -c protocol.version=2 push origin
I tried this one with force flag and it work, it finally ask me for the user name and password.
I am not sure which configuration make it work, but I think this may help.
EDIT: I tried to install manager-core from here and I am able to push. It seems like manager-core is not installed properly.
Solution 28:[28]
Sometimes I have this hanging issue when pushing a new branch from Android Studio and it does not give an error message. Usually, if I do a simple fetch
from the master it will then work.
Solution 29:[29]
In my case git was trying to use Ipv6 instead of Ipv4 to authenticate github and my terminal was stuck here
set_sock_tos: set socket 3 IPV6_TCLASS 0x48
.
To solve this I added AddressFamily
option to ~/.ssh/config
Host github.com
Hostname github.com
AddressFamily inet
IdentityFile ~/.ssh/id_rsa
test command:
ssh -vT [email protected]
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow