Git:refusing to merge unrelated histories/You have not concluded your merge (MERGE_HEAD exists)

**

refusing to merge unrelated histories

**
这是因为远程仓库已经存在代码记录了,并且那部分代码没有和本地仓库进行关联,我们可以使用如下操作允许pull未关联的远程仓库旧代码:
解决方法一:
先合并远程与本地代码的合并

$:git merge --abort //中止合并
$:git reset --merge //重新合并
$:git pull          //从新拉取

建议先提交/push一下,保持远程的一致
执行:

$:git merge dev --allow-unrelated-histories //dev合并

还有:git pull 或者 git push 再拉去或者推送是报错
(再次执行合并merge操作-merge into current)

解决方法二:
如果本地与远程代码是一致的。不需要merge。直接执行:
git merge dev --allow-unrelated-histories //合并
git pull dev --allow-unrelated-histories //拉去
git push dev --allow-unrelated-histories //推送
即可解决报错refusing to merge unrelated histories 的问题

You have not concluded your merge (MERGE_HEAD exists). hint: Please, commit your changes before merging. Exiting because of unfinished merge.

Git fetch:只是从远程获取最新版本到本地,不会merge(合并)

$:git fetch origin master   //从远程的origin的master主分支上获取最新版本到origin/master分支上
$:git log -p master..origin/master //可比较本地的master分支和origin/master分支的区别
$:git merge origin/master          //合并

也可以直接远程merge合并到本地:

$:git pull origin master //git fetch 和 git merge

好了,正式说解决error: You have not concluded your merge (MERGE_HEAD exists)的问题:
解决一:

$:git merge --abort //中止合并
$:git reset --merge //重新合并
$:git pull          //从新拉取

解决二:

$:git fetch --all   //获取远程代码
$:git reset --hard origin/master //相当重新设置分支-清零
$:git fetch      //重新赋值

这个方法会舍弃本地代码-清零。再远程的拉取覆盖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值