Git fatal: Reference has invalid format: 'refs/heads/master

Justin picture Justin · Oct 8, 2012 · Viewed 31.6k times · Source

I am using Dropbox to sync a git repository, but now when I try and push I am getting an error:

fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'

So, it seems that Dropbox detected a conflict and created a copy. Ok, no problem, so I deleted the conflicted file. Still, getting the above git error though.

$ git checkout master
    M   index.html
    Already on 'master'
$ git add .
$ git commit -a -m "Cleanup repo"
    [master ff6f817] Cleanup repo
    1 file changed, 5 insertions(+), 5 deletions(-)
$ git push
    fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'
    The remote end hung up unexpectedly`

How can I fix this? Thanks.

Answer

Lane picture Lane · May 6, 2013

make a backup of your repo if you aren't sure about this one, because these commands are irreversible.

first, go to your repo directory.

cd myrepo

then recursively search for the conflicted files and delete them

find . -type f -name "* conflicted copy*" -exec rm -f {} \;

lastly, remove any "conflicted" references from git's packed-refs file

awk '!/conflicted/' .git/packed-refs > temp && mv temp .git/packed-refs