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命令即可检出新建的分支


                         欢迎关注我的公众号查看更多精彩文章!
AntDream
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,633评论 1 26
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,598评论 0 13
  • 四、 分支开发工作流 现在你已经学会新建和合并分支,那么你可以或者应该用它来做些什么呢? 在本节,我们会介绍一些常...
    常大鹏阅读 2,134评论 3 24
  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 2,429评论 0 1
  • 好几天没看简书,打开青春的话题,随便就看了一篇置顶的文章,突然发现其实每个人都曾孤单,失落过。 正是因为我们年少,...
    北咎阅读 148评论 0 0