Git 中文手册

git clone 克隆远程仓库完整教程(https/ssh/指定分支/浅克隆)

2026-09-06 约 3 分钟阅读

从 GitHub、GitLab 或私有服务器克隆代码,本文讲清 HTTPS 与 SSH 区别、如何只克隆某个分支、以及加速大仓库的浅克隆与稀疏检出。

git clone 是把远程仓库完整复制到本地的第一步。下面从最常用到进阶,逐步讲清。

最基本的克隆

git clone https://github.com/用户名/仓库名.git

这会在当前目录生成一个与仓库同名的文件夹,并把默认分支(如 main)拉下来。想指定存放目录:

git clone https://github.com/用户名/仓库名.git 我的目录

HTTPS 与 SSH 怎么选

方式命令格式特点
HTTPShttps://github.com/用户/仓库.git免配置,克隆时输账号或 token;推送需凭据
SSHgit@github.com:用户/仓库.git需先配置 SSH 公钥,配好后免密推送

日常拉取公开仓库用 HTTPS 即可;需要长期推送、不想反复输密码,建议配置 SSH。

只克隆某个分支(省空间)

默认会克隆所有分支。若只想拿一个分支:

git clone -b 分支名 --single-branch https://github.com/用户/仓库.git

加速大仓库:浅克隆 + 稀疏检出

仓库历史很长时,完整 clone 很慢。可只取最近一次提交:

git clone --depth 1 https://github.com/用户/大仓库.git

如果只需要仓库里某一个子目录,先浅克隆再稀疏检出:

git clone --depth 1 --filter=blob:none --sparse https://github.com/用户/大仓库.git
cd 大仓库
git sparse-checkout set 需要的目录/

常见报错

  • fatal: unable to access ... SSL certificate problem:证书问题,可临时 git config --global http.sslVerify false(仅测试),根治应修复系统证书。
  • Permission denied (publickey):SSH 公钥未配置或未添加到 GitHub。用 ssh -T git@github.com 测试。
  • 克隆很慢:优先用 SSH 或设置代理,可 git config --global http.proxy http://127.0.0.1:端口

一句话速记

  • 想快速拿到代码 → git clone HTTPS地址
  • 只取单分支 → 加 --single-branch -b 分支名
  • 大仓库拉不动 → 加 --depth 1 浅克隆
?

常见问题 FAQ

git clone 和 git pull 有什么区别?
clone 是把远程仓库完整复制到一个新目录并建立本地仓库,通常只做一次;pull 是在已有本地仓库里拉取远程的新改动,用于日常更新。
clone 下来的分支只有 main 吗?
默认 clone 会把远程所有分支的引用都拉下来,但本地只自动检出一个默认分支。想看其他分支可用 git branch -a 查看,再 git checkout 分支名 切换。
克隆私有仓库提示认证失败怎么办?
HTTPS 需要提供有权限的账号或 Personal Access Token;SSH 需确保公钥已添加到账号。可先 ssh -T git@github.com 测试连通性。
git clone 很慢怎么加速?
可改用 SSH 方式、设置代理 git config --global http.proxy,或对大仓库用 git clone --depth 1 浅克隆减少下载量。