Git中从远程的分支获取最新的版本到本地有这样2个命令:

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

<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span style="line-height: 19px; font-family: 'Trebuchet MS', Tahoma, Arial; font-size: 13px;"><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">    </span></span><br style="line-height: 23px;" /><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">git fetch origin master</span><br style="line-height: 23px;" /><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">git log </span><span class="pun" style="line-height: 23px; color: rgb(102, 102, 0);">-</span><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">p master</span><span class="pun" style="line-height: 23px; color: rgb(102, 102, 0);">..</span><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">origin</span><span class="pun" style="line-height: 23px; color: rgb(102, 102, 0);">/</span><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">master</span><br style="line-height: 23px;" /><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">git merge origin</span><span class="pun" style="line-height: 23px; color: rgb(102, 102, 0);">/</span><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">master</span></p>

以上命令的含义:

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

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

   最后进行合并

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

<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span style="font-family: 'Trebuchet MS', Tahoma, Arial; font-size: 12px; line-height: 23px;"><span style="line-height: 19px;"><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">git fetch origin master</span><span class="pun" style="line-height: 23px; color: rgb(102, 102, 0);">:</span><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">tmp</span></span></span>
<span style="font-family: 'Trebuchet MS', Tahoma, Arial; font-size: 12px; line-height: 23px;"><span style="line-height: 19px;"><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">git diff tmp </span></span></span>
<span style="font-family: 'Trebuchet MS', Tahoma, Arial; font-size: 12px; line-height: 23px;"><span style="line-height: 19px;"><span class="pln" style="line-height: 23px; color: rgb(0, 0, 0);">git merge tmp</span></span></span></p>

从远程获取最新的版本到本地的test分支上

   之后再进行比较合并

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

<p style="line-height: 23px; margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);">git pull origin master</span></p>

上述命令其实相当于git fetch 和 git merge

在实际使用中,git fetch更安全一些

因为在merge前,我们可以查看更新情况,然后再决定是否合并

结束

git fetch pull checkout区别的更多相关文章

  1. Git fetch & pull 区别

    1 简单概括 2 git fetch 的用法 3 git pull的用法 文章来源:https://blog.csdn.net/qq_36113598/article/details/78906882

  2. Git fetch & pull

    转:https://blog.csdn.net/qq_36113598/article/details/78906882 1.简单概括 先用一张图来理一下git fetch和git pull的概念: ...

  3. git fetch & pull详解

    1.简单概括 先用一张图来理一下git fetch和git pull的概念: 可以简单的概括为: git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中. 而g ...

  4. Git 协作:Fetch Pull Push Branch Remote Rebase Cherry-pick相关

    前言 学习git的时候,我们首先学习的是最常用的,自己独立开发Software时用的命令: git init //初始化git仓库 git add <file_name> //将文件添加到 ...

  5. git fetch和git pull对比

    情景重现 你:面试官您好,我是xxx,毕业于xxx学校,工作xxx年,精通各种git命令. 面试官:您好您好,我问个常见的问题考察一下您的技术水平哈.请问,git pull和git fetch有什么区 ...

  6. git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).

    Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 解决办法一:保 ...

  7. git fetch和git pull之间的区别--转载

    原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...

  8. GIT(6)----fork和clone的区别,fetch与pull的区别

    参考资料: [1].Git学习笔记:fork和clone的区别,fetch与pull的区别 [2].在Github和Git上fork之简单指南

  9. git clone、git pull和git fetch的用法及区别

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...

随机推荐

  1. 基于jQuery弹性展开收缩菜单插件gooey.js

    首先 引入css <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel ...

  2. KVM设置DHCP、DNS、Gateway

    添加网卡 sudo vi /etc/network/interfaces #添加下面的配置 >>>>>>>> auto tap0 iface tap0 ...

  3. [转]cmd-bat批处理命令延时方法

    批处理延时启动的几个方法 方法一:ping 缺点:时间精度为1秒,不够精确 @echo off @ping 127.0.0.1 -n 6 >nul start gdh.txt 方法二:vbs s ...

  4. C#打印

    public partial class Form1 : Form { PrintDocument printDocument; StringReader lineReader = null; pub ...

  5. HDU - 2290 Find the Path(最短路)

    HDU - 2290 Find the Path Time Limit: 5000MS   Memory Limit: 64768KB   64bit IO Format: %I64d & % ...

  6. Gulp构建

    整理自 https://markpop.github.io/2014/09/17/Gulp%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/ 已经有package.json 第 ...

  7. 定时器 QuartZ Cron表达式

    CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表. CronT ...

  8. onS 记录

    1.用户的解锁                                                         用户因多次登录失败而被锁的情况下,可用faillog命令来解锁.具体如下 ...

  9. 一行一行分析JQ源码学习笔记-05

    创建字符串<li></li>$.function(){var str =} merge;用法 对外组数何必 对内部 还可以json合并var arr = ["a&qu ...

  10. IE6下的bug

    一.IE6双倍边距bug 当页面上的元素使用float浮动时,不管是向左还是向右浮动:只要该元素带有margin像素都会使该值乘以2,例如“margin-left:10px” 在IE6中,该值就会被解 ...