小编典典

“git merge”和“git rebase”有什么区别?

all

git merge和有什么区别git rebase


阅读 193

收藏
2022-03-08

共1个答案

小编典典

假设最初有 3 个提交,A, B, C

美国广播公司

然后开发人员 Dan 创建了 commit D,开发人员 Ed 创建了 commit E

ABCDE

显然,这种冲突应该以某种方式解决。为此,有两种方法:

合并

ABCDEM

两者都提交DE仍然在这里,但是我们创建了合并提交M,它继承了D和的更改E。然而,这会产生钻石形状,许多人对此感到非常困惑。

重新定位

ABCDER

我们创建 commit R,其实际文件内容与M上面的合并提交相同。但是,我们摆脱了 commit E,就像它从未存在过一样(用点表示 - 消失线)。由于这种删除,E应该是开发人员 Ed 本地的,并且不应该被推送到任何其他存储库。rebase 的优点是避免了菱形,并且历史保持良好的直线 - 大多数开发人员都喜欢这一点!

2022-03-08