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 本地分支名 远程分支名...
本文首发于公众号“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个命令
-
fetch
命令git fetch origin
需要注意的是origin是远程仓库名,如果只有一个远程仓库,第一次克隆时Git 会自动为你将此远程仓库命名为
origin
-
update
命令git remote update origin --prune
这个命令会更新远程的分支到本地
最后再执行checkout
命令即可检出新建的分支
欢迎关注我的公众号查看更多精彩文章!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)