77

When I am trying to push to my remote git repository, but it is taking forever and nothing happens. I waited for so long, but push is never getting finished. My OS is Ubuntu 12.10. Thank you.

8
  • 6
    Can you browse github manually? are you behind a proxy? What happens when you add --verbose? We need more info to help you Commented Mar 2, 2013 at 14:46
  • Yes, I am able to do everything else , Pull , fetch , commit locally and browse through github. The only problem is while pushing. It never happens I waited for so long ,so many times. Some times I got No fast-forward error, But then i pulled from repository to resolve it and when I pushed, then it just goes on but never ends. Commented Mar 2, 2013 at 15:06
  • Please provide more info. Are you using ssh or https remote url? How big is your repository? Is it possible that repository is hundreds of megabytes because of some commit you did recently with a huge binary files? Commented Mar 2, 2013 at 23:17
  • 1
    How long is “forever”? Commented Mar 2, 2013 at 23:21
  • 12
    @WaleedKhan ∞ seconds. :-) Commented Mar 2, 2013 at 23:27

15 Answers 15

78

Try using the --verbose option to see what actually happens. Even if you did small changes, some internal things might cause git to push a lot more data.

Have a look at git gc. It cleans up your local repository and might speed up things, depending on you issue. Backup strongly advised.

Sign up to request clarification or add additional context in comments.

1 Comment

This doesn't even give me any output on the IPv6 problem. git push --ipv4 <remote> solved it for me
19

I had the same problem. If you are using Bitbucket.org, I don't know why, but disabling IPV6 connection fixed the problem.

5 Comments

How did you disabled IPV6?
It will depend on the SO which you use. In Ubuntu, using the UI, it would be: Settings > Network > Ipv6 Tab > Disable. But there are other methods.
Thank you! This is probably related to some router configurations blocking specific ipv6 traffic or even the local internet provider blocking it. If you don't need to use any ipv6 services, disabling it will make it work fine (on Ubuntu, make sure to disable it via /etc/sysctl.conf). If you need ipv6, then force your PC to use bitbucket's ipv4 by adding this to your hosts file: 104.192.143.3 bitbucket.org
I had almost the same issue. In my case it was a git repository hosted via Plesk's Git feature. Instead of disabling IPv6 completely you could also just force git to use IPv4 (at least in 2022 :). As example while push: git push --ipv4 your-remote git push --ipv6 your-remote Editing the question was unfortunately blocked by "There are too many pending edits on Stack Overflow. Please try again later." ...
The same worked for GitHub.
12

I have faced a similar issue using git bash. Using these commands helped.

git config --global core.preloadindex true git config --global core.fscache true git config --global gc.auto 256 

https://blog.praveen.science/solution-to-git-bash-is-very-slow-in-windows/

1 Comment

Works for me. I waited for a long time. So I quit. After I execution of these commands, git push finished in seconds.
9

Ensure you're using the right protocol.

Depending on how you have your local configurations set up, you might need to use https to connect. To do so, switch the protocol for the remote repository from the [email protected]:[user]/[repo] protocol to the https://github.com/[user]/[repo].git protocol.

Also, it's worth trying vice versa, if you're unable to use the https protocol. On older configurations, the older git@github user authentication will often allow you to connect as a fallback.

2 Comments

This worked for me again today. But it was switching to the git@github protocol that worked. For me, it might have to do with some config options on GitExtensions, which is the git client I'm using.
I changed my remote to use ssh from https, and this issue started, I went back to https and worked for me now.
4

Ensure you are authenticated to github: For me, it was my authentication. I was running the command with git bash on windows and for some reason, it didn't prompt me to authenticate. when I ran it with the command prompt, I got this

Select an authentication method for 'https://github.com/': 1. Web browser (default) 2. Personal access token option (enter for default): 

after I successfully authenticated, it worked fine

Comments

2

Please check the permission rights on the remote dir. In my case, after setting the correct permissions by chown -R user.group /dir, the commit is correctly finished:

$ git push --verbose Pushing to ssh://[email protected]:port/dir [email protected]'s password: Counting objects: ... ... Total 123 (delta 21), reused 16 (delta 12) To ssh://domain.zone:port/dir * [new branch] master -> master updating local tracking ref 'refs/remotes/origin/master' 

Comments

1

One possibility might be that you have large binary file(s) commited in the latest commit. git is not good at working with binary file. If commiting binary files was a mistake, you can refer to following answer for getting rid of binary file in commit.

https://stackoverflow.com/a/58987943/8694152

Comments

1

Every time I reinstall or upgrade Ubuntu (all 3-4 times), I had to go to the DNS settings of my internet connection (both Ethernet and Wifi), remove Automatic and add 8.8.8.8 and 1.1.1.1. After a reset git push and all other git-origin-accessing commands go down from 1 minute to a few seconds.

Comments

1

For people cloning repositories and then pushing to a new remote -

If you are starting a new project from a clone, (from the CLI without a fork) when you push to a blank remote you are pushing the entire history of the project you just cloned. This is going to take some time. If you just need the clone as it stands and you don't want the history, delete the .git directory after you clone it, then re-initialize the local repo with git init and push it to your new remote. Should push quickly.

Comments

1

I had this issue and all I had to do was checkout to a new branch, and use the command: git push origin <new_branch>

I later discovered that the issue was due to me always deleting branches after a merge, and still trying to push locally to those deleted branches. I hope this helps anyone faced with this.

1 Comment

Thank you for your interest in contributing to the Stack Overflow community. This question already has quite a few answers—including one that has been extensively validated by the community. Are you certain your approach hasn’t been given previously? If so, it would be useful to explain how your approach is different, under what circumstances your approach might be preferred, and/or why you think the previous answers aren’t sufficient. Can you kindly edit your answer to offer an explanation?
0

For me it was vpn. When i disconnected from vpn it resolved.

Comments

0

I resolved my problem by rebasing my branch with the develop branch (working in a team). Here is how rebasing works.

Comments

0

It might be some kind of

Delete every settings file related to the keywords "vcs" and "git" in the app data directories of your IDE (Search "vcs" and "git" in the search bar and delete every file you see in the results):

For example if you use Android Studio:

  1. C:/Users/%USER%/AppData/Local/Google/AndroidStudio%VERSION%

  2. C:/Users/%USER%/AppData/Roaming/Google/AndroidStudio%VERSION%

And then restart your IDE!

1 Comment

As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
0

I also experienced a similar blocking at git push in my linux shell. For me, the problem seemed to be related to X11 forwarding, as git wanted to ask my password in a dedicated x window (Qt?)... After making sure I could open a "xeyes" window, git push worked directly. Hoping this could give you a hint if above solutions don't work :) Cheers

Comments

0

The hang after "POST git-receive-pack" often indicates a buffer or packet size problem. Try these Git configuration changes:

 git config --global http.postBuffer 524288000 git config --global http.lowSpeedLimit 1000 git config --global http.lowSpeedTime 600 

also sometimes GitHub sometimes has issues with HTTP/2. Force HTTP/1.1:

git config --global http.version HTTP/1.1 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.