玩转GIT系列之【git pull和git fetch的区别】
大家都知道,git中从远程的分支获取最新的版本到本地有2个命令,git pull和git fetch。但是,这两个命令究竟有什么区别?使用时候该怎么选择呢?很多人不是很清楚,我自己也不是很清楚。今天就特地从网上找了些相关资料,进行了总结,便于以后查阅。
1、git fetch
从远程拉取最新的版本到本地仓库,但是不会自动merge。fetch之后,如果没有后续的merge操作,那么你看到的代码仍然是你自己修改的代码,而不是最新的服务器端的代码。所以,严格来说,如果要把服务器端的代码真正合并到你的分支上,你需要执行以下几个步骤:
git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上。
然后查看日志,比较本地的master分支和origin/master分支的差别。
最后进行合并。
上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp
git diff tmp
git merge tmp
从远程获取最新的版本到本地的tmp分支上。
之后再进行比较合并。
2、git pull
相当于是从远程获取最新版本并立即merge到本地的版本上。
git pull origin master
上述命令其实相当于git fetch 和 git merge,两个操作一步到位。
注意:在实际使用中,git fetch更安全一些。
因为在merge前,我们可以查看更新情况,然后再决定是否合并。
玩转GIT系列之【git pull和git fetch的区别】相关推荐
- 玩转GIT系列之【如何配置GIT的用户名/密码/密钥】
安装完Git之后,必须对其进行设置,否则将无法联网工作. 1.设置用户名和邮箱 首先必须设置git的用户名和邮箱地址,否则的话,你往服务器git push时会失败. $ git config --gl ...
- Git系列(一)、Git基础教程【建议收藏】
Git基础教程 一.Git简介 1.1.什么是Git? 1.2.Git的特点 1.3.集中式与分布式的区别? 1.4.什么是版本控制系统? 1.5.Git下载安装 1.5.Git配置 1.6.Git ...
- Git系列(二)、Git连接远程仓库(Gitee码云)
Git连接远程仓库 一.什么是Git远程仓库? 二.创建远程仓库 第一步:新建仓库 第二步:创建SSH公钥 第三步:查看公钥 第四步:登录码云Gitee,打开当前仓库设置,添加SSH公钥 第五步:从本 ...
- 玩转GIT系列之【如何放弃本地/服务器端所做的修改】
今天遇到一个问题,就是在git工程下修改了一些代码,结果发现搞错了,需要撤销掉所有改动的内容,还原到之前的初始版本,换言之就是放弃自己在本地所做的修改.该怎么做呢?要分以下几种情况来区别对待: 一.尚 ...
- 玩转GIT系列之【git切换到某个tag之后提示“detached HEAD】
git clone 整个仓库后使用 git checkout tag_name 就可以取得该 tag 对应的代码了. 但是,这时候 git 可能会提示你当前处于一个"detached HEA ...
- Git 系列(二):初步了解 Git
在这个系列的介绍篇中,我们学习到了谁应该使用 Git,以及 Git 是用来做什么的.今天,我们将学习如何克隆公共 Git 仓库,以及如何提取出独立的文件而不用克隆整个仓库. 由于 Git 如此流行,因 ...
- Git系列:git push -u origin master命令理解
Git系列:git push -u origin master命令理解 git push -u origin master git push -u origin master 相当于 git bran ...
- GIT科普系列5:index in git
背景: git的使用其实没有想象中的那么复杂,平日里真正使用的指令都是极少数.最简单格式的.之所以使用过程中感觉操作复杂.冲突不断,究其根源是对git的设计理念缺乏了解,没有搞清楚git实现版本控制的 ...
- Git系列:常用操作一指禅
Git操作一指禅 远程建仓,本地拉取代码 代码提交 版本回退 其他操作 扩展参考 Git系列博客: Git系列:GitHub建仓及远端同步步骤总结,link Git系列:入门必备指令详解,link G ...
最新文章
- h265player开发
- 你见过最差的算法工程师都有哪些表现?
- python中do的用法,如何使用docplex(python)对优化问题中的约束进行建模?
- Win7/Win8.1升级Win10后屏幕一直闪烁怎么办?
- JavaScript 需要清楚的10件事
- 陌陌宣布由总裁兼COO王力担任公司新任CEO
- TCP的三次握手和四次挥手理解及面试题
- live2d_Live2D | CubismSdkForUnity4r.1简介(上)
- 编解码格式 -- AAC
- 互联网下一个风口 国务院印发《促进大数据发展行动纲要》
- IT从业者创业公司生存指南:创业后记 ---- 百感交集的过来人
- QT编译错误:cannot find file: *.pro
- mysql如果忘记密码怎么办
- 荣誉加持,驭势科技近期斩获奖项回顾
- linux编译谷歌浏览器方法,构建Linux版本的谷歌Chrome浏览器
- 「塔望咨询」×「皇品食品」2022上半年营销集锦
- 3.1.5 操作系统之动态分区分配的四种算法(首次适应算法、最佳适应算法、最坏适应算法、临近适应算法)
- Spring Boot Admin2 @EnableAdminServer的加载
- java utf8 简繁转换 类库_java简繁转换(区分港台)
- 《Spring实战》读书笔记2