文档章节

Git 小课堂 004

我是任玉琢
 我是任玉琢
发布于 02/22 12:01
字数 556
阅读 89
收藏 0

rebase——变基,就是这个可能会把事情搞得一团糟的操作。

对于变基,我只能说,需要一个配合默契的团队,你们心灵想通,互相了解,然后你们会做出非常漂亮的事情。对于使用变基且几乎不会出问题的团队,我一般都是由衷的赞叹和羡慕,因为真的是一群非常好的小伙伴,这样的同事在一起工作应该是非常开心的。 某次提交 commit id 为 master,基于此,有两个分支 master'(在 master 基础上有新的提交进行了更改) 和 develop,我要把 develop 的修改放到 master' 的后面,我需要做的是(git rebase master develop; git merge develop):

git checkout develop
git rebase master'
git checkout master'
git merge develop

其中 rebase 的操作实际的过程是先找到 master' 和 develop 共同的基底,再将 develop 的每次修改暂存下来,然后将当前分支指向目标基底,再将暂存依次应用到目标基底,依次应用暂存修改。这样提交记录就是一条线了,尤其适用于向一些他人维护的项目提交 pr。rebase 还有更方便的用法,是 rebase --onto,这个就厉害了,可以让你的提交记录灵活更改,你会用吗?

都是合并代码,但 rebase or merge,这是问题,我不想加入争辩,各有道理,我们需要做的更多是把两个都会用,在不同的时候你自然会做出正确的选择。对了,rebase 还可以做一些 merge 做不到的事情。提一个小问题吧: 某一个项目的提交记录是:A->B->C->D->E,发现第三次修改 C应该被抛弃(A->B->D->E),文如何用 rebase 达到目的?答案请到 git rebase --help 中自行寻找。

wechat_ercode.png

© 著作权归作者所有

我是任玉琢
粉丝 11
博文 52
码字总数 67642
作品 0
东城
后端工程师
私信 提问
加载中

评论(0)

Activiti 工作流学习(二)

上一篇 Activiti 工作流学习(一) 今天要在IDEA中导入Activiti DEMO项目,参考 咖啡兔子大神 的书籍《Activiti 实战》 1、在书籍作者的git上下载demo源码 Github -> https://github.com/hen...

雷斯林
2016/12/09
850
1
给Git配置SSH后,妈妈再也不担心我忘记输密码了

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 1. 前言 Git 已经成为我们开发最流行的版本控制工具了,Git 支持多种传输协议,其中...

云栖号资讯小哥
03/25
0
0
【备忘】2017最新妙味课堂VIP视频教程全套 无加密

下载地址 http://www.ai998.cn/thread-1107-1-1.html 【备忘】2017最新妙味课堂VIP视频教程全套 无加密 课程大纲 01:PhotoShop基础 02:代码入门篇 03:HTML5基础 04:HTML5高级 05:HTML+...

qq_38155396
2017/08/30
0
0
Gearman安装及测试

一、本地环境安装 服务器环境: Ubuntu 14.04 1. 获取gearmand安装包 > wget https://launchpad.net/gearmand/1.0/1.0.1/+download/gearmand-1.0.1.tar.gz > tar xzvf gearmand-1.0.1.tar.gz......

邪恶的小Y
2016/07/20
45
0
sharevdi X1进入FEL BOOT

HELLO! BOOT0 is starting! boot0 version : 2.0.0 � read dram para. dram driver version: 1.15 dram size =256MB 0xffbffbff superstandbyflag = 0 Succeed in opening nand flash. bloc......

Andy
2015/12/22
185
0

没有更多内容

加载失败,请刷新页面

加载更多

如何从Joomla垃圾箱中删除文章

Joomla允许您删除文章,但是除非您采取其他步骤,否则它不会永久删除它们。 Joomla的垃圾桶类似于PC和Mac的垃圾桶。将项目发送到垃圾桶是可以撤消的操作。 在这个简短的教程中,我将向您展示...

六艺网络专注于Joomla
1分钟前
0
0
图解kubernetes命令执行核心实现

K8s中的命令执行由apiserver、kubelet、cri、docker等组件共同完成, 其中最复杂的就是协议切换以及各种流拷贝相关,让我们一起来看下关键实现,虽然代码比较多,但是不会开发应该也能看懂,祝你...

8小时
6分钟前
6
0
sh和bash之间的区别 - Difference between sh and bash

问题: When writing shell programs, we often use /bin/sh and /bin/bash . 在编写shell程序时,我们经常使用/bin/sh和/bin/bash 。 I usually use bash , but I don't know what's the d......

技术盛宴
18分钟前
13
0
spring - 使用profile来管理环境信息

程序一般都会有开发环境、测试环境以及线上环境,这些环境下程序运行依赖的基础一般不同,例如在有数据源访问的程序中,开发时可能使用了嵌入式数据库,而到测试环境上会使用独立的mysql,正...

閒散人員
21分钟前
7
0
如何实现项目流程自动化

多人协作复杂的任务,团队成员间的分工和沟通就非常必要。现在Zoho projects 项目管理软件中,配合使用蓝图功能,讲让工作事半功倍。 蓝图功能可以解决繁琐的邮件沟通问题,并使任务更加有序...

Zoho云服务
24分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部