🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

什么是clone?如何将他人的GitHub仓库复制到自己的电脑

在之前的文章中,您已经掌握了如何将自己电脑(本地)上创建的项目上传(推送)到GitHub仓库的方法。至此,您已经掌握了使用GitHub管理自己代码的基本技能。

本次的主题是与之前相反的操作,即如何将GitHub上他人的仓库(项目)完整地复制到自己的电脑上。这个操作被称为“clone(克隆)”。这是利用全世界优秀的开源项目,或参与团队开发时,至关重要且必经的第一步。让我们马上开始学习吧!


`git clone`是什么?与单纯下载的区别

在GitHub的仓库页面上,绿色的“Code”按钮下也有一个“Download ZIP”的选项。您可能会想:“如果只是想复制文件,这个不就够了吗?”然而,`git clone`和下载ZIP文件,看似相似,实则完全不同。

打个比方,下载ZIP就像是“只拿到书本最后一页的复印件”,而`git clone`则是“得到一本一模一样的全新书籍”,这样想就更容易理解了。


`git clone`的实践步骤

那么,让我们实际使用`git clone`命令,将GitHub上的仓库复制到您的电脑上吧。

第一步:复制想要克隆的仓库URL

首先,访问您想要复制的项目的GitHub页面。这次我们以著名的CSS框架“Bootstrap”的仓库为例进行克隆。

打开页面后,点击绿色的“Code”按钮。这时会显示几个用于复制URL的选项。虽然有HTTPS和SSH两种,但由于我们上次已经设置了SSH密钥,使用SSH的URL会更方便。使用SSH可以在push或pull时省略输入密码的步骤。

[图片:在Bootstrap的GitHub仓库页面点击“Code”按钮,并复制SSH URL的示意图]

点击URL右侧的复制图标,将URL复制到剪贴板。

第二步:在终端执行`git clone`命令

接下来,打开终端(Windows用户请使用Git Bash),然后进入您想要保存项目的目录。桌面,或者像`projects`这样的开发专用文件夹都是不错的选择。

进入目录后,就轮到`git clone`命令出场了。如下所示,在命令后粘贴刚才复制的URL并执行。

git clone [在此处粘贴复制的SSH URL]

克隆Bootstrap仓库的具体命令如下:

git clone git@github.com:twbs/bootstrap.git

执行后,下载就会开始。根据仓库的大小,可能需要一些时间。

第三步:确认克隆是否成功

命令执行完毕后,当前目录下应该会生成一个与仓库同名的文件夹(本例中是`bootstrap`)。让我们来确认一下。

ls

如果找到了名为`bootstrap`的文件夹,就进入该文件夹。

cd bootstrap

至此,您的电脑上就有了一个完整的Bootstrap仓库了。这个文件夹已经处于Git的管理之下,无需再执行`git init`等操作。


克隆后的第一步

克隆仓库后,您可以立刻开始在该项目上工作。下面介绍几个在开始工作前常用的命令。

检查分支

要查看有哪些工作分支,可以使用`git branch`命令。加上`-a`选项,还可以看到远程仓库的分支。

git branch -a

获取最新更改

您克隆的仓库在您工作期间可能会被其他人更新。在开始工作前,请务必执行`git pull`命令,将远程仓库的最新状态同步到您的本地仓库。

git pull

注意事项:如果想做贡献,请从“Fork”开始

这里要介绍一个重要的概念。对于您没有写入权限的他人仓库,您是无法直接推送(push)更改的。如果您想为该项目添加新功能或修复bug等方式做出“贡献”,首先需要进行一个叫做“Fork(分叉)”的操作。

Fork是将在他人的仓库完整地复制到您自己的GitHub账户上,创建一个专属于您的远程仓库的功能。

为开源项目做贡献的基本流程如下:

  1. 在GitHub上Fork您想贡献的项目。
  2. 将Fork后在您自己账户下创建的仓库clone到您的电脑上。
  3. 在您的电脑上修改代码,然后push到您自己的远程仓库。
  4. 在GitHub上,从您的仓库向原项目发送一个“Pull Request(拉取请求)”,请求对方合并您的更改。

首先请熟悉`clone`操作,下一步不妨挑战一下从Fork发起Pull Request吧。