Git Pull-获取并合并更改
在本教程中,我们将学习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分支中。
拉操作之后,本地主分支指针和远程主分支(源/主)指针都将指向同一提交,如上图所示。