GIT rebase讲解
Posted andyhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIT rebase讲解相关的知识,希望对你有一定的参考价值。
对分支进行rebase
从master分支checkout出fork分支,并在master和fork上都进行了一些修改
现在fork分支想要及时的同步master分支上的修改,避免在已经失效的代码上继续工作
该过程总的提交树变化如下:
对一段commit进行整理(squash)
??很多开源项目要求参与者在发起RP前对本次的commit进行squash,关联上该RP的issue编号,下面看下如何达到此目的:
首先我在fork分支上进行了随意的两次commit
然后使用
git rebase -i
命令进行整理命令格式:
git rebase -i <startpoint> <endpoint>
需要注意<startpoint> <endpoint>是左开右 闭,所以<startpoint>应该是你需要整理的commit的上一 次提交id。
git remote -i e14ed9d^ 342889d
把除去第一行的其他行的pick命令修改为squash命令
然后按照相关开源项目要求编辑整理后的comment注释
最好查看提交记录确认提交历史已经改变
此时HEAD处于了游离状态,所以我们需要把fork分支的HEAD重置到最后的commit
以上是关于GIT rebase讲解的主要内容,如果未能解决你的问题,请参考以下文章
Git在rebase时如何保留merge commit(实用!)