我一直在研究 gitflow 工作流程http://nvie.com/posts/a-successful-git-branching-model/,它是有道理的,并且与我过去所做的非常相似。在发布和热修复方面,我做了一些不同的事情,我想问一下 gitflow 分支方式与我提出的方式的优缺点。
通常,当我创建发布分支时,比如发布 1.0.0,我会将发布分支命名为 release-1.0.x,而不是 release-1.0.0。一旦我创建了分支(但在代码发布之前),版本将是 1.0.0-SNAPSHOT,用于任何最后一分钟的修复。当我发布时,我创建 1.0.0 的发布版本,标记它并合并到 master。现在我没有删除发布分支,而是将版本增加到 1.0.1-SNAPSHOT。这有效地成为了 1.0.x 系列的长期热修复分支。如果我在生产中发现错误,我会在这个分支上修复它,删除 1.0.1 发布版本并将版本增加为 1.0.2-SNAPSHOT,依此类推。
缺点是只要此版本是当前版本,发布分支就存在。好处是如果有错误,我不需要创建新的热修复分支,并且分支已经存在。
所以我的问题是我是否因为没有热修复分支并以这种方式这样做而遗漏了任何重大问题?