git拉取分支报错:fatal:‘XXX' is not a commit and a branch ‘XXX' cannot be created from it

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点

问题出现的步骤
  • 首先通过SourceTree新建一个新的分支,新建分支的时候是基于远程分支的某次提交

  • 然后将新建的分支推送到远程

  • 最后在本地git目录文件夹中,通过git的checkout命令检出远程分支

    git checkout -b 本地分支名 远程分支名
    

以上,就会报 fatal:‘XXX' is not a commit and a branch 'dev' cannot be created from it的错误

问题原因

远程新建的分支没有更新到本地。实际上,git仓库分为本地仓库和远程仓库,我们用checkout命令是从本地仓库中找要检出的分支的。本地仓库只有在进行网络请求时才会跟远程仓库交互,比如fetch命令。

问题解决

更新远程仓库数据到本地,可以用2个命令

  1. fetch命令

    git fetch origin 
    

    需要注意的是origin是远程仓库名,如果只有一个远程仓库,第一次克隆时Git 会自动为你将此远程仓库命名为 origin

  2. update命令

    git remote update origin --prune
    

    这个命令会更新远程的分支到本地

最后再执行checkout命令即可检出新建的分支


                           欢迎关注我的公众号查看更多精彩文章!

公众号

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值