Git clone

Git URL

Git 有自己的 URL 语法。
它用于将远程存储库位置传输到 Git 命令。
Git URL 很重要,因为 git clone 主要用于远程存储库。

Git URL 协议

Git 可以使用以下协议进行数据传输:Git、Secure Shell (SSH)、HTTPS 和 Local。
需要注意的是,除了HTTPS协议之外,所有这些协议都需要在服务器上安装并运行Git。

  • Git Git 协议是 Git 独有的。它是一个特殊的守护进程,运行在端口 (9418) 上,提供类似于 SSH 的服务,但无需任何身份验证。
git://host.xz[:port]/path/to/repo.git/

Git 协议的优点是传输速度快。 Git 协议也有一些缺点:没有认证和协议配置困难。

  • SSH Secure Shell (SSH) 是一种网络协议,有助于从一台计算机安全地登录到另一台计算机。在大多数情况下,默认配置了对服务器的 SSH 访问。在连接之前,有必要与托管服务器建立凭据。
git clone ssh://user@server/project.git

SSH 是唯一可以轻松读取和写入的网络协议。 SSH 具有许多其他优点,例如易于配置、安全访问(所有数据传输都经过加密和身份验证)以及传输前的数据紧凑性。 SSH 的缺点是它不支持匿名访问 Git 存储库。我们可以在我们的 SSH 密钥部分找到有关 SSH 密钥的更多信息。

  • HTTPS HTTPS 代表超文本传输协议。该协议主要用于在 Internet 上传输 HTML 数据。 Git 配置为与 HTTPS 共享信息。
git clone http://example.com/gitproject.git

HTTPS 的优点之一是设置简单。它也不需要服务器上的大量资源。它对内容传输进行加密。防火墙设置为允许流量通过端口,从而使 HTTPS 成为常用的协议之一。主要缺点是客户端效率低下,因为从存储库中克隆或者获取需要大量时间。

  • Local Local 是一种基本协议,其中远程存储库位于磁盘上的另一个目录中。当所有团队成员都可以访问共享文件系统时使用它。共享文件系统允许我们从本地存储库克隆、推送和拉取。存储库的路径可以用作将这样的存储库克隆到现有项目(item)(item)的 URL。
git clone /opt/git/project.git

描述

git clone 是一个 git 命令,它将现有存储库的克隆/副本创建到新目录中。
它还用于为克隆存储库中的每个分支创建远程跟踪分支。
这是最常见的命令,它允许用户获取现有中央存储库的开发副本。

git init 和 git clone 的区别

git init 和 git clone 通常相互混淆。

这里需要注意的是 git clone 依赖于 git init 并创建一个已经存在的存储库的副本。
换句话说,为了生成一个 git clone,我们需要一个用 git init 创建的存储库。
只有在那之后,我们才运行 git clone 来复制上面提到的存储库中包含的数据。

git clone 用法

首先, git clone 命令用于定位现有存储库并将其克隆或者复制到新目录中。
可以使用 SSH 用户名 x_person 获取存储在服务器上的本地副本,可从 example.com 访问,如下所示:

git clone ssh://x_person@example.com/path/to/team-project.git
cd team-project
# You must work on this project

git clone 在本地机器上的 team-project 文件夹中初始化一个新的 Git 存储库,并用中央存储库的内容填充它。
之后,我们可以进入项目(item)(item)开始修改文件、提交快照以及与其他存储库交互。

git克隆到某个文件夹

我们应该将 <repo> 中的存储库克隆到本地计算机上名为 <directory> 的文件夹中。

git clone <repo> <directory>

git克隆某个标签

克隆位于 <repo> 的存储库并只克隆 <tag> 的 ref。

git clone --branch <tag> <repo>

Git Clone 的配置选项

配置选项是让 Git 以最适合我们或者团队的方式工作所需的工具。
最常见的如下所示:

  • git clone -branch -branch 参数指定应该克隆的分支,而不是远程 HEAD 指示的分支,通常是主分支。此外,我们可以传递标签而不是分支以获得相同的效果。使用下面的示例,我们将拥有来自远程存储库的 new_feature 分支的克隆:
git clone -branch new_feature git://remoterepository.git
  • git clone --bare 将 --bare 参数传递给 git clone,我们将拥有使用排除的工作目录创建的远程存储库的副本。因此,存储库将使用项目(item)(item)历史创建,可以推送或者拉出但不能编辑。
  • git clone --mirror --bare 参数的行为由 --mirror 继承,这意味着传递 --mirror 参数也会传递 --bare。 --mirror 参数将克隆远程仓库的所有扩展引用。它还允许我们维护远程分支跟踪配置。
日期:2020-06-02 22:16:32 来源:oir作者:oir