2

、「マスター」Gitブランチと「マスター」からの「機能」ブランチがあるとしましょう。

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

そして、「機能」を「マスター」にマージします。つまり、リベースではなくマージします。

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

HにはDとGの2つの親があり、マスターの先端( "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ブランチ、フォーク、フェッチ、マージ、リベース、クローン、違いは何ですか?

于 2012-08-23T00:10:23.183 に答える