git rebase 保持master一条线

假设有如下2个分支,一个master,另一个叫new(开发分支)

在new分支上执行合并commit操作git rebase -i ***这一步是为了精简开发分支过多的commit,通常我都会做这一步,合并很多commit


然后在new分支上执行git rebase master,如果有冲突解决即可(因为合并过commit,所以此时冲突解决也会方便一些)

然后切回master,执行git merge new(或者也可以执行git rebase new结果是一样的)


上面在new上rebase master之前先作了合并commit操作,其实也可以不做。
开始状态

new上rebase master

明显把master的修改(2,4)放在了new分支所有修改的前边(1,3)。但是因为修改的是同一个文件相同位置,所以此时new分支的两个commit(1,3)要解决两次冲突,如果commit数量太多会很难做,因为这可能是很久很久之前的中间代码。
然后切回master执行git merge new(或者git rebase new,也是一样的)

所有new分支上的修改都在最新的master后面

posted @ 2023-02-03 17:59  feipeng8848  阅读(139)  评论(0编辑  收藏  举报