使用git rebase合并多次commit

news/2025/1/1 12:18:00/

目录

    • rebase的作用简要概括为:
    • 命令:
    • 解决冲突:
    • 遗留问题:

rebase的作用简要概括为:

可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简洁!
但是需要注意的是:

不要通过rebase对任何已经提交到公共仓库中的commit进行修改(你自己一个人玩的分支除外)

命令:

基本格式如下

git rebase -i  [startpoint]  [endpoint]

其中-i的意思是–interactive,即弹出交互式的界面让用户编辑完成合并操作,[startpoint] [endpoint]则指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit(注:该区间指定的是一个前开后闭的区间)。

查看了log日志后,可以运行以下命令:

git rebase -i f8773b6c

或者:

git rebase -i HEAD~3 

可以看到如下界面:
在这里插入图片描述
上面未被注释的部分列出的是我们本次rebase操作包含的所有提交,下面注释部分是git为我们提供的命令说明。每一个commit id 前面的pick表示指令类型,git 为我们提供了以下几个命令:

pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)

合并commit会用到squash,针对上面的提交可以改为:

pick 82fc74c7 
s dc6c19fb 
s f8773b6c 

此时如果一切顺利,“wq” 或者 “ctrl+x" 就会进入编辑提交记录的界面,将多余的记录注释掉或者改一下,就可是再次 “wq” 或者 “ctrl+x" 保存退出了。
正常情况到这里就结束了,但总会有意外发生,如果在rebase多个提交的时候出想了冲突,合 并就终止,等待冲突解决后才能够继续。

解决冲突:

如果合并被中断,可以使用 “git status” 命令查看状态:

git status

会打印如下信息:
在这里插入图片描述
假设这里的冲突文件是 “a.go”,可以使用vi或者其它编辑工具处理冲突,然后用 “git add” 命令标记冲突已解决:

git add a.go

之后执行 “git rebase --continue” 继续合并提交。

git rebase --continue

注意:如果多个提将间冲突较多,可能需要重复上面解决冲突的步骤,直至全部冲突都被解决之后,合并才会成功。

遗留问题:

如果分支在合并commit之前,已经将某些需要被合并的commit通过push命令传到了远程仓库,那么在合并commit之后,那些本应合并在一起的提交还会出现在提交日志中。


http://www.ppmy.cn/news/124339.html

相关文章

什么是项目可交付成果?定义、示例及管理工具

项目产生可交付成果,这只是项目活动的结果。项目可交付成果可大可小,其数量也因项目而异。它们是由项目管理团队和利益相关者在项目规划阶段商定的。 换句话说,任何类型的项目都有投入和产出。投入是你投入到项目中的东西,如数据…

德生PL-380音量失灵问题

德生收音机买了好多年了一直忍受音量旋钮失灵问题, 电子音量调节, 不是传统的电位器的, 好失望这么关键的地方还能失灵, 就是不能调节音量, 忍了好久了一直不敢碰音量, 一碰就变小自己乱蹦到很小的声音 直到听不见. 哎. 后来有时间拆了, 德生的做工还真是光在面子上, 外壳做工很…

德生PL-600收音机充电按键

双击“charge on/off”开启充电 按键“charge on/off”在第四行第二个按键 开机显示屏有显示充电电流标识和“charge”字符一闪一闪的跳动充电的 一般前面3次充电6-8个小时 后面只要充电3-4个小时即可使用的

德生收音机ICR—100拆机图解

用针将4角处依次玩外挑 知道将网挑出 将网下面的5个螺丝用梅花螺丝刀拆下 将背后1个螺丝拆下 用细螺丝刀把电池后盖内挑下后盖 拆开后的按键板

收音机的组装与焊接

1:在淘宝买了收音机的零件,里面会有元件清单与电原理图,还有印刷电路极,首先了解。 2:正面的组装通过零件图和主板上的提示可以完成 4:反面的焊接,首先注意安全,避免被焊接笔烫伤…

三管直放式收音机电路图

三管直放式收音机电路图 L1与可变电容C1组成调谐电路,用于选择需要的电台信号。由于线圈L1和L2都缠绕在磁棒上,根据互感作用,经过选择后的高频信号有线圈L1耦合到L2上,然后由三极管VT1等组成的高频放大器,把接收到的微…

自制FM单频道收音机

自制FM单频道收音机 最终成品原理图 最终成品 最终实验品,频率:94.2MHz 原理图 二话不说,直接上原理图

国产台式电子计算机,国产十大台式电子管名机6——东方红82-Y型收音机(一)

在“国产十大台式电子管名机”系列的构思之初,曾将东方红802-Y型收音机列了进去。但随着资料的积累与对实物的反复观察揣摩,决定撤下东方红802-Y型收音机,以其改进型的7管机代之。该款7管机的型号可能是80-Y,也可能是82-Y。说它是…