使用Git Flow,是否可以将功能合并到发布版本中?

3
我正在使用gitflow和Sourcetree。
默认情况下,Sourcetree会让我将Feature合并到Develop,Develop合并到Release,Release合并到Prod。
问题是有时候,当我把Feature合并到Develop时,它会失败,所以需要更多的工作。
然后,如果有人想要发布一个版本,git flow将把这些错误合并到Release中。
我更希望只将已验证的Feature合并到发布中。
是否可以使用git flow实现这一点?

你所指的“git流程”是一个产品还是软件?我通常看到它被用来指代一种工作流程/流程,这是您可以一次性更改或修改以做任何您想要的事情。 - Chris Tavares
https://github.com/nvie/gitflow - Juliatzin
2个回答

1
答案是肯定的。
GitFlow是一组开源脚本,您可以根据自己的需求进行修改。
但在这种情况下,它与gitflow无关,这是纯编码。您可以提交错误的内容,而不管是否使用git flow,除非您在提交之前已检查了代码,否则不应该这样做,因此git flow在这里并不重要。
如何判断提交是好还是坏?
一旦您回答了这个问题,您可以简单地修改负责将特性合并到develop中并阻止合并的特性脚本。
引用:
我更喜欢合并已经验证发布的唯一功能。
如前一段所述,一旦您知道如何识别好的提交,只需根据自己的需求修改gitflow脚本即可。

来源

请在第313行附近检查此内容 https://github.com/nvie/gitflow/blob/develop/git-flow-feature

# lines 313 >
# merge into BASE
git_do checkout "$DEVELOP_BRANCH"
if [ "$(git rev-list -n2 "$DEVELOP_BRANCH..$BRANCH" | wc -l)" -eq 1 ]; then
    git_do merge --ff "$BRANCH"
else
    if noflag squash; then
        git_do merge --no-ff "$BRANCH"
    else
        git_do merge --squash "$BRANCH"
        git_do commit
        git_do merge "$BRANCH"
    fi
fi

那么,我需要编辑gitflow脚本......还有其他办法吗?由于我使用Sourcetree,我担心这会变得复杂,考虑到可能会重置所有更改的更新等等。 - Juliatzin
在我看来,这与gitflow无关,因为开发人员不应该将糟糕的代码提交到任何dev分支,但既然你问如何使用git flow来做到这一点,答案是你需要更新脚本。 - CodeWizard
好的,这并不是关于糟糕的代码,代码在未来很容易工作,但在开发中存在集成问题。这种情况经常发生。 - Juliatzin
是的,但是根据你的回答,答案可能是否定的,因为我需要修改几个脚本的特性>发布,特性>产品,所以Git Flow似乎有点无用或不适合我的需求。 - Juliatzin
你只需要阻止将代码合并到develop分支,一旦在那里停止它,它就不会被合并到生产环境,因为它不在develop分支中。 - CodeWizard
我假设你会使用gitflow来完成这个任务。 - CodeWizard

0

如果将合并到develop引起问题,您不应该提交它。我的建议是在将功能分支合并到develop之前,将develop分支合并到功能分支中,并在那里解决任何冲突(无论是合并冲突还是逻辑冲突)。

此外 - 如果您使用gitflow模型 - 您不应该将任何内容合并到发布版(除了可能的错误修复)。相反,发布版应该是从当前develop状态的新分支开始,如果您认为有任何功能尚未准备好进行发布,则可以在发布版中关闭它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接