git clone 克隆远程仓库完整教程(https/ssh/指定分支/浅克隆)
从 GitHub、GitLab 或私有服务器克隆代码,本文讲清 HTTPS 与 SSH 区别、如何只克隆某个分支、以及加速大仓库的浅克隆与稀疏检出。
git clone 是把远程仓库完整复制到本地的第一步。下面从最常用到进阶,逐步讲清。
最基本的克隆
git clone https://github.com/用户名/仓库名.git
这会在当前目录生成一个与仓库同名的文件夹,并把默认分支(如 main)拉下来。想指定存放目录:
git clone https://github.com/用户名/仓库名.git 我的目录
HTTPS 与 SSH 怎么选
| 方式 | 命令格式 | 特点 |
|---|---|---|
| HTTPS | https://github.com/用户/仓库.git | 免配置,克隆时输账号或 token;推送需凭据 |
| SSH | git@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 浅克隆减少下载量。