美文网首页
[Git] git fetch和git pull的区别

[Git] git fetch和git pull的区别

作者: Speronie | 来源:发表于2017-09-15 00:25 被阅读47次

    原文链接

    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前,我们可以查看更新情况,然后再决定是否合并

    相关文章

      网友评论

          本文标题:[Git] git fetch和git pull的区别

          本文链接:https://www.haomeiwen.com/subject/gdwjsxtx.html