git pull 和 git fetch的区别
git pull 和 git fetch的区别
今天在玩Sourcetree时,关于pull和fetch操作不知道如何区分。Google后发现两者有如下区别:
git pull 和 git fetch的区别
git pull = git fetch + merge to local
git pull: 下拉远程分支并与本地分支合并,
如:1234567 当你在 master 下 git pull 等于 fetch origin,然后 merge origin/master 当你在 develop 下 git pull 等于 fetch origin,然后 merge origin/develop
git fetch: 相当于是从远程获取最新版本到本地,不会自动merge,怎么合并,可以自己再做选择。
比如:123git fetch origin master:tmpgit diff tmp git merge tmp
从远程获取最新的版本到本地的tmp分支上,之后再进行比较合并,还是等同于:git pull origin master。
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
