Richie Richie - 1 year ago 359
Git Question

fatal: bad default revision 'HEAD'

I'm using GIT as my source control system. We have it installed on one of our Linux boxes. Tortoise GIT is my windows client.

This morning I checked in some changes, and tagged the code. I then did a push of my local repository to the remote repository.

When I go to my repository on the unix box and type in

git log
I get:

fatal: bad default revision 'HEAD'

But when I do a
show log
using my windows
client the history comes up nicely as per below...

SHA-1: f879573ba3d8e62089b8c673257c928779f71692

Initial drop of code

master origin/master oms-phase4-v1.0.0
SHA-1: 56176dbe45e6175b18c9f44533828806c63142ab

OMS Phase 4 - Added OMS Cust. Order No. to EDI Purchase Order Header screens

Tag Info

object 56176dbe45e6175b18c9f44533828806c63142ab
type commit
tag oms-phase4-v1.0.0
tagger Richard Riviere <> 1364338495 +1100

SHA-1: 0000000000000000000000000000000000000000

Working dir changes
0 files changed


The code has definitely been pushed to the remote repository. I've been able to check by cloning the repository into a different directory.

Does anyone know why I am receiving the
fatal: bad default revision 'HEAD'

p.s. It is a bare repository however I have created other bare repositories which have not had this problem.

Answer Source

Your repo is yours, what goes on in it is entirely your business until you push or (allow a) fetch or clone. When you deleted your windows repo -- that folder didn't represent your local repo, it was your actual local repo, you deleted everything done in it that was never pushed, fetched or cloned.

edit: Ah, okay, I think I see what's going on here: you pushed to your linux repo but it's not bare and you never worked in it.

Instead of git log, do git log --all. Or git checkoutsome-branch-name.

Then try cloning the repo locally, on your linux box; I bet it works. What are you using to serve your repo on linux? Try cd'ing into its .git directory and git daemon --base-path=. --export-all, if that just sits there then go to your windows box and try git clone git://, if the daemon complains it can't bind add --port=54345 to the daemon invoke and :54345 to the clone url.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download