9.Git将多个commit整理成一个

2020-11-25  本文已影响0人  就是耍帅

1.将多个连续的commit整理成一个

a.如下图所示,我将合并圈中的两个

b.合并commit可以使用rebase命令.   git rebase -i [startpoint] [endpoint]

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

我们如果需要修改某一个commit,那么就必须指定他的父级commit

 使用指令:git rebase -i   b6d4039cdb3e0

上面未被注释的部分列出的是我们本次rebase操作包含的所有提交,下面注释部分是git为我们提供的命令说明。每一个commitId 前面的pick表示指令类型,git 为我们提供了以下几个指令:

c.这里选择基于最早的pick合并,将(pick e6175fb three)合并到最早的 (2177bda two update)中,

d.上面的保存退出之后,弹出下面的弹框,输入新的message,保存即可

e.最后查看git log

2.将间隔的几个commit整理成一个

a.如下图,我要将(4425c91da5c81 four)和 ( b6d4039cdb3e0 first) 进行合并

b.还是使用指令:git rebase -i   b6d4039cdb3e0 ( 这里还是要指定他的父级commit,这里 ( b6d4039cdb3e0 first) 已经是最高级了,所以直接用的  ),出现如下图:

这时我们需要将( b6d4039cdb3e0 first)手动写进去,并且将(4425c91da5c81 four) 移动到和( b6d4039cdb3e0 first)一起,如下图:

保存退出之后,出现下图:

c.执行上面圈中的指令:  git rebase --continue ,然后会弹出一个类似下面的弹框,进行修改保存即可

上一篇 下一篇

猜你喜欢

热点阅读