【git】在Linux系统下clone指定分支

文章目录

      • 0.首先查看远端服务器,远程分支列表:
      • [**1. 简化分支名称(去掉 `refs/heads/` 前缀)**](#1. 简化分支名称(去掉 refs/heads/ 前缀))
      • [**2. 检查 Git 版本**](#2. 检查 Git 版本)
      • [**3. 使用完整克隆后切换分支**](#3. 使用完整克隆后切换分支)
      • [**4. 调试网络/服务器问题**](#4. 调试网络/服务器问题)
      • [**5. 联系仓库管理员**](#5. 联系仓库管理员)
      • **总结步骤**

正确格式:git clone -b 正确的分支名 ssh://git@xxxx.01:2200/tws/ris.git

0.首先查看远端服务器,远程分支列表:

bash 复制代码
git ls-remote --heads ssh://git@xxx.01:2200/tws/ris.git

输入指令执行:

遇到错误:

根据 git ls-remote --heads 的输出,分支 sdk5.6.0_remove_minios 确实存在于远程仓库(哈希值 18a7e728f1...),但克隆时却报错 not found。这可能是由于 Git 版本或服务器配置的兼容性问题。以下是解决方案:


1. 简化分支名称(去掉 refs/heads/ 前缀)

Git 的 -b 参数只需要分支名,无需完整路径。
错误命令

bash 复制代码
git clone -b refs/heads/sdk5.6.0_remove_minios ssh://git@10xxxxx2200/tws/ris.git

正确命令

bash 复制代码
git clone -b sdk5.6.0_remove_minios ssh://git@10xxxxxx90:2200/tws/ris.git

2. 检查 Git 版本

某些旧版 Git 对分支名解析存在问题。升级 Git:

bash 复制代码
git --version  # 确认版本
sudo apt-get update && sudo apt-get install git -y  # Ubuntu/Debian

3. 使用完整克隆后切换分支

如果直接克隆仍失败,尝试先克隆默认分支再切换:

bash 复制代码
git clone ssh://git@xxxx:2200/tws/ris.git
cd ris
git checkout sdk5.6.0_remove_minios

4. 调试网络/服务器问题

错误 the remote end hung up unexpectedly 可能是网络或服务器问题:

  • 检查 SSH 连接

    bash 复制代码
    ssh -T git@xxxxx -p 2200  # 测试SSH连通性
  • 启用详细日志

    bash 复制代码
    GIT_TRACE=1 GIT_SSH_COMMAND="ssh -v" git clone -b sdk5.6.0_remove_minios ssh://git@1xxxxx.90:2200/tws/polaris.git

5. 联系仓库管理员

如果问题持续,可能是服务器端限制(如分支权限、存储空间不足等),需管理员协助检查:

  • 仓库的 upload-pack 服务是否正常。
  • 分支是否被意外隐藏或删除。

总结步骤

  1. 首先查看远端服务器,远程分支列表:
  2. 直接使用分支名 (去掉 refs/heads/)。
  3. 升级 Git 到最新版本。
  4. 分步克隆(先克隆后切换分支)。
  5. 检查网络/SSH 或联系管理员。

正确格式:git clone -b 正确的分支名 ssh://git@xxxx.01:2200/tws/ris.git

如果仍有问题,请提供 GIT_TRACE=1 的完整输出日志。

相关推荐
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [arm][debug]
linux·运维·arm开发·笔记·学习
Arthurmoo1 小时前
Linux系统之Docker命令与镜像、容器管理
linux·docker·eureka
wdfk_prog2 小时前
实战教程:从“对象文件为空“到仓库重生——修复 Git 仓库损坏全记录
大数据·网络·笔记·git·学习·elasticsearch·全文检索
Hadesls3 小时前
Almalinux 10安装L20显卡驱动
linux·运维
Mr_wilson_liu3 小时前
网络拨测和业务拨测是什么意思
linux·网络
ccLianLian3 小时前
计算机基础·linux系统
linux·运维·服务器
ALex_zry4 小时前
Git Status 命令深度指南:洞悉仓库状态的核心艺术
大数据·git·elasticsearch
北极糊的狐4 小时前
启动模块服务时报错:docker: Error response from daemon: Conflict.
运维·docker·容器
所念皆为东辞5 小时前
linux离线安装ffmpeg
linux·运维·ffmpeg
zx_zx_1235 小时前
套接字编程UDP
linux·网络·udp