6

私はGitの初心者です。

私は読んだ:「プロGit:プロジェクトを維持する」(本)とGit:Documentation/howto/maintain-git.txt

私にとっては難しい質問です: 別の長期的なブランチを作成せずに古いリリースを維持する方法. つまり、プロジェクト Git でブランチ「maint」を操作する方法に興味があります。

例(トピックブランチとのマージとパッチの貢献者の統合は表示されていません。「next」、「pu」の他のブランチもここでは表示されていません)。

これらの画像はこちらからもご覧いただけます

          +--master
          |
          +--maint
          |
  (c1)->(c2)
          |
          +--tag : feature-release v1.0

次の時間:

tag:feature-rel v1.0--+                   +--master
                      |                   |
              (c1)->(c2)->(c)->(c)->(c)->(c)
                      |
                      +->(c)->(c)->(c)
                                    |
                                    +--maint
                                    |
                                    +--tag:maint-rel v1.0.1

次に、「maintain-git.txt」で説明されているように、次を実行します。

 $ git checkout master
 $ git merge maint

結果:

tag:feature-rel v1.0--+                          +--master
                      |                          |
              (c1)->(c2)->(c)->(c)->(c)->(c)->(c100)
                      |                       /
                      +->(c)->(c)->(c50)-----'
                                    |
                                    +--maint
                                    |
                                    +--tag:maint-rel v1.0.1

次の時間:

                               +--master
                               |
                               +--tag:feature-rel v2.0
                               |
   ...->(c)->(c100)->(c101)->(c102)
               /
 ...->(c50)---'
       |
       +--maint
       |
       +--tag:maint-rel v1.0.1

この時点で、いくつか質問があります。

  1. ブランチ「maint」をどうするか? ポインター「maint」は「master」と同じ位置に移動する必要があることを理解していますか? どのように ?
  2. その後、ブランチ「master」からブランチ「maint」のフォークを作成するにはどうすればよいですか?
  3. 古い "tag:maint-rel v1.0.1" のパッチ (たとえば、現在の機能リリース v10.0 など、非常に長い時間が経過したもの) が表示された場合、それを "maint" および "master" に統合する方法"?

ありがとう。

4

1 に答える 1