【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_prog10 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
x-cmd12 小时前
Mac 涨价后,本地 AI 还能千元入门吗?
linux·人工智能·macos·ai·agent·amd·本地ai入门
leoZ23112 小时前
Git 集成实战完全指南(二):智能分支管理
大数据·git·elasticsearch
AOwhisky14 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
qq_4523962317 小时前
第六篇:《GitLab CI 进阶:多环境部署与环境变量管理》
git·ci/cd·gitlab
有想法的py工程师18 小时前
GPG 密钥迁移指南:多私钥备份、批量导入与自动信任
git·github
摇滚侠18 小时前
Linux 零基础教程 09、11、77
linux·运维·服务器
Lottie202618 小时前
电商自动化提质增效:API接口落地的核心价值与实战用法
运维·自动化
Hardworking66620 小时前
第6章 数据工程
运维·服务器·数据库·数据工程
jieyucx20 小时前
Docker 入门第六阶段:综合实战项目
运维·docker·容器