[Git] git fetch和git pull的区别

原文链接

1. git fetch

相当于是从远程获取最新版本到本地,不会自动merge。

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

以上命令的含义:

  1. 首先从远程的origin的master主分支下载最新的版本到origin/master分支上
  2. 然后比较本地的master分支和origin/master分支的差别
  3. 最后进行合并

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

git fetch origin master:tmp
git diff tmp 
git merge tmp
  1. 从远程获取最新的版本到本地的tmp分支上
  2. 之后再进行比较及合并

2. git pull

相当于是从远程获取最新版本并merge到本地

git pull origin master

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 吵架啊,吵架,我们为什么会吵架?我们吵架的意义是什么? 吵架其实也是门学问啊,会吵才是本事。 记得朋友小君,她在外...
    不着急小姐阅读 391评论 0 0
  • 8班第一节课。预备铃响,1班课代表匆匆来交作业,5位同学没有交,问是谁,说不清是谁,就让她拿回去查清楚再来交。到8...
    绿百合阅读 90评论 0 0
  • 十五的月儿圆又圆,初七初八少半边; 满天星星乱糟糟, 乌云一遮静悄悄。 多么熟悉的‘还珠语录’! 《还珠格格》曾...
    西洛可儿阅读 328评论 1 2