文章目录
-
-
- 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 连接 :
bashssh -T git@xxxxx -p 2200 # 测试SSH连通性
-
启用详细日志 :
bashGIT_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
服务是否正常。 - 分支是否被意外隐藏或删除。
总结步骤
- 首先查看远端服务器,远程分支列表:
- 直接使用分支名 (去掉
refs/heads/
)。 - 升级 Git 到最新版本。
- 分步克隆(先克隆后切换分支)。
- 检查网络/SSH 或联系管理员。
正确格式:git clone -b 正确的分支名 ssh://git@xxxx.01:2200/tws/ris.git
如果仍有问题,请提供 GIT_TRACE=1
的完整输出日志。