Git - Pull命令

Git - Pull命令 首页 / Git入门教程 / Git - Pull命令

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

Git Pull

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

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

Git Pull

Git Pull command

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

git pull命令的语法如下:

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

其中:

<option>  -  选项是命令;这些命令在特定命令中用作附加选项。选项可以是-q(quiet),-v(verbose),-e(edit)等。

<repository URL>   - 存储库URL是远程存储库的URL,您已在其中存储了原始存储库(如GitHub或任何其他git服务),这个网址看起来像:

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

要访问此URL,请在GitHub上转到您的帐户,然后选择要克隆的存储库。之后,从存储库菜单中单击Clone or Downwload选项。将打开一个新的弹出窗口,从可用选项中选择Clone with HTTPS。请参见以下屏幕截图:

Git Pull

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

<Refspec>  -   引用是指提交,例如,head(branch),tags和remote branches。您可以在本地存储库的.git / ref目录中检查head,tag和远程存储库, Refspec指定并更新引用。

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

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

Git Pull

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

Git Pull

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

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

Default Git pull

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

$ git pull

输出:

Git Pull

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

Git Pull

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

Git Pull Remote Branch

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

Git Pull

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

语法:

$ git pull <remote branch URL>

输出:

Git Pull

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

Git Force Pull

Git强制拉动允许不惜一切代价拉动您的存储库。假设以下情况:

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

我们可以说 force pull 用于覆盖文件。如果我们要放弃本地存储库中的所有更改,则可以通过有影响地拉动它来覆盖它。考虑以下过程来强制拉存储库:

第1步 - 使用git fetch命令可从远程下载最新更新,而无需合并或重新定基础。

$ git fetch -all

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

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

考虑以下输出:

Git Pull

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

Git Pull Origin Master

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

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

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

考虑以下输出:

Git Pull

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

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

$ git remote -v

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

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

输出显示获取和推送两个位置。考虑下图:

Git Pull

Git Pull Request

Pull Request允许在分支中所做的更改,在GitHub项目中进行更改时创建,并且希望其他成员对其进行审核。您可以将更改提交到新分支或现有分支中。

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

要创建拉取请求,您需要创建一个文件并将其提交为新分支。如本主题前面所述,如何使用git pull提交文件。从页面底部选择选项" Create a new branch for this commit and start a pull request "。输入新分支的名称,选择页面底部的Propose new file 的选项。考虑下图。

Git Pull

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

Git Pull

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

即时消息技术剖析与实战 -〔袁武林〕

分布式技术原理与算法解析 -〔聂鹏程〕

Selenium自动化测试实战 -〔郭宏志〕

To B市场品牌实战课 -〔曹林〕

物联网开发实战 -〔郭朝斌〕

高楼的性能工程实战课 -〔高楼〕

零基础入门Spark -〔吴磊〕

中间件核心技术与实战 -〔丁威〕

Kubernetes入门实战课 -〔罗剑锋〕

好记忆不如烂笔头。留下您的足迹吧 :)