首页 > 代码库 > git fetch 和 git pull 的差别

git fetch 和 git pull 的差别

Git中从远程的分支获取最新的版本号到本地有这样2个命令:
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   
 从远程获取最新的版本号到本地的test分支上
   之后再进行比較合并
2. git pull:相当于是从远程获取最新版本号并merge到本地
git pull origin master 
上述命令事实上相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
由于在merge前。我们能够查看更新情况,然后再决定是否合并
结束

git fetch 和 git pull 的差别