git checkout 失败

工作中刚切换到git,操作时经常会遇到一些问题,如checkout 失败,记录如下:

在本地需要checkout 别人已经提交的分支来进行开发,我们知道如果仓库中已经存在一个分支,则可以使用 git checkout 分支名,来切换到这个分支上,然而我遇到一个问题,checkout 失败了,失败提示大概如下

“error: pathspec 'xxx_20190530_master_Simple20190116Custom4X4KS2' did not match any file(s) known to git.” 因为我查询远程仓库里确实有此分支,但为何checkout 不了呢?

原因为:

在你下载仓库(到本地)之后,有人新push新分支到仓库里,在你本地仓库里是没有这个分支的,用checkout 是无法切分支的,所以提示 “did not match any file(s) known to git.” ,如果在下载仓库时,这个分支已经有了,直接checkout 是没有问题的。

解决的办法是:先 git fetch 获取分支, 再git checkout 进行切换分支。

如:将远程分支提取到本地分支

git fetch origin xxx_20190530_master_Simple20190116Custom4X4KS2:xxx-_20190530_master_Simple20190116Custom4X4KS2

这样本地仓库中就会有分支:xxx-_20190530_master_Simple20190116Custom4X4KS2,然后git checkout 命令进行分支切换即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章