You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从离线Linux虚拟机克隆Git仓库至宿主机?

离线环境下通过SSH克隆Git仓库的正确操作

先纠正你用错的Git SSH克隆格式

SSH方式克隆Git仓库的正确格式分两种:

  • 非默认22端口时,必须用ssh://前缀:
    git clone ssh://username@guestIPadd:port/path/to/your/repo.git
    
  • 默认22端口时,可以简化:
    git clone username@guestIPadd:/path/to/your/repo.git
    

你之前的命令把端口和路径直接连在一起,这是格式错误,导致Git无法识别端口和路径的分界。

离线环境下的必要前提

虚拟机里的目标仓库必须是裸仓库(bare repository),普通工作目录仓库无法直接作为克隆源。如果还没转成裸仓库,先在虚拟机里执行:

cd /path/to/your/working-repo
git clone --bare . /path/to/target-bare-repo.git

分步排查与操作

  1. 先验证SSH连通性
    执行以下命令确认能正常登录虚拟机:

    ssh username@guestIPadd -p port
    

    如果登录失败,先解决SSH问题:检查端口是否正确、虚拟机防火墙是否放行对应端口、SSH服务是否正常运行。

  2. 确认仓库路径权限与正确性

    • 裸仓库路径必须以.git结尾(比如/home/username/my-project.git)
    • 确保你使用的SSH用户对该仓库目录有读取权限,否则会出现权限拒绝错误
  3. 执行正确的克隆命令
    比如你的虚拟机IP是192.168.1.100,端口是2222,裸仓库路径是/home/jawad/my-app.git,命令应为:

    git clone ssh://jawad@192.168.1.100:2222/home/jawad/my-app.git
    

常见失败原因

  • 格式错误:未使用ssh://前缀却在冒号后写端口,导致Git将端口识别为路径的一部分
  • 仓库类型错误:用普通工作目录仓库作为克隆源,而非裸仓库
  • 路径错误:路径是相对路径但未对应用户家目录,或绝对路径拼写错误
  • 权限不足:SSH用户无仓库目录的读取权限

内容的提问来源于stack exchange,提问作者Jawad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 01:17:17