git 无法 push 远程仓库 【Note about fast-forwards】

git 无法push远程仓库 Note about fast-forwards

提出问题


git push 远程仓库时,经常报出如下错误,导致无法将本地仓库中的内容提交到远程仓库。
在这里插入图片描述

基本介绍


  • 首先,报出错误:non-fast-forward

  • 其次,根据我们在连接远程仓库时,执行的配置命令

      $ git remote add <远程仓库的别名alias> <远程仓库的url>
    

    可以得出,远程仓库:origin

  • 然后,远程分支:master

  • 最后,本地分支:master

解决方案


  • 首先,根据 Git 提示 hint: 'git pull ...') before pushing again. ,执行 git pull 命令把最新的内容从远程分支(origin/master)拉下来

      $ git pull
    
  • 然而,会报出如下错误,并给出提示:
    在这里插入图片描述
    这是因为没有指定本地 master 分支和远程 origin/master 的连接

  • 然后,根据提示,执行 git branch --set-upstream-to=origin/master master,创建本地 master 分支和远程 origin/master 分支的连接

      $ git branch --set-upstream-to=origin/master master
    
  • 接着,在命令行执行 git pull,进行代码的拉取:

      $ git pull
    

    可能还会报出其他错误,如图所示:
    在这里插入图片描述
    此错误,是由于本地仓库和远程有不同的开始点,也就是说,本地仓库和远程仓库没有共同的 commit 而出现的无法提交

    因此,需要使用在执行 git pull 时,添加 --allow-unrelated-histories 参数,命令如下:

      $ git pull --allow-unrelated-histories
    
  • 另外, 也可以不设置默认分支,直接执行 git pull origin master

      $ git pull origin master 
    

    但还可能产生其他 conflict,如图所示:
    在这里插入图片描述
    此时,需要自己手动解决冲突再 merge,这里不再多加赘述。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值