理解 Git (2)

理解 Git

这种策略被称为 fast forward

有分叉的情况稍微麻烦一些,git 会将两个分支的分叉点和头部的 commit 做一次三方合并,然后形成一个新的 commit:

理解 Git

显然第一种方式最简便,那有没有办法在分叉的情况下仍然采用 fast forward 的策略呢,有

理解 Git

在 experiment 分支上执行 `git rebase master`,首先会计算出分叉点与 experiment 分支头部的两个 commit 的差异,然后以 C3 为新的基础,整合之前计算出的差异,得到一个新的 commit

    var patch = C4 - C2

  var C4` = C3 + patch

  C4`.parent = C3

rebase 就是改变基础的意思。这下回到 master 分支执行 merge 操作,就可以实现 fast forward 了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyffw.html