文章目录
  1. 1. git pull 和 git fetch的区别
    1. 1.1. git pull 和 git fetch的区别
    2. 1.2. 文章参考

git pull 和 git fetch的区别

今天在玩Sourcetree时,关于pull和fetch操作不知道如何区分。Google后发现两者有如下区别:

git pull 和 git fetch的区别

git pull = git fetch + merge to local

git pull: 下拉远程分支并与本地分支合并,

如:

1
2
3
4
5
6
7
# 当你在 master 下
$ git pull
# 等于 fetch origin,然后 merge origin/master
# 当你在 develop 下
$ git pull
# 等于 fetch origin,然后 merge origin/develop

git fetch: 相当于是从远程获取最新版本到本地,不会自动merge,怎么合并,可以自己再做选择。

比如:

1
2
3
git fetch origin master:tmp
git diff tmp
git merge tmp

从远程获取最新的版本到本地的tmp分支上,之后再进行比较合并,还是等同于:git pull origin master

在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并

文章参考

文章目录
  1. 1. git pull 和 git fetch的区别
    1. 1.1. git pull 和 git fetch的区别
    2. 1.2. 文章参考