首页 > 解决方案 > git - 无法签出远程分支

问题描述

我有一个有很多分支(200+)的仓库。

我克隆了它使用git clone xxxx.git

但是当我显示分支时,它只显示很少:

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

当我尝试签出远程分支origin/release-1.6.2时,它说没有这样的分支(它完全存在于我的 gitlab 的网页中)。

在此处输入图像描述

$ git checkout origin/release-1.6.2
error: pathspec 'origin/release-1.6.2' did not match any file(s) known to git.

当我试图获取这个分支时,似乎这个分支确实存在。

$ git fetch origin origin/release-1.6.2
From gitlab.alipay-inc.com:blink/blink-tables
 * remote-tracking branch  origin/release-1.6.2 -> FETCH_HEAD

那么我怎样才能正确签出这个远程分支呢?

它与这个问题不同,因为我什至看不到分支git branch -a

标签: gitgitlab

解决方案


您错误地命名了分支:GitLab 显示origin/release-1.6.2在分支列表中,因此分支名称正好是 origin/release-1.6.2. 如果要结帐,请使用

$ git checkout origin/origin/relase-1.6.2

origin/为避免混淆,请删除分支名称中的前导

  • 重命名本地分支

    $ git branch -m origin/release-1.6.2 release-1.6.2

  • 删除远程分支

    $ git push origin :origin/origin/release-1.6.2

  • 推重命名的分支

    $ git push origin release-1.6.2

release-1.6.2您可以将遥控器 ( ) 上的分支 ( origin) 作为origin/release-1.6.2)。


推荐阅读