我们基本上使用此处记录的Git流程:http://nvie.com/posts/a-successful-git-branching-model/。现在开发人员提出了一些问题:
我还有更多问题:
答案 0 :(得分:1)
免责声明:根据我对git flow的理解给出答案,因此它们可能不正确:)
1. From where do we release the code to production? The release/hotfix branch or the master?
来自文章:
因此,每次将更改合并回master时,都是如此 根据定义,新的生产版本。
- >主人的生产版本
2. Need to rollback in release branch, if some features in the current
release branch are no longer required.
您没有在发布分支中执行功能,您在功能分支中执行功能。在发布分支中,您只需稍作更改/错误修正或在发布之前更新元数据。如果这些更改是多余的,则可以回滚分支,因为它们无论如何都是微小的变化,可能并不重要。
同样来自文章:
严禁在此处添加大量新功能。他们一定是 合并成开发,因此,等待下一个重大发布。
3. If there is no change in the release branch, why do we even need one? I am from the ClearCase world, and I always have this impression that a branch is not required if there is no change on it.
如果没有改变你是对的,分支可能是多余的。 但我认为在你的代码中你有版本号吗?这应该在发布分支中更新。
来自文章:
此外,它们允许修复小错误并准备元数据 发布(版本号,构建日期等)。
编辑:
4. Why Git is not using tag a lot. In ClearCase, we baseline/tag the development branch on every build, and we can use baseline/tag to identify a release, no need to create a branch for release. With baseline/tag, we can always take a previous baseline/tag to release, no need to rollback.
您不必使用最新的develop提交来启动发布分支。
答案 1 :(得分:0)
我会回答你的前两个问题 根据arcticle中的这一行
release分支合并为master(因为master上的每个提交都是定义的新版本,请记住)
我会说你应该从master
发布代码到生产至于要删除之前实现的功能的回滚,我不认为它是正确的,因为您需要该代码的历史记录。你应该删除不推荐的代码做一个新的提交。