Git小技巧之使用rebase命令合并提交

栏目: 编程工具 · 发布时间: 6年前

内容简介:想要获取更多文中可以访问我的博客 -代码无止境。在日常的开发过程中,我们一个功能可能会有很多次提交。而且我们公司的开发是不允许直接往公司仓库提交代码,所以需要首先我们需要准备一个前提环境: 1.初始化一个git仓库。

想要获取更多文中可以访问我的博客 -代码无止境。

在日常的开发过程中,我们一个功能可能会有很多次提交。而且我们公司的开发是不允许直接往公司仓库提交代码,所以需要 fork 到自己的仓库然后 merge 过去,这样就会导致拉代码会产生很多的 commit ,而这些 commit 其实是没有什么实际意义的。提交记录过多会导致代码 review 非常困难,那么今天我们就来介绍一个非常实用的命令 - git rebase ,它可以将若干次提交合并成一个提交,下面我们就一起来见证一下这个骚操作吧。

准备

首先我们需要准备一个前提环境: 1.初始化一个git仓库。

mkdir git-test
cd git-test
git init
复制代码

2.创建一个README.md文件。 3.创建若干个提交(>1)。 我们执行git log命令会得到如下结果,一共有三次提交记录,我们将通过git rebase命令将后两个提交合并成一个commit:

$ git log
commit 8d27ccf975e5ce4af8fd12fa75534b78fdc5b065 (HEAD -> master)
Author: 码无止境 <gancy.programmer@gmail.com>
Date:   Sun Jun 16 18:00:57 2019 +0800

    第三次提交

commit c953ae97af01e49d7f0ad959b42b91334a6726f3
Author: 码无止境 <gancy.programmer@gmail.com>
Date:   Sun Jun 16 18:00:30 2019 +0800

    第二次提交

commit 53407186cedef4be98d6001a69ee33d3a8d745fc
Author: 码无止境 <gancy.programmer@gmail.com>
Date:   Sun Jun 16 18:00:06 2019 +0800

    第一次提交
复制代码

合并提交记录

1.首先我们执行git rebase -i HEAD~3,这里的HEAD~2代表的合并最近两次提交,命令执行后会进入到一个vi编辑页面,如下所示:

Git小技巧之使用rebase命令合并提交

2.编辑之后的内容为:

p c953ae9 第二次提交
s 8d27ccf 第三次提交
复制代码

3.编辑好后,保存(:wq) 4.然后会进入到一个编辑提交信息的界面(vi编辑),我写的”合并提交”,我们看最后合并提交的时间和第二次提交的时间一直,代表上面的合并是将第三次提交合并到了第二次提交。 5.保存消息后就执行成功了,我们再执行以下git log命令查看,会发现如下效果

$ git log
commit b1ab9f0af528aa96c333b2287c85d06e9fea891b (HEAD -> master)
Author: 码无止境 <gancy.programmer@gmail.com>
Date:   Sun Jun 16 18:00:30 2019 +0800
    合并提交

    第二次提交

    第三次提交

commit 53407186cedef4be98d6001a69ee33d3a8d745fc
Author: 码无止境 <gancy.programmer@gmail.com>
Date:   Sun Jun 16 18:00:06 2019 +0800

    第一次提交
复制代码

以上所述就是小编给大家介绍的《Git小技巧之使用rebase命令合并提交》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Usability for the Web

Usability for the Web

Tom Brinck、Darren Gergle、Scott D. Wood / Morgan Kaufmann / 2001-10-15 / USD 65.95

Every stage in the design of a new web site is an opportunity to meet or miss deadlines and budgetary goals. Every stage is an opportunity to boost or undercut the site's usability. Thi......一起来看看 《Usability for the Web》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具