天天看点

git fetch与pull区别

fetch和pull的区别

1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge

git fetch origin master
git log -p master origin/master
git merge origin/master      

以上命令的含义:

首先从远程的 origin 的 master 主分支下载最新的版本到 origin/master 分支上

然后比较本地的 master 分支和 origin/master 分支的差别

最后进行合并

上述过程其实可以用以下更清晰的方式来进行:

git fetch origin master:tmp
git diff tmp
git merge tmp      

2. git pull:相当于是从远程获取最新版本并 merge 到本地

git pull origin master