我对git很陌生,我正试着做一个分叉和克隆的回购。在我的电脑里,我可以看到树枝。
c:\>git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
remotes/upstream/dev
remotes/upstream/master和,
C:\>git branch -r
origin/HEAD -> origin/master
origin/dev
origin/master
upstream/dev
upstream/master但当我做的时候
c:\> git checkout master
Already on 'master'
Your branch is up to date with 'origin/master'.
c:\> git checkout dev
error: pathspec 'dev' did not match any file(s) known to git.有人能告诉我为什么我不能转到dev分公司吗?我搜索了一下,更新了git (现在是2.18.0.windows.1)。然而,这个问题仍然存在。
编辑:当我在桌面应用程序中随机尝试时,它就被解决了。我打开了windows git桌面软件。点击选项“添加本地存储库”,并选择我克隆回购的文件夹。然后我点了一下放下的树枝,就可以看到dev在那里。当我选择它时,它切换到那个分支,命令提示符问题也得到了解决。现在我可以切换到master或dev了。我不知道当我这么做的时候内部发生了什么,但现在起作用了。
发布于 2018-07-31 07:32:40
来自man git-checkout (git help checkout):
如果没有找到
<branch>,但确实存在一个具有匹配名称的远程(称为<remote>)的跟踪分支,则将其视为等效于 $ git结账-b --跟踪/
因此,通常情况下,git checkout dev只会工作并做正确的事情。在您的情况下,它不起作用的原因是您有两个遥控器,origin和upstream,它们都包含一个dev分支,所以Git不知道该签出哪一个。
在这种情况下,您将不得不使用更长的表单来代替:
git checkout -b dev --track origin/dev-b dev创建一个名为dev的本地分支,这样您就不会以“分离头”状态结束。--track origin/dev将其设置为跟踪分支,这样您就可以正确地推拉它。
实际上,--track为-b提供了一个正常的缺省值,因此可以将其缩短为:
git checkout --track origin/dev发布于 2018-07-31 07:20:51
您没有名为dev的本地分支。你需要把原产的树枝取到你的本地(你的机器)。
您可能需要尝试这样的方法:
git fetch origin
git checkout devhttps://stackoverflow.com/questions/51607530
复制相似问题