Git pull失败之refusing to merge unrelated histories

git pull 失败 ,提示:fatal: refusing to merge unrelated histories
这是因为远程仓库origin上的分支master和本地分支master被Git认为是不同的仓库,所以不能直接合并。

参考http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories

解决方案:添加--allow-unrelated-histories

假如我们的远程仓库是origin,分支是master,那么我们 需要这样写git pull origin master ----allow-unrelated-histories

附:push和pull命令格式:

git push <远程主机名> <本地分支名>[:<远程分支名>]    e.g., git push oschina master, 省略远程分支名,代表推送到有追踪关系的远程分支(一般为同名)
git pull <远程主机名> <远程分支>:<本地分支>       e.g., git pull oschina master,省略远程分支名,同理

另外,我发现Pull命令不会删除本地工作区内的“其它文件夹”(即远程仓库没有的文件夹),文件还没试过。

附上经典Git原理图(摘自廖学峰的git教程):工作区就是直接包含本地代码文件的文件夹,stage(或称index)是暂存区(暂存add进来的修改过的代码),commit之后合并到本地仓库的分支(如master)。stage区和本地仓库均存储在.git文件夹内。

git-repo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值