跳转到内容

获取 Git 仓库

通常有两种方式来获取一个 Git 仓库:

  1. 将尚未进行版本控制的本地目录转换为 Git 仓库。
  2. 从其它服务器 克隆(Clone) 一个已存在的 Git 仓库。

无论哪种方式,结果都是你在本地拥有了一个随时可用的 Git 仓库。

如果你有一个正在进行的项目,或者刚创建了一个空目录想要开始版本控制,可以使用 git init 命令。

首先,进入该项目目录:

Terminal window
cd my_project

然后执行:

Terminal window
git init

该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。

如果你想获得一份已经存在于远程服务器(比如 GitHub, GitLab 或 Gitee)上的代码拷贝,你需要使用 git clone 命令。

Git 的克隆与 Subversion 等版本控制系统不同。当你执行 git clone 时,你不仅仅是下载了最新的文件,而是 克隆了整个仓库的历史记录。 服务器上有的每一个文件的每一个版本,都会被拉取下来。事实上,如果你的服务器磁盘坏了,你通常可以用任何一个协作者的本地克隆版本来恢复服务器的数据。

克隆仓库的命令格式是 git clone <url>

例如,要克隆著名的链接库 libgit2,可以执行:

Terminal window
git clone https://github.com/libgit2/libgit2

这会在当前目录下创建一个名为 libgit2 的目录,并在其中初始化一个 .git 文件夹,从远程仓库拉取所有数据,并检出(Checkout)最新版本的代码。

如果你想在克隆时自定义本地目录的名称(而不是默认使用仓库名),可以在命令末尾指定:

Terminal window
git clone https://github.com/libgit2/libgit2 my-libgit

这将执行与上面相同的操作,但目标目录将是 my-libgit

你会发现 Git 仓库 URL 通常以 https://git@ 开头,这代表了不同的传输协议。

  • HTTPS (https://...): 最通用,在通过防火墙时通常最顺畅。
  • SSH (git@...): 使用 SSH 密钥进行认证,配置好后无需每次输入密码,适合频繁推送代码的开发者。

我们将在 协作章节 中详细介绍如何配置和选择这些协议。