2

,假设我有一个“master”Git 分支和一个“master”分支。

master    A -> B -> C -> D
feature        B -> E -> F -> G

我将“功能”合并到“主”中,即合并,而不是变基:

master    A -> B -> C -> D -> H

现在该功能的整个提交历史(无论是概念上还是实际上)是否都成为 master 历史的一部分,因为 H 将有两个父级:D 和 G,因此您可以从 master 的尖端(即“H”)到达所有提交 A 到 H 包括在内?

所以现在真正的主人是:

master A -> B -> C -> D -> H
            \             /
              E -> F -> G

在我看来,这似乎与 CVS/SVN 分支不同,在我将功能分支合并到主分支之后,我实际上并不认为功能分支是主分支历史的一部分。我认为 Git 中“分支”的概念与 CVS/SVN 分支以这种方式不同的想法是否正确 - 显然它们的实现是完全不同的,但它是分支的概念,以这种方式与合并有关在功能分支中,使该分支现在成为主分支历史的一部分,包括对分支的所有临时提交/签入,CVS/SVN 和 Git 之间相同还是不同?

4

1 回答 1

1

是的,添加了历史记录。

是的,在分支、分叉和克隆方面,git 与 SVN 完全不同。

更多信息在:git branch、fork、fetch、merge、rebase 和 clone,有什么区别?

于 2012-08-23T00:10:23.183 回答