有趣且重要的Git知识合集(11)refusing to merge unrelated histories

1、场景描述:

当我们本地初始化了git项目,并且写了代码,远程仓库也初始化了,此时如果本地git add/commit

后,添加远程仓库地址,再push的话,是完全没有问题的,但是要是你本地commit了,远程仓库突然初始化了README文件(常见在gitee上),此时就会造成本地/远程仓库不一致,你push代码就会出现refusing to merge unrelated histories的错误提示

2、解决方法:

1、你要是已经add或者commit了,就先git reset --soft HEAD^,先将代码撤回到工作区,然后stash存储到缓存去,再git pull,先将远程代码拉取下来,再将你代码push上去,这也是我觉得更合理的方式(建议

2、在你git pull 后面 加上 --allow-unrelated-histories进行允许合并,相当于强行将远程代码先拉取下来当然这也不会有啥问题(建议

3、先删除你git的远程地址 git remote rm origin,然后再添加,但是我不建议这么做,如果可以的话,我建议使用前两种方式(不建议

3、综合

一般情况下,不管是多人协同还是单人开发,都应该先git pull拉取远程代码下来,再将你本地代码提上去,要是远程有代码,且有冲突的话,你就将你本地代码git stash,拉取下来后,再git stash pop解决冲突,再git push。如果你不太了解 git stash操作的话,可以参考我上一篇博客

有趣且重要的Git知识合集(10)git stash操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值