程序员社区

Git系列教程 --- 38、Git 的Pull 命令详解

术语 pull 用于从 GitHub 接收数据。它从远程服务器获取更改并将其合并到您的工作目录。该混帐拉命令是用来拉的存储库。

file

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

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

file

“git pull”命令

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

git pull 命令的语法如下:

句法:

$ git pull <option> [<repository URL><refspec>...]  

其中:

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

Repository URL 是您的远程存储库的 URL,您将原始存储库(如 GitHub 或任何其他 git 服务)存储在其中。这个网址看起来像:

https://github.com/ImDwivedi1/GitExample2.git  

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

file

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

一个ref是指commit,例如head(分支)、tags、远程分支。您可以在本地存储库的.git/ref目录中检查头部、标签和远程存储库。Refspec指定和更新 refs。

如何使用拉:

了解它是如何工作的以及如何使用它是必不可少的。让我们举一个例子来了解它是如何工作的以及如何使用它。假设我已经添加了一个新的文件说design2.css在我的项目GitExample2的远程仓库。

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

file

转到页面底部,选择提交消息和文件描述。选择是创建新分支还是直接在主分支中提交。考虑下图:

file

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

要在本地存储库中提取这些更改,请对克隆的存储库执行 git pull 操作。有许多可用于 pull 命令的特定选项。让我们来看看它的一些用法。

默认 git pull:

我们只需使用 git pull 命令就可以拉取远程存储库。这是默认选项。git pull 的语法如下:

句法:

$ git pull  

输出:

file

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

file

正如您在上面的输出中看到的,design2.css 文件被添加到本地存储库中。git pull 命令等价于git fetch origin headgit merge head。头部被称为当前分支的引用。

Git 拉取远程分支

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

file

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

句法:

$ git pull <remote branch URL>  

输出:

file

在上面的输出中,编辑的远程分支已经复制。

Git 强制拉取

Git force pull 允许不惜一切代价拉你的仓库。假设以下场景:

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

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

Step1:使用git fetch命令从远程下载最新更新,无需合并或rebase。

$ git fetch -all  

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

$ git reset -hard <remote>/<branch_name>  
$ git reset-hard master  

考虑以下输出:

file

在上面的输出中,我更新了我的 design2.css 文件并将其强行拉入存储库。

Git 拉Origin Master

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

$ git pull <options><remote>/<branchname>  
$ git pull origin master  

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

考虑以下输出:

file

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

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

$ git remote -v  

给定的命令将导致这样的远程位置:

origin  https://github.com/ImDwivedi1/GitExample2 (fetch)  
origin  https://github.com/ImDwivedi1/GitExample2 (push) 

输出显示 fetch 和 push 两个位置。考虑下图:

file

Git 拉取请求

拉取请求允许您宣布您在分支中所做的更改。打开拉取请求后,您就可以交谈并查看其他人所做的更改。它允许在合并到主分支之前审查提交。

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

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

如何创建拉取请求

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

file

在上图中,我选择了所需选项并将文件命名为PullRequestDemo。选择建议新文件的选项。它将打开一个新页面。选择选项create pull request。考虑下图:

file

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

赞(0) 打赏
未经允许不得转载:IDEA激活码 » Git系列教程 --- 38、Git 的Pull 命令详解

一个分享Java & Python知识的社区