How do I fix "remote: fatal error in commit_refs" errors trying to push with Git?

GitGithubGit Push

Git Problem Overview


When I try to push to master I get:

> remote: fatal error in commit_refs

How can I solve this?

Git Solutions


Solution 1 - Git

In my case, GitHub was down by the time I was trying to push.

Just check https://www.githubstatus.com/ to know about GitHub site status.

When it's up you'll be able to push.

Solution 2 - Git

This fixed it for me:

git gc

That will start a garbage collection that resolved my error.

Solution 3 - Git

Make sure your repo is online.

I got this error today when attempting to push to github and then couldn't even browse the site without getting their unicorn error message.

Solution 4 - Git

Try rebase the current branch on top of the upstream branch after pull, e.g.

git pull origin master -r

then push it again:

git push origin master

Solution 5 - Git

I raised this with GitHub in relation to http://blastedbio.blogspot.co.uk/2016/05/sync-github-mirror-with-cron.html and it turned out to be due to protected branch settings. GitHub have improved the error message:

$ git push mirror master
Counting objects: 391, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (391/391), done.
Writing objects: 100% (391/391), 99.28 KiB | 0 bytes/s, done.
Total 391 (delta 298), reused 0 (delta 0)
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: You're not authorized to push to this branch. Visit https://help.github.com/articles/about-protected-branches/ for more information.
To [email protected]:HuttonICS/biopython.git
 ! [remote rejected] master -> master (protected branch hook declined)
error: failed to push some refs to '[email protected]:HuttonICS/biopython.git'

If you try again now you ought to get a more constructive error report. In my case I needed to adjust my protected branch settings as per https://help.github.com/articles/about-protected-branches/

Solution 6 - Git

From my experience, there is now (2019) some rate limit on GitHub that causes this problem for me when mass-pushing tens of huge repositories. It can also cause "cannot read" problem in random cases.

When I delay for 30 seconds before each push, both problems go away and I can continue with hundreds of repos without a glitch (sigh, don't even ask).

Solution 7 - Git

In my case I suspect a hung git process was causing the problem; I killed it and retried and the problem went away.

Solution 8 - Git

Opening a new terminal and trying worked for me.

Solution 9 - Git

Pulling down latest code from the branch solved it for me:

git pull origin master
git push origin master

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTomas SkogbergView Question on Stackoverflow
Solution 1 - Gitvicke4View Answer on Stackoverflow
Solution 2 - GitTomas SkogbergView Answer on Stackoverflow
Solution 3 - GitsirclesamView Answer on Stackoverflow
Solution 4 - GitkenorbView Answer on Stackoverflow
Solution 5 - GitpeterjcView Answer on Stackoverflow
Solution 6 - GitkubanczykView Answer on Stackoverflow
Solution 7 - GitraksliceView Answer on Stackoverflow
Solution 8 - GitBrian FView Answer on Stackoverflow
Solution 9 - GitFellow StrangerView Answer on Stackoverflow