一、问题出现
1.当远程仓库分支上有一个本地仓库没有的分支时
2.本地使用git checkout命令检索这个远程分支
git checkout -b 本地分支名 远程分支名
当出现上述情况时,就会出现报错:fatal:‘XXX' is not a commit and a branch ‘XXX' cannot be created from it
二、问题原因
远程新建的分支没有更新到本地。实际上,git仓库分为本地仓库和远程仓库,我们用checkout
命令是从本地仓库中找要检出的分支的。本地仓库只有在进行网络请求时才会跟远程仓库交互,比如fetch
命令。
三、问题解决
更新远程仓库数据到本地,可以使用两个命令:
1.fetch命令
git fetch origin
2.update命令
git remote update origin --prune
最后我们再使用git checkout命令即可检索出新建的分支