合并分支除了有
merge指令,还有一个变价rebase,将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。
如果
从master 分支的C2提交上开出 experiment 分支,并在 experiment 提交了C4,而同时 master 分支上也提交了C3、C4两个提交,如果要合并两个提交到 experiment
当然可以使用 merge ,但是使用 merge 会多一条 Merge 提交,并且提交按实际提交时间排序,也就是 C4 如果先提交,合并后C3、C5提交会位于C4之后
使用 rebase 则先将原C4 暂存,然后从 master 合并 C3、C4提交,最后在把C4提交合到 experiment 上
使用
git rebase [branch]
这个[branch] 参数指的是当前分支从哪开出来的分支,如图例 就是 git branch master
重要
如果提交存在于你的仓库之外,而别人可能基于这些提交进行开发,那么不要执行变基。 否则,另一个人需要重新拉取分支