Git Pull / Pull Request (拉取请求)

17 Mar 2025 | 6 分钟阅读

“Pull(拉取)”这个术语用于从 GitHub 接收数据。它从远程服务器获取更改并将更改合并到您的工作目录中。 git pull 命令用于拉取仓库。

Git Pull

Pull request(拉取请求)是开发人员通知团队成员他们已完成功能的过程。一旦他们的功能分支准备就绪,开发人员就会通过其远程服务器帐户提交拉取请求。拉取请求会通知所有团队成员,他们需要审查代码并将其合并到主分支中。

下图演示了 pull 在不同位置之间的作用,以及它与其他相关命令的相似或不同之处。

Git Pull

“git pull”命令

pull 命令用于访问从远程仓库到本地仓库的更改(提交)。它使用远程跟踪分支更新本地分支。远程跟踪分支是已设置为从远程仓库推送和拉取的分支。通常,它是 fetch 和 merge 命令的集合。首先,它从远程获取更改并将其与本地仓库组合。

git pull 命令的语法如下

语法

其中

<option>: 选项是命令;这些命令用作特定命令中的附加选项。选项可以是 -q(安静)、-v(详细)、-e(编辑)等等。

<repository URL>: 仓库 URL 是您的远程仓库的 URL,您可以在其中存储您的原始仓库,例如 GitHub 或任何其他 git 服务。此 URL 看起来像

要访问此 URL,请转到您在 GitHub 上的帐户,然后选择要克隆的仓库。之后,单击仓库菜单中的克隆下载选项。将打开一个新的弹出窗口,从可用选项中选择使用 https 选项克隆。请参见下面的屏幕截图

Git Pull

复制突出显示的 URL。此 URL 用于克隆仓库。

<Refspec>: ref 指的是提交,例如 head(分支)、标签和远程分支。您可以在本地仓库的 .git/ref 目录中检查 head、标签和远程仓库。 Refspec 指定并更新 refs。

如何使用 pull

了解它的工作原理以及如何使用它至关重要。让我们举一个例子来了解它的工作原理以及如何使用它。假设我在项目 GitExample2 的远程仓库中添加了一个新文件,比如 design2.css

要创建文件,首先,转到仓库子功能上给定的创建文件选项。之后,选择文件名并根据需要编辑文件。请参考下图。

Git Pull

转到页面底部,选择提交消息和文件描述。选择您是否要创建一个新分支或直接将其提交到主分支中。请参考下图

Git Pull

现在,我们已成功提交了更改。

要在本地仓库中拉取这些更改,请在克隆的仓库上执行 git pull 操作。有很多可用于 pull 命令的特定选项。让我们看一下它的一些用法。

默认 git pull

我们可以仅使用 git pull 命令来拉取远程仓库。这是一个默认选项。git pull 的语法如下

语法

输出

Git Pull

在给定的输出中,仓库的最新更新对象通过 git pull 命令获取。它是 git pull 命令的默认版本。它将更新新创建的 design2.css 文件和本地仓库中的相关对象。请参见下图。

Git Pull

正如您在上面的输出中看到的,design2.css 文件已添加到本地仓库。 git pull 命令等效于 git fetch origin headgit merge head。 head 指的是当前分支的 ref。

Git 拉取远程分支

Git 允许获取特定分支。获取远程分支是一个类似的过程,如上面在 git pull 命令中所述。唯一的区别是我们必须复制我们要拉取的特定分支的 URL。为此,我们将选择一个特定的分支。请参见下图

Git Pull

在上面的屏幕截图中,我选择了我的名为 edited 的分支,以复制编辑的分支的 URL。现在,我将从编辑的分支中拉取数据。以下命令用于拉取远程分支

语法

输出

Git Pull

在上面的输出中,已复制了远程分支 edited

Git 强制拉取

Git 强制拉取允许您不惜一切代价拉取您的仓库。假设以下情况

如果您在本地更新了任何文件,而其他团队成员在远程更新了该文件。因此,当您获取仓库时,可能会产生冲突。

我们可以说强制拉取用于覆盖文件。如果我们想放弃本地仓库中的所有更改,那么我们可以通过有影响力地拉取它来覆盖它。请考虑以下强制拉取仓库的过程

第 1 步:使用 git fetch 命令从远程下载最新更新,而不合并或变基。

第 2 步:使用 git reset 命令使用从远程获取的更新来重置主分支。 hard 选项用于强制将本地仓库中的所有文件更改为远程仓库。

考虑下面的输出

Git Pull

在上面的输出中,我更新了我的 design2.css 文件并强制将其拉取到仓库中。

Git Pull Origin Master

还有另一种拉取仓库的方法。我们可以使用 git pull 命令来拉取仓库。语法如下

在上面的语法中,术语 origin 代表远程仓库所在的位置。 Master 被认为是项目的主分支。

考虑下面的输出

Git Pull

它将使用远程仓库覆盖本地仓库的现有数据。

您可以检查您的仓库的远程位置。要检查仓库的远程位置,请使用以下命令

给定的命令将导致一个远程位置,如下所示

输出显示了 fetch 和 push 两个位置。请参考下图

Git Pull

Git Pull Request(拉取请求)

Pull request(拉取请求)允许您宣布您在分支中所做的更改。一旦打开拉取请求,您就可以讨论和审查其他人所做的更改。它允许在合并到主分支之前审查提交。

当您在 GitHub 项目中提交更改并且您希望其他成员审查时,将创建拉取请求。您可以将更改提交到新分支或现有分支中。

创建拉取请求后,您可以从您的分支推送提交,以将它们添加到您现有的拉取请求中。

如何创建拉取请求

要创建拉取请求,您需要创建一个文件并将其提交为新分支。正如我们在本主题前面提到的,如何提交文件以使用 git pull。从页面底部选择选项“为此提交创建一个新分支并启动拉取请求”。输入新分支的名称。选择页面底部的建议一个新文件的选项。请参考下图。

Git Pull

在上图中,我选择了所需的选项并将文件命名为 PullRequestDemo。选择建议一个新文件的选项。它将打开一个新页面。选择选项创建拉取请求。请参考下图

Git Pull

现在,您已创建了拉取请求。人们可以看到此请求。他们可以通过选择已合并的拉取请求将此请求与其他分支合并。


下一个主题Git Push(推送)