图解Git合并--Merge和Rebase

项目初始情况

Merge

fast-forward

快速合并,直接把指针指向前去,无冲突要解决。

非 fast-forward

保留历史记录,解决冲突

设置 non fast-forward

即使能快速合并,也搞出一个合并的点,保留历史记录

Rebase

假设当前状况为这样

此时rebase,则把rebase的历史记录插到master的头上

结果就是好像learn-rebase这个分支不存在一样

对比 merge 和 rebase 最终的历史记录,可以发现 merge 保持了修改内容的历史记录,但是历史记录会很复杂;而 rebase 后的历史记录简单,是在原有提交的基础上将差异内容反映进去。

建议:

  1. 和同事分别开发2个分支功能时,同事时不时会提交到master分支,尽量及时rebase上游分支,这样你最终合并时可以把同事的代码带上,而不是最终解决大量冲突。

原文发布于微信公众号 - 林欣哲(gh_aba6caba3ac7)

原文发表时间:2018-04-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏自然语言处理

GitHub简明操作指南

GitHub的是版本控制和协作代码托管平台。它可以让你和其他人的项目从任何地方合作。Git也是目前世界上最先进的分布式版本控制系统(没有之一)。最初编写用作Li...

1012
来自专栏跟着阿笨一起玩NET

搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法

转自http://kkworms.blog.51cto.com/540865/558477

2.1K1
来自专栏信安之路

linux常用下载工具

wget ‐‐output-document=myname.iso http://example.com/file.iso

970
来自专栏实用工具入门教程

如何搭建微信订阅号后台服务

微信公众号后台自带的功能可能有时不能满足我们的需要,这时候我们就需要搭建自己的服务端。本实验带您从零开始,基于 NodeJS 搭建起一个可以支撑微信订阅号自动回...

1.6K4
来自专栏noteless

eclipse 创建maven 项目 动态web工程完整示例

注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了

1261
来自专栏岑玉海

通过ambari安装hadoop集群(二)

开始安装,输入主机名字,然后选择私钥 ? ? 注意java_home那里需要改为/usr/jdk64/jdk1.6.0_31,然后点击确认,它会出一个警告提示,...

3516
来自专栏mathor

键盘快速启动工具——Launchy

1884
来自专栏上善若水

S005SELinux(SEAndroid)的实际文件组成无标题文章

SEAndroid 是将SELinux 移植到Android 上的产物,可以看成SELinux 辅以一套适用于Android 的策略。

1895
来自专栏决胜机器学习

RabbitMQ(二) ——工作队列

RabbitMQ(二)——工作队列 (原创内容,转载请注明来源,谢谢) 一、概述 工作队列模式(work queue),是有多个消费者的情况下,可以共同消费队...

3094
来自专栏上善若水

051Android 虚拟机基本概念无标题文章

1144

扫码关注云+社区

领取腾讯云代金券