我的问题围绕着开发流程以及如何保持分支/子分支,问题和发布的组织。
我从SO中读到了以下答案:
confused about creating nested branches in git
How is a tag different from a branch? Which should I use, here?
但我仍然不知道组织项目的最佳方式是什么。例如:
如果我们正在处理三个问题:
这三个分支都以问题命名,并计划发布v1.2.3
此外,我们正在处理另外两个问题,其中包含以下问题/分支:
这些分组为发行版v1.2.4
现在的结构是:
Master
-> iss43 (part of 1.2.3)
-> iss37 (part of 1.2.3)
-> iss50 (part of 1.2.3)
-> iss20 (part of 1.2.4)
-> iss55 (part of 1.2.4)
但是,如果将项目组织为:
,那将更有意义Master
-> v1.2.3
-> iss43
-> iss37
-> iss50
-> v1.2.4
-> iss20
-> iss55
由于Git没有分支嵌套,发布版本应该是分支/标记吗? 即。
git checkout master
git branch release_v1.2.3
git checkout -b release_v1.2.3 v1.2.3
git branch iss43
git checkout iss43
哪会:
Master
-> release_v1.2.3 (with tag v1.2.3)
-> iss43 (issue branch)
-> iss37 (issue branch)
-> iss50 (issue branch)
这是否有意义或是否有更简单的方法来跟踪中小型项目?
感谢。
答案 0 :(得分:0)
你第一次做对了,你的第二种方法不合适。
在软件开发中(另外在git中),您可以开发功能并在发布时标记 。您的路线图中针对特定版本安排的某些功能可能需要更多时间,最终会在下一个版本中结束(反之亦然)
事实上,你应该有类似的东西:
git branch -v
master
fix/iss43
fix/iss37
fix/iss50
fix/iss20
fix/iss55
当你将一个修复/ *分支合并回master并决定发布时,你只会对标记(发布)感到烦恼。
查看以下分支模型:git flow或github worklow(您可能会在Google上找到更好的英文资源)。