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

简介: 本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 问题出现的步骤 首先通过SourceTree新建一个新的分支,新建分支的时候是基于远程分支的某次提交 然后将新建的分支推送到远程 最后在本地git目录文件夹中,通过...

本文首发于公众号“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

  1. update命令

    git remote update origin --prune

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

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

目录
相关文章
|
29天前
|
开发工具 git 开发者
|
29天前
|
开发工具 git
|
28天前
|
开发工具 git 开发者
|
29天前
|
开发工具 git
|
1月前
|
存储 开发工具 git
Git 术语解析:深入理解上游分支
【2月更文挑战第26天】
77 0
Git 术语解析:深入理解上游分支
|
1月前
|
Shell 开发工具 git
【问题篇】git创建分支后idea切换分支找不到以及合并问题
【问题篇】git创建分支后idea切换分支找不到以及合并问题
22 0
|
1月前
|
开发工具 git
git 新建分支,切换分支,上传到远程分支
在git中,可利用checkout命令转换分支,该命令的作用就是切换分支或恢复工作树文件,语法为“git checkout 分支名”;当参数设置为“-b”时,可以在新分支创建的同时切换分支,语法为“git checkout -b 分支名”。
|
6天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
37 1
|
10天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
36 0
Git教程:深入了解删除分支的命令
|
27天前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
33 0