Git Clone
最后更新
git clone <url> 把一个远程仓库(所有文件、分支和历史)复制到你的电脑上,并设置好指向远程仓库的 origin,方便你推送和拉取。要参与一个已有的项目,就从它开始;而 git init 则是新建一个全新的空仓库。
在终端在线编辑器中试试这些命令:浏览器里就有一个真正的 shell,无需安装任何东西。
语法
| 命令 | 作用 |
|---|---|
git clone <url> | 克隆到以仓库名命名的文件夹 |
git clone <url> myapp | 克隆到名为 myapp 的文件夹 |
git clone -b dev <url> | 克隆并检出 dev 分支 |
git clone --depth 1 <url> | 浅克隆(只获取最新提交) |
git clone --recurse-submodules <url> | 克隆仓库及其子模块 |
HTTPS vs SSH
| 协议 | URL 格式 |
|---|---|
| HTTPS | https://github.com/user/repo.git |
| SSH | git@github.com:user/repo.git |
Git clone 常见问题
git clone 是做什么的?
它把远程仓库的完整副本(每个文件、分支和提交)下载到一个新的本地文件夹中,并把远程仓库配置为
origin。克隆完成后,你马上就可以工作、提交和推送。git init 创建的是空仓库,而 clone 带来的是一个已有项目及其历史。如何克隆到指定文件夹?
在 URL 后面加上文件夹名:
git clone <url> myfolder 会克隆到 myfolder,而不是仓库的默认名称。如果文件夹不存在,会自动创建。如何克隆指定分支?
使用
git clone -b <branch> <url> 克隆并检出那个分支。加上 --single-branch 就只获取这个分支的历史,而不是所有分支,这对大型仓库很有用。更多内容请看 git 克隆指定分支页面。什么是浅克隆?
git clone --depth 1 <url> 只获取最新的提交,而不是完整的历史,下载量小得多,速度也快得多。它非常适合 CI,或者只需要最新代码的场景。之后你可以用 git fetch --unshallow 获取更多历史。可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里真正的 shell 中运行
git clone,无需安装任何东西。Coddy 免费的互动式 Git 课程也会一步步讲解如何获取仓库。