码迷,mamicode.com
首页 > 其他好文 > 详细

git rebase -i HEAD~3合并多个提交为一个提交

时间:2020-12-09 11:56:27      阅读:5      评论:0      收藏:0      [点我收藏+]

标签:如何   多次   文档   mes   测试   丢失   bsp   message   界面   

场景:新功能在本地的dev_feat分支开发过程中,提交了多次,生成了多个commit id,开发测试完成后将新功能合并到dev分支上,但是不想要这些提交记录,那么可以将多个commitid合并成一个,再merge或者push到dev分支上。

比如git log 看到以下三个提交:

技术图片

 

前面说过 commit 是为了防止意外丢失代码,但是在推到远端之前,最好把一次开发的 commit 合并成一个,避免污染远端的 git commit message

前面说过 commit 是为了防止意外丢失代码,但是在推到远端之前,最好把一次开发的 commit 合并成一个,避免污染远端的 git commit message

因为这个例子中有3个 commit,所以执行 git rebase -i HEAD~3

然后就会看到一个 vim 界面 (不熟悉 vim 基础操作的读者请自行查阅搜索)

技术图片

 

 记住不要动最上面的那行,把下面几行开头的 pick 换成 s , 然后保存

这时会显示另一个 vim 界面

 技术图片

 

 删除所有内容( #开头的可以忽略),然后写一句简短、准确的句子作为这次开发的 commit message,如

技术图片

 

 

然后保存

如果成功了就能看见这么一些文字

技术图片

 

 

最后使用 git logl 确认所有这次开发中的 commit message 都被压缩成了一个

(这边只介绍了 git rebase的最简单直接的用法,有兴趣的读者可以去阅读官方文档,了解更详细、高级的用法,如第一次vim界面里使用 f 替代 s 有时候更方便)

 

参考:

血泪教训之请不要再轻视Git —— 我在工作中是如何使用 Git 的 - 知乎 (zhihu.com)

git rebase -i HEAD~3合并多个提交为一个提交

标签:如何   多次   文档   mes   测试   丢失   bsp   message   界面   

原文地址:https://www.cnblogs.com/zndxall/p/14087020.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!