是否有一个git工作流程,旨在维护来自多个git分支的软件(例如,发行版1.1) 很久以前从master那里分支出来,并且最近发布了。功能分支 工作流程,Gitflow工作流程和分岔工作流程都有很好的文档,但我还没有找到 有关管理多个版本的信息。
管理多个版本需要一个将修补程序和功能应用于一个或多个的过程 发布分支机构主分支将用于维护未来版本的所有更改, 最接近master的版本可能会获得一些功能和修补程序,最远的版本会得到最少的版本 更新,离主人最远的发布将是第一个达到临终的。
我认为它看起来像
master -------+----------+----------+----------+------+-----------+--------------------
\ \ \ / \ /
\ \ Hotfix-+ Feature-+
\ \ Hotfix Feature
\ release_1.2-------+------------------+---------------
\ Hotfix
release_1.1------------------+----------------------End-Of-Life
以下内容经过修改后看起来更像是Git Flow,但是使用了' release_1.1'分支。
release_1.1---------+---------+---
| \ /
| Hotfix3
|
tag 1.0 tag 1.0.1 tag 1.1 tag 1.1.1 tag 1.2 tag 1.2.1
| | | | | |
master +-----------+-------------+--------+-------------+--------+------------------
| / / / / /
| / / / / /
\ Hotfix1 / Hotfix2 / Hotfix3
release | \ +-+-+ \ +-+-+ \
| \ / \ \ / \ \
develop +-+--------+---+-------+-+--------+---+-------+----------+------
\ / \ /
FeatureA-+ FeatureB-+
答案 0 :(得分:0)
您无法将基于当前master
的修补程序分支合并到旧版本中 - 这也会将master
中的所有更改引入旧版本。因此,您必须选择master
的共同祖先和所有发布分支作为修补程序分支的基础,通常是您仍希望支持的最旧修订版与master
不同的点。从那时起,对于每个版本,(1)将修补程序分支合并到发布分支,然后(2)将下一个版本从master
分离的点合并到修补程序分支中并解决冲突。最后,将修补程序分支合并回master
。
您可能需要查看http://nvie.com/posts/a-successful-git-branching-model/。