I was able to commit fine yesterday. But today (I didn't change anything), when I commit:
$ git add config.h
$ git commit -m "Update config.h to reset the values"
error: Couldn't set refs/heads/master
fatal: cannot update HEAD ref
I know that this error may happen also during pull or push. But I haven't found a solution to fix it when committing.
My .git/config file looks like this:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = git@SOME_URL
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
It seems you have lost your
HEAD
, so you will have to recreate it. You can do that using this.This will create a
HEAD
file in your .git folder. That should solve your problem.Also, try the
git fsck
command. It verifies the connectivity and validity of the objects in the database.Use this to scan for unreachable objects. It will write dangling objects into
.git/lost-found/commit/
or.git/lost-found/other/
, depending on type. If the object is a blob, the contents are written into the file, rather than its object name.