git fetch和git pull的区别
2016-01-08 11:10
351 查看
原文: http://www.tech126.com/git-fetch-pull/
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
从远程获取最新的版本到本地的test分支上
之后再进行比较合并
2. git pull:相当于是从远程获取最新版本并merge到本地
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
结束
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
<pre name="code" class="prettyprint" style="line-height:25px; padding-top:2px; padding-right:2px; padding-bottom:2px; padding-left:2px; border-top-width:1px; border-right-width:1px; border-bottom-width:1px; border-left-width:1px; border-top-style:solid; border-right-style:solid; border-bottom-style:solid; border-left-style:solid; border-top-color:rgb(136,136,136); border-right-color:rgb(136,136,136); border-bottom-color:rgb(136,136,136); border-left-color:rgb(136,136,136)"><span class="pln" style="color:#000000;line-height:23px;">git fetch origin master</span><br style="line-height:23px" /><span class="pln" style="color:#000000;line-height:23px;">git log </span><span class="pun" style="color:#66660;line-height:23px;">-</span><span class="pln" style="color:#000000;line-height:23px;">p master</span><span class="pun" style="color:#66660;line-height:23px;">..</span><span class="pln" style="color:#000000;line-height:23px;">origin</span><span class="pun" style="color:#66660;line-height:23px;">/</span><span class="pln" style="color:#000000;line-height:23px;">master</span><br style="line-height:23px" /><span class="pln" style="color:#000000;line-height:23px;">git merge origin</span><span class="pun" style="color:#66660;line-height:23px;">/</span><span class="pln" style="color:#000000;line-height:23px;">master</span>
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
<pre name="code" class="prettyprint" style="line-height:25px; padding-top:2px; padding-right:2px; padding-bottom:2px; padding-left:2px; border-top-width:1px; border-right-width:1px; border-bottom-width:1px; border-left-width:1px; border-top-style:solid; border-right-style:solid; border-bottom-style:solid; border-left-style:solid; border-top-color:rgb(136,136,136); border-right-color:rgb(136,136,136); border-bottom-color:rgb(136,136,136); border-left-color:rgb(136,136,136)"><p style="line-height:25px; margin-top:0px; margin-bottom:10px; padding-top:0px; padding-bottom:0px"><span style="font-family:'Trebuchet MS',Tahoma,Arial;font-size:12px;color:#333333;line-height:23px"><span style="line-height:19px"><span class="pln" style="color:#000000;line-height:23px;">git fetch origin master</span><span class="pun" style="color:#66660;line-height:23px;">:</span><span class="pln" style="color:#000000;line-height:23px;">tmp</span></span></span><br style="line-height:25px" /><span style="font-family:'Trebuchet MS',Tahoma,Arial;font-size:12px;color:#333333;line-height:23px"><span style="line-height:19px"><span class="pln" style="color:#000000;line-height:23px;">git diff tmp </span></span></span><br style="line-height:25px" /><span style="font-family:'Trebuchet MS',Tahoma,Arial;font-size:12px;color:#333333;line-height:23px"><span style="line-height:19px"><span class="pln" style="color:#000000;line-height:23px;">git merge tmp</span></span></span></p>
从远程获取最新的版本到本地的test分支上
之后再进行比较合并
2. git pull:相当于是从远程获取最新版本并merge到本地
<pre name="code" class="prettyprint" style="line-height:19px; padding-top:2px; padding-right:2px; padding-bottom:2px; padding-left:2px; border-top-width:1px; border-right-width:1px; border-bottom-width:1px; border-left-width:1px; border-top-style:solid; border-right-style:solid; border-bottom-style:solid; border-left-style:solid; border-top-color:rgb(136,136,136); border-right-color:rgb(136,136,136); border-bottom-color:rgb(136,136,136); border-left-color:rgb(136,136,136); color:rgb(51,51,51); font-family:'Trebuchet MS',Tahoma,Arial; font-size:13px"><span class="pln" style="color:#000000;line-height:23px;">git pull origin master</span>
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
结束
相关文章推荐
- javascript动态插入和删除表格行
- chrome://inspect调试html页面空白,DOM无法加载的解决方案
- NodeJs中庸node-inspector调试
- jquery中的全局事件
- jQuery抛物线运动实现方法(附完整demo源码下载)
- HTML5之服务器发送事件
- Html技巧 语义化你的代码
- 通过javascript实现页面的横竖屏固定
- 初探前端模块化规范(AMD,CommonJS,UMD,CMD)
- jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式
- jquery 表单验证
- jquery序列化元素
- 使用Gson解析复杂的json数据
- 基于javascript实现右下角浮动广告效果
- js
- js setTimeout 延迟函数中的this
- NodeJS(四)Mac下如何安装package.json里面会产生依赖项
- jQuery数据类型小结(14个)
- 《Effective java》读书记录-第13条-使类和成员的可访问性最小化
- [leetcode] 25. Reverse Nodes in k-Group 解题报告