Git 正在远程服务器上签出分支

Git 正在远程服务器上签出分支,git,gitlab,Git,Gitlab,我已经在一个特定分支上克隆了一个远程存储库,如下所示:但是,现在我需要在这个远程repo上签出另一个分支。我该怎么做?这是GitLab上的一个自托管存储库(如果该信息有用的话?对Git来说是新的!) 编辑:我无法克隆整个存储库(可能是因为它太大),并且每次尝试克隆时都会出现GnuTLS recv错误(-9)。我尝试过使用这里建议的解决方案,但是它们似乎不起作用 使用--depth意味着--single branch,将single branch转换为multi branch (默认模式)尝试:

我已经在一个特定分支上克隆了一个远程存储库,如下所示:但是,现在我需要在这个远程repo上签出另一个分支。我该怎么做?这是GitLab上的一个自托管存储库(如果该信息有用的话?对Git来说是新的!)

编辑:我无法克隆整个存储库(可能是因为它太大),并且每次尝试克隆时都会出现GnuTLS recv错误(-9)。我尝试过使用这里建议的解决方案,但是它们似乎不起作用

使用--depth意味着--single branch,将single branch转换为multi branch (默认模式)尝试:


它可能不是最优雅的解决方案,我也不知道您的需求或背景,但我会从您第一次获得它的同一来源再次克隆它,只是没有浅层选项


你可以在你想要的分支机构上工作,也可以选择从新的回购协议中推进。如果这只是一次性的需要,您也可以在以后删除此临时克隆。

在提交数量方面,您需要返回多远才能获得这两个分支中的最新分支?假设数字是20。然后你可以试试下面的方法

git clone --depth 20 path-to-repo
Note: This will get all the branches

再次克隆它,非浅层的Gitlab Remote通常是裸repo,因此它们没有工作目录。不幸的是,这意味着“在远程回购上签出另一个分支”毫无意义。你想实现什么?@evolutionxbox我同意你的看法,但我猜这意味着“从远程回购中(本地)签出一个不同的分支”。阿兰纳克?是吗?@Romanvaleri,是的,这正是我想要达到的。我试过了。我得到的错误“origin/branch\u name”不是提交,无法从中创建分支“branch\u name”。很抱歉问:您是否将>branch\u name<替换为您希望从远程获得的实际分支?事实上,我希望这样做,但每次尝试这样做时,我都会得到GnuTLS recv错误(-9),可能是因为repo太大了。
git clone --depth 20 path-to-repo
Note: This will get all the branches