我是 Git 的新手。
我已阅读:“Pro 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
在这一点上,我有几个问题:
- 如何处理“维护”分支?我知道指针“maint”应该移动到与“master”相同的位置?如何 ?
- 之后如何从分支“master”创建一个分支“maint”?
- 如果出现旧的“tag:maint-rel v1.0.1”的补丁(经过很长时间,例如当前的feature-release v10.0),如何将其集成到“maint”和“master”中“?
谢谢。