克隆github仓库需用git clone命令,支持https(免配置)、ssh(需密钥)、指定分支(-b)、浅克隆(--depth 1)及子模块(submodule init/update)五种方式。

如果您希望将 GitHub 上的代码仓库复制到本地计算机进行开发或学习,则需要使用 Git 的克隆功能。以下是完成该操作的具体方法:
一、使用 HTTPS 方式克隆仓库
HTTPS 是最常用且无需额外配置 SSH 密钥的方式,适用于大多数公开仓库及已登录 GitHub 账户的私有仓库。
1、打开 GitHub 网站,进入目标仓库页面。
2、点击绿色的 Code 按钮,确保在弹出菜单中选择 HTTPS 标签页。
3、点击右侧的复制图标,获取仓库的 HTTPS 地址,例如 https://github.com/username/repository-name.git。
4、打开终端(Windows 用户可使用 Git Bash 或 PowerShell),执行命令:git clone https://github.com/username/repository-name.git。
5、等待下载完成,项目将自动创建同名文件夹并初始化本地 Git 仓库。
二、使用 SSH 方式克隆仓库
SSH 方式适合频繁操作私有仓库的用户,可避免每次推送时输入用户名和密码,但需提前在本地生成并配置 SSH 密钥对。
1、检查本地是否已有 SSH 密钥:ls -al ~/.ssh/id_rsa.pub。
2、若无输出,运行 ssh-keygen -t ed25519 -C "your_email@example.com" 生成新密钥。
3、将公钥内容复制到剪贴板:cat ~/.ssh/id_ed25519.pub | clip(Windows)或 pbcopy (macOS)。
4、登录 GitHub → Settings → SSH and GPG keys → New SSH key,粘贴并保存。
5、返回仓库页面,点击 Code 按钮,选择 SSH 标签页,复制地址如 git@github.com:username/repository-name.git。
6、在终端中执行:git clone git@github.com:username/repository-name.git。
三、克隆指定分支而非默认主分支
当仓库默认分支不是 main 或 master,或您只需某一分支的代码时,可使用 -b 参数限定分支。
1、确认目标分支名称,可在 GitHub 仓库页面顶部分支下拉菜单中查看。
2、在终端中执行:git clone -b branch-name https://github.com/username/repository-name.git。
3、克隆完成后,本地仓库将仅包含该分支的历史记录,且当前工作分支即为指定分支。
四、只克隆最新提交(浅克隆)
对于大型仓库或仅需最新代码而无需完整历史的场景,使用浅克隆可显著减少下载体积与时间。
1、在终端中执行:git clone --depth 1 https://github.com/username/repository-name.git。
2、该命令将仅拉取最近一次提交的快照,不包含任何历史提交信息。
3、若后续需要完整历史,可运行:git fetch --unshallow(适用于未被修剪的浅克隆)或 git fetch --all。
五、克隆子模块及其依赖
若目标仓库包含子模块(submodule),默认克隆不会自动拉取子模块内容,需额外操作以完整还原项目结构。
1、先执行常规克隆:git clone https://github.com/username/repository-name.git。
2、进入项目目录:cd repository-name。
3、初始化并更新子模块:git submodule init。
4、拉取子模块代码:git submodule update --recursive。
5、若子模块本身也嵌套子模块,--recursive 参数确保全部层级均被同步。










