繁体   English   中英

Git致命:引用的格式无效:'refs / heads / master

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

我正在使用Dropbox来同步git存储库,但是现在当我尝试push时出现错误:

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

因此,似乎Dropbox检测到冲突并创建了副本。 好的,没问题,所以我删除了冲突的文件。 尽管如此,仍然可以获得上述git错误。

$ 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`

我怎样才能解决这个问题? 谢谢。

如果您不确定这个,请备份您的仓库,因为这些命令是不可逆转的。

首先,转到您的repo目录。

cd myrepo

然后递归搜索冲突的文件并删除它们

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

最后,从git的packed-refs文件中删除任何“冲突的”引用

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

冲突的文件可能在多个地方,我会调查:

.git/logs/refs/remotes/origin/
.git/logs/refs/heads/
.git/refs/remotes/origin/
.git/refs/heads/

或者你可以在.git子目录中随处find . -name '*conflicted*'find . -name '*conflicted*' find . -name '*conflicted*'

或者,否则,使用git branch -a列出活动分支,并删除( git branch -d )可疑的任何内容。

当我的同事在Dropbox更新之前推送他的更改并关闭PC时,我们的团队也会遇到这种情况。

我这么简单地解决了。

刚刚删除了冲突的副本。 (XXXX的冲突副本yyyy-mm-dd)

并正常拉。

请注意,我的同事在搞砸之前已经做了更改。 他再次推动他的改变。 这次没有关机。 :)

我能够从.git文件夹中删除所有冲突的文件,但我继续收到有关不再存在的文件的错误。

我的修复是打开.git/refs/packed_refs并删除包含“冲突”文本的行。

对我来说它给出了错误: fatal: Reference has invalid format: 'refs/tags/r0.2:3'

您可以转到/.git/packed_refs文件并删除refs/tags/r0.2:3

然后它开始工作了。 但为什么它发生在我不知道的第一个地方。

首先尝试使用git checkout master来获得健康,命名良好的分支。

我得到了同样的错误

致命:参考格式无效:'refs / heads / somebranch(1)'

用于以下命令

git branch

然后,我使用命令搜索错误的名称(分支名称后跟(1))

find . -name 'somebranch (1)'

它显示了以下结果

./.git/refs/heads/somebranch(1)

这是某些分支 IMO的重复版本。 所以,我通过执行delete命令后面的find命令删除了它

find . -name 'somebranch (1)' -print -exec rm -rf {} \;

然后branch命令成功运行

git branch

我遇到了类似的错误,如

fatal: Reference has invalid format: 'refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)'

只需在远程Dropbox存储库中删除文件.git/refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)就可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM