Search code examples
githerokugithub-for-mac

GitHub App & Heroku — fatal: Reference has invalid format: 'refs/remotes/heroku/master'


I am using the Git app and every time I open a certain repo I get this error:

http://cl.ly/image/271p2h283j1g

Any help would be great. Thanks.


Solution

  • You're certainly using Dropbox to sync your project among multiple computers. While performing the sync, the tool detected a conflict between two files and created a backup with the suffix (COMPUTER_NAME's conflicted copy DATE).

    Unfortunately, the conflicted file is a reference, and according to Git naming convention, the name of a reference cannot contain spaces. See git check-ref-format man page for more information about rules describing how references should be named.

    As references are only text files containing pointers to a commit Sha or another reference, fixing this is not a complex issue.

    In order to resolve this, the following steps should be followed:

    • Within your project directory, open both the .git/refs/remotes/heroku/master and the .git/refs/remotes/heroku/master (Richard Burton's conflicted copy 2012-11-24) files in a text editor and decide which content is the most up to date (ie. which is the real tip of the remote master branch on Heroku).
    • Copy the correct SHA and paste it in the file named .git/refs/remotes/heroku/master
    • Drop the .git/refs/remotes/heroku/master (Richard Burton's conflicted copy 2012-11-24) file.

    Note: you may have other files in conflict. In order to be thorough, launch a recursive search in your project for files which name contains conflicted copy

    Note 2: git ls-remote --heads heroku may be handy in this situation as it will request the remote repository about its known branchs.