Git 小课堂 004
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 中自行寻找。
Git 小课堂 004的更多相关文章
- Git 小课堂 002——别名
昨天我们聊了聊 Git 的文件存储,今天我们聊聊 Git 的别名.不知道你是不是熟悉别名,如果你经常使用命令行做一些事情,有一些复杂的命令,或者是一些简单的操作,往往用一些别名方法就很方便很容易,下面 ...
- 小课堂Week12 Clean Code Part1
小课堂Week12 Clean Code Part1 今天的主题是函数,让我们看一个函数,找一找其中的"不整洁". 我们也根据这段代码,讨论下对于整洁代码的两个重要原则. publ ...
- 小课堂Week11 会说话的代码
小课堂Week11 会说话的代码 今天主要讨论下,在编码过程中和"命名"相关的问题.因为命名方法比较自由,如果要提高可读性,我们需要尽量使其符合正规的英文语法习惯. 变量/属性 通 ...
- 小课堂Week10 例外处理设计的逆袭Part3
小课堂Week10 例外处理设计的逆袭Part3 今天是<例外处理设计的逆袭>这本书阅读的第三天,也是最后一天,我们会主要通过实例,对Part2中提出的例外处理等级进行解读. Level1 ...
- 小课堂Week9 例外处理设计的逆袭Part2
小课堂Week9 例外处理设计的逆袭Part2 今天继续阅读<例外处理设计的逆袭>这本书,我们先看两个案例: 案例1 问:如果要设计一个依据学号到数据库中查询学生资料的函数,当找不到符合条 ...
- 小课堂Week8 例外处理设计的逆袭Part1
小课堂Week8 例外处理设计的逆袭Part1 今天和大家讲一本书,书名是<例外处理设计的逆袭>. 为什么想讲这本书,是因为,例外处理在程序代码中到处存在,但是这些到底该如何写好,总觉得有 ...
- Spark小课堂Week7 从Spark中一个例子看面向对象设计
Spark小课堂Week7 从Spark中一个例子看面向对象设计 今天我们讨论了个问题,来设计一个Spark中的常用功能. 功能描述:数据源是一切处理的源头,这次要实现下加载数据源的方法load() ...
- Spark小课堂Week6 启动日志详解
Spark小课堂Week6 启动日志详解 作为分布式系统,Spark程序是非常难以使用传统方法来进行调试的,所以我们主要的武器是日志,今天会对启动日志进行一下详解. 日志详解 今天主要遍历下Strea ...
- Spark小课堂Week5 Scala初探
Spark小课堂Week5 Scala初探 Scala是java威力加强版. 对Java的改进 这里会结合StreamingContext.scala这个代码说明下对Java的改进方面. 方便测试方式 ...
随机推荐
- Docker系列-第七篇Docker构建SpringBoot应用
1.基于Dockerfile构建SpringBoot镜像 1.1准备工作 将SpringBoot项目通过maven打成jar包 mvn clean package #使用maven打包项目 1.2使用 ...
- TensorFlow——常见张量操作的API函数
1.张量 张量可以说是TensorFlow的标志,因为整个框架的名称TensorFlow就是张量流的意思,全面的认识一下张量.在TensorFlow程序使用tensor数据结构来代表所有的数据,在计算 ...
- Jenkins 应用
一.Jenkins Linux shell集成 新建任务 shell-freestyle-job,选择Freestyle project,点击[确定] 添加描述,This is my first ...
- 盘它!!一步到位,Tensorflow 2的实战 !!LSTM下的股票预测(附详尽代码及数据集)
关键词:tensorflow2.LSTM.时间序列.股票预测 Tensorflow 2.0发布已经有一段时间了,各种新API的确简单易用,除了官方文档以外能够找到的学习资料也很多,但是大都没有给出实战 ...
- dataset中shuffle()、repeat()、batch()用法
import numpy as npimport tensorflow as tfnp.random.seed(0)x = np.random.sample((11,2))# make a datas ...
- crawler 听课笔记 碎碎念 2 一些爬虫须知的基本常识和流程
html的宗旨: <标签 属性=”属性的值“></标签> 只是对于文本的一种解释划分吧 dom的宗旨: 就是一个大数组,处理方便,效率低 xm ...
- LeetCode动画 | 1038. 从二叉搜索树到更大和树
今天分享一个LeetCode题,题号是1038,标题是:从二分搜索树到更大和数. 题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等 ...
- sqlserver2008:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
在开始菜单中找到: 进入,点击左侧SQL Server服务, 将SQL Server(MSSQL.....)服务开启, 即可成功连接.
- CSS动效集锦,视觉魔法的碰撞与融合(三)
本文讲述的原理和相关demo 扇形DIV的使用——实现雷达扫描图 DIV环形布局—实现loading圈 动画的向量合成—实现抛物线动画 无限滚动动画—实现跑马灯效果 perspective和trans ...
- 使用C++进行声明式编程
声明式编程(英语:Declarative programming)是一种编程范型,与命令式编程相对立.它描述目目标性质,让计算机明白目标,而非流程.声明式编程不用告诉电脑问题领域,从而 ...