Git - rebase 变基

108 阅读1分钟

Git 变基

合并分支除了有 merge 指令,还有一个变价 rebase,将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。

如果

image.png

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

重要

如果提交存在于你的仓库之外,而别人可能基于这些提交进行开发,那么不要执行变基。 否则,另一个人需要重新拉取分支