【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 的完整输出日志。

相关推荐
evo-master4 分钟前
网络故障排除方法
linux·服务器·网络
Johnstons24 分钟前
网络流量监控工具怎么选
运维·网络·网络故障排除·网络流量分析·网络性能监控
不想看见40440 分钟前
Git的多种仓库选择与推荐
git
信创DevOps先锋3 小时前
中国DevOps工具链选型新趋势:合规、协同与生态融合的平衡之道
运维·gitee·devops
xlq223223 小时前
35.信号
linux
白鸽梦游指南4 小时前
docker镜像优化
linux·运维·docker
A.A呐4 小时前
【Linux第十九章】网络基础
linux·网络
陳10304 小时前
Linux:基础开发工具
linux·运维·服务器
sg_knight4 小时前
CentOS 裸机实操:5分钟完成 MinIO 单机部署与公网访问
linux·python·centos·文件管理·minio·ftp·oss
dgvri4 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos