449

When I try to push to master branch that is hosted on https://github.com I get:

remote: fatal error in commit_refs

How can I solve this?

Benjamin Loison
  • 3,782
  • 4
  • 16
  • 33
Tomas Skogberg
  • 2,619
  • 3
  • 11
  • 10

9 Answers9

1065

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.

Benjamin Loison
  • 3,782
  • 4
  • 16
  • 33
vicke4
  • 2,973
  • 1
  • 20
  • 20
155

This fixed it for me:

git gc

That will start a garbage collection that resolved my error.

Tomas Skogberg
  • 2,619
  • 3
  • 11
  • 10
16

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.

sirclesam
  • 2,109
  • 17
  • 13
5

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
kenorb
  • 155,785
  • 88
  • 678
  • 743
  • 1
    Lol i tried that earlier today, and my repository got absolutely empty cuz it didn't want to push it back, luckily I have all my files saved in my code editor and in backup, but yeah apparently github's down... – PrezOfTheUnitedIdiots Aug 10 '21 at 15:48
4

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 git@github.com:HuttonICS/biopython.git
 ! [remote rejected] master -> master (protected branch hook declined)
error: failed to push some refs to 'git@github.com: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/

Peter Cock
  • 1,585
  • 1
  • 9
  • 14
3

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).

kubanczyk
  • 5,184
  • 1
  • 41
  • 52
3

Opening a new terminal and trying worked for me.

Brian F
  • 1,620
  • 1
  • 19
  • 23
0

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

rakslice
  • 8,742
  • 4
  • 53
  • 57
  • This was the most similar to my issue - I just needed to close VSCode, which likely had a git process working in the background that was hung for some reason. – Pro Q May 04 '23 at 16:06
-3

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

git pull origin master
git push origin master
Fellow Stranger
  • 32,129
  • 35
  • 168
  • 232