git fetch

作者: Muscleape | 来源:发表于2018-09-06 09:59 被阅读24次

    一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令;

    常用命令

    git fetch

    $ git fetch <远程主机名>
    
    • 上面命令将某个远程主机的更新,全部取回本地;
    • git fetch命令通常用来查看其他人的进程,因为它取回的代码对你本地的开发代码没有影响;

    git fetch <远程主机名> <分支名>

    $ git fetch <远程主机名> <分支名>
    
    • 上面命令取回特定分支的更新;
    • 例如:取回origin主机的master分支,如下:
    $ git fetch origin master
    
    • 取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取;

    代码合并

    详细操作步骤

    ## 在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支;
    $ git fetch origin master:temp
    
    ## 比较本地代码与刚刚从远程下载下来的代码的区别;
    $ git diff temp
    
    ## 合并temp分支到本地的master分支;
    $ git merge temp
    
    ## 如果不想保留temp分支,删除;
    $ git branch -d temp
    

    直接使用 git fetch 命令

    git fetch

    • 创建并更新本地远程分支。即创建并更新origin/xxx 分支,拉取代码到origin/xxx分支上;
    • 在FETCH_HEAD中设定当前分支-origin/当前分支对应,如直接到时候git merge就可以将origin/abc合并到abc分支上;

    git fetch origin

    • 手动指定了要fetch的remote。在不指定分支时通常默认为master;

    git fetch origin dev

    • 指定远程remote和FETCH_HEAD,并且只拉取该分支的提交;

    对比git pull

    与git pull相比git fetch相当于是从远程获取最新版本到本地,但不会自动merge。如果需要有选择的合并git fetch是更好的选择。效果相同时git pull将更为快捷;

    相关文章

      网友评论

        本文标题:git fetch

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