【发布时间】:2015-02-19 23:13:01
【问题描述】:
当我在任何存储库中git pull 时,总是会收到以下合并错误:
aetherboard:shwangster shwangster$ git pull -v
From github.com:sirspinach/shwangster
= [up to date] master -> origin/master
merge: 012012012012012012012012012012012012012012012012012012012012 - not
something we can merge
另一方面,git fetch 和 git merge origin/master 就像一个魅力。所以我已经能够解决这个问题一段时间了。但是,我今天需要更新 brew,同样的错误阻止了我这样做。
这是brew update 的输出,显示git 再次尝试与神秘的0120120120120... 合并。
aetherboard:gitrepos shwangster$ brew update
merge: 012012012012012012012012012012012012012012012012012012012012 - not
something we can merge
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master
【问题讨论】:
-
我不确定到底出了什么问题,但请查看
git pull失败后文件FETCH_HEAD(在.git目录中)的内容。pull命令运行fetch并带有额外的参数,告诉它在FETCH_HEAD中留下痕迹,然后使用这些痕迹运行git merge。这些痕迹有些愚蠢,导致pull脚本发出错误的merge命令。 -
感谢您的帮助,托雷克。这是我尝试 git pull 后来自两个不同存储库的
FETCH_HEAD的内容: 1.ecbacbe7d1b15058065d8856328cecba8141b1d0 branch 'master' of github.com:sirspinach/shwangster2.206b62d28091d98909947ad32085a15fa463d7f5 not-for-merge branch 'master' of github.com:sirspinach/cs61a-scheme -
有趣...文件内容正常,问题一定出在合并头的选择上。看起来
tr '\012' ' '出错了。
标签: macos git git-merge git-pull