git rebase 合并多次提交.

栏目: IT技术 · 发布时间: 6年前

内容简介:git rebase 合并多次提交.

一、应用场景

    为什么需要合并多个提交呢?

    常常一个功能的开发,修修补补 commit 了 n 多次,带来的结果就是提交过多过杂,不够直观,究竟哪些提交是对应这个功能的呢?还有就是,如果我要将这个功能迁移到其他分支呢?一个个 commit 去 cherry-pick 吗?未免太麻烦了吧!为什么不尝试下将多个 commit 合并成一个呢?

二、功能实现

    将多个 commit 合并成一个,用到的主要 git 命名就是 git rebase。先来解释下git rebase 。其实可以把它理解成是 "重新设置基线" ,为你的当前分支重新设置开始点。

    git rebase –i ,这里的 "-i" 是指交互模式。就是说你可以干预rebase这个事务的过程,包括设置commit message,暂停commit等等。

    1、查看提交历史

git log -10

-10 表示要查看 commit 记录的条数。

git rebase 合并多次提交.

    2、git rebase -i [commit_log]

git rebase -i 5c946ca764a1a2672f36b7e8e70b647da2609caa

git rebase 合并多次提交.

git rebase 合并多次提交.

pick : 代表合并后的提交用这个提交的注释;
s : squash命令的简写,代表合并提交中包含这个提交;
d : 代表合并提交中排除这个提交。

    3、设置commit message

git rebase 合并多次提交.

git rebase 合并多次提交.

git rebase 合并多次提交.

git rebase 合并多次提交.

    4、总结 

    rebase 需要基于一个 commit 来设置你当前的分支的基线,这基线就是当前分支的开始时间轴向后移动到最新的跟踪分支的最后面,这样你的当前分支就是最新的跟踪分支。这里的操作是基于文件事务处理的,所以你不用怕中间失败会影响文件的一致性。在中间的过程中你可以随时取消rebase 事务。git rebase –abort


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

标签: git rebase git rebase

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learning PHP, MySQL, and JavaScript

Learning PHP, MySQL, and JavaScript

Robin Nixon / O'Reilly Media / 2009-7-21 / USD 39.99

Learn how to create responsive, data-driven websites with PHP, MySQL, and JavaScript - whether or not you know how to program. This simple, streamlined guide explains how the powerful combination of P......一起来看看 《Learning PHP, MySQL, and JavaScript》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具