Git Pull-获取并合并更改

时间:2020-02-23 14:33:22  来源:igfitidea点击:

在本教程中,我们将学习Git pull,它有助于获取和合并更改。

因此,在上一教程Git Fetch-从远程存储库导入提交中,我们学习了如何使用git fetch命令从远程存储库中获取提交,然后使用git merge命令合并更改。
git pull命令将两者合并为一个命令。
因此,我们使用一个命令来获取并合并提交。

pull提交

我们使用git pull [remote]命令从远程存储库中获取提交到我们当前所在的本地分支的提交,然后合并更改。

因此,如果我们要从远程存储库中获取master分支并将其合并到本地存储库master分支中,那么我们将首先签出master分支,然后运行git pull [remote]命令,它将从中获取master分支。
远程存储库,并将其合并到我们本地存储库的master分支中。

因此,基本上,我们使用git pull命令运行两个命令git fetch和git merge。

$git pull origin

相当于:

$git fetch origin
$git merge origin/[current-branch-name]

注意!在前面的教程Git Remote-与存储库连接中,我们已将远程中央存储库连接命名为源。

可以说,我们团队的其他开发人员已经提交并将更改推送到中央存储库。
现在,这些更改已合并到中央存储库的master分支中。

在上图中,我们的本地主分支用蓝色表示,远程主分支用粉红色表示。
我们可以看到本地master分支位于远程master分支后面,因此,我们将把提交从远程拉到本地。

因此,首先我们将检出master分支。

$git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

$git branch
  dev
* master

现在我们将运行" git pull"命令,该命令将获取并合并远程主分支到本地主分支。

$git pull origin
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:/git-project
   ba36209..cc6d9fc  master     -> origin/master
Merge made by the 'recursive' strategy.
 README.md | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 README.md

因此,从上面的输出中可以看到,我们已经切换到master分支,然后使用git pull origin命令来拉出远程主机的master分支,并将其合并到本地master分支中。

拉操作之后,本地主分支指针和远程主分支(源/主)指针都将指向同一提交,如上图所示。