Git Pull / Pull Request (拉取请求)17 Mar 2025 | 6 分钟阅读 “Pull(拉取)”这个术语用于从 GitHub 接收数据。它从远程服务器获取更改并将更改合并到您的工作目录中。 git pull 命令用于拉取仓库。 ![]() Pull request(拉取请求)是开发人员通知团队成员他们已完成功能的过程。一旦他们的功能分支准备就绪,开发人员就会通过其远程服务器帐户提交拉取请求。拉取请求会通知所有团队成员,他们需要审查代码并将其合并到主分支中。 下图演示了 pull 在不同位置之间的作用,以及它与其他相关命令的相似或不同之处。 ![]() “git pull”命令pull 命令用于访问从远程仓库到本地仓库的更改(提交)。它使用远程跟踪分支更新本地分支。远程跟踪分支是已设置为从远程仓库推送和拉取的分支。通常,它是 fetch 和 merge 命令的集合。首先,它从远程获取更改并将其与本地仓库组合。 git pull 命令的语法如下 语法 其中 <option>: 选项是命令;这些命令用作特定命令中的附加选项。选项可以是 -q(安静)、-v(详细)、-e(编辑)等等。 <repository URL>: 仓库 URL 是您的远程仓库的 URL,您可以在其中存储您的原始仓库,例如 GitHub 或任何其他 git 服务。此 URL 看起来像 要访问此 URL,请转到您在 GitHub 上的帐户,然后选择要克隆的仓库。之后,单击仓库菜单中的克隆或下载选项。将打开一个新的弹出窗口,从可用选项中选择使用 https 选项克隆。请参见下面的屏幕截图 ![]() 复制突出显示的 URL。此 URL 用于克隆仓库。 <Refspec>: ref 指的是提交,例如 head(分支)、标签和远程分支。您可以在本地仓库的 .git/ref 目录中检查 head、标签和远程仓库。 Refspec 指定并更新 refs。 如何使用 pull 了解它的工作原理以及如何使用它至关重要。让我们举一个例子来了解它的工作原理以及如何使用它。假设我在项目 GitExample2 的远程仓库中添加了一个新文件,比如 design2.css。 要创建文件,首先,转到仓库子功能上给定的创建文件选项。之后,选择文件名并根据需要编辑文件。请参考下图。 ![]() 转到页面底部,选择提交消息和文件描述。选择您是否要创建一个新分支或直接将其提交到主分支中。请参考下图 ![]() 现在,我们已成功提交了更改。 要在本地仓库中拉取这些更改,请在克隆的仓库上执行 git pull 操作。有很多可用于 pull 命令的特定选项。让我们看一下它的一些用法。 默认 git pull我们可以仅使用 git pull 命令来拉取远程仓库。这是一个默认选项。git pull 的语法如下 语法 输出 ![]() 在给定的输出中,仓库的最新更新对象通过 git pull 命令获取。它是 git pull 命令的默认版本。它将更新新创建的 design2.css 文件和本地仓库中的相关对象。请参见下图。 ![]() 正如您在上面的输出中看到的,design2.css 文件已添加到本地仓库。 git pull 命令等效于 git fetch origin head 和 git merge head。 head 指的是当前分支的 ref。 Git 拉取远程分支Git 允许获取特定分支。获取远程分支是一个类似的过程,如上面在 git pull 命令中所述。唯一的区别是我们必须复制我们要拉取的特定分支的 URL。为此,我们将选择一个特定的分支。请参见下图 ![]() 在上面的屏幕截图中,我选择了我的名为 edited 的分支,以复制编辑的分支的 URL。现在,我将从编辑的分支中拉取数据。以下命令用于拉取远程分支 语法 输出 ![]() 在上面的输出中,已复制了远程分支 edited。 Git 强制拉取Git 强制拉取允许您不惜一切代价拉取您的仓库。假设以下情况 如果您在本地更新了任何文件,而其他团队成员在远程更新了该文件。因此,当您获取仓库时,可能会产生冲突。 我们可以说强制拉取用于覆盖文件。如果我们想放弃本地仓库中的所有更改,那么我们可以通过有影响力地拉取它来覆盖它。请考虑以下强制拉取仓库的过程 第 1 步:使用 git fetch 命令从远程下载最新更新,而不合并或变基。 第 2 步:使用 git reset 命令使用从远程获取的更新来重置主分支。 hard 选项用于强制将本地仓库中的所有文件更改为远程仓库。 考虑下面的输出 ![]() 在上面的输出中,我更新了我的 design2.css 文件并强制将其拉取到仓库中。 Git Pull Origin Master还有另一种拉取仓库的方法。我们可以使用 git pull 命令来拉取仓库。语法如下 在上面的语法中,术语 origin 代表远程仓库所在的位置。 Master 被认为是项目的主分支。 考虑下面的输出 ![]() 它将使用远程仓库覆盖本地仓库的现有数据。 您可以检查您的仓库的远程位置。要检查仓库的远程位置,请使用以下命令 给定的命令将导致一个远程位置,如下所示 输出显示了 fetch 和 push 两个位置。请参考下图 ![]() Git Pull Request(拉取请求)Pull request(拉取请求)允许您宣布您在分支中所做的更改。一旦打开拉取请求,您就可以讨论和审查其他人所做的更改。它允许在合并到主分支之前审查提交。 当您在 GitHub 项目中提交更改并且您希望其他成员审查时,将创建拉取请求。您可以将更改提交到新分支或现有分支中。 创建拉取请求后,您可以从您的分支推送提交,以将它们添加到您现有的拉取请求中。 如何创建拉取请求要创建拉取请求,您需要创建一个文件并将其提交为新分支。正如我们在本主题前面提到的,如何提交文件以使用 git pull。从页面底部选择选项“为此提交创建一个新分支并启动拉取请求”。输入新分支的名称。选择页面底部的建议一个新文件的选项。请参考下图。 ![]() 在上图中,我选择了所需的选项并将文件命名为 PullRequestDemo。选择建议一个新文件的选项。它将打开一个新页面。选择选项创建拉取请求。请参考下图 ![]() 现在,您已创建了拉取请求。人们可以看到此请求。他们可以通过选择已合并的拉取请求将此请求与其他分支合并。 下一个主题Git Push(推送) |
我们请求您订阅我们的新闻通讯以获取最新更新。