首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git fatal:引用的格式无效:‘refs/head/master

Git fatal:引用的格式无效:‘refs/head/master
EN

Stack Overflow用户
提问于 2012-10-08 06:41:46
回答 6查看 32.5K关注 0票数 101

我正在使用Dropbox同步git存储库,但现在当我尝试使用push时,我得到了一个错误:

代码语言:javascript
复制
fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)'

因此,Dropbox似乎检测到了一个冲突并创建了一个副本。好的,没问题,所以我删除了冲突的文件。尽管如此,还是得到了上面的git错误。

代码语言:javascript
复制
$ 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`

我该如何解决这个问题呢?谢谢。

EN

回答 6

Stack Overflow用户

发布于 2013-05-07 01:24:52

如果您对此不确定,请备份您的存储库,因为这些命令是不可逆的。

首先,转到您的repo目录。

代码语言:javascript
复制
cd myrepo

然后递归地搜索冲突的文件并将其删除

代码语言:javascript
复制
find . -type f -name "* conflicted copy*" -exec rm -f {} \;

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

代码语言:javascript
复制
awk '!/conflicted/' .git/packed-refs > temp && mv temp .git/packed-refs
票数 178
EN

Stack Overflow用户

发布于 2012-10-08 07:03:43

冲突的文件可能在多个位置,我将查看:

代码语言:javascript
复制
.git/logs/refs/remotes/origin/
.git/logs/refs/heads/
.git/refs/remotes/origin/
.git/refs/heads/

或者,您可以查看.git子目录中的所有内容:find . -name '*conflicted*'

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

票数 42
EN

Stack Overflow用户

发布于 2014-01-29 15:36:06

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

我把它解决得很简单。

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

然后正常地拉它。

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

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12773488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档