-->

GitHub App & Heroku — fatal: Reference has invalid

2019-08-07 14:25发布

问题:

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.

回答1:

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.