是否可以合并功能以使用git flow发布

时间:2016-03-29 22:40:22

标签: git git-flow

我正在使用gitflow和Sourcetree。

默认情况下,Sourcetree让我合并功能以开发,开发到发布,并发布到产品

有时候,有一个合并特征要开发,它失败了,所以需要更多的工作。

然后,如果有人想要发布,git flow会将这些错误合并到Release。

我更愿意合并唯一已经过验证才能发布的功能。

使用git flow可以做到这一点吗?

2 个答案:

答案 0 :(得分:1)

答案是肯定的。

GitFlow是一组开源脚本,您可以根据需要进行修改。

但在这种情况下它与gitflow无关,它是一个纯粹的编码。无论你是否使用git flow,你都可以提交不良内容,除非你在提交代码之前检查了代码,否则你不应该这样做,所以git flow不是这里的情况。

如何判断提交是好还是坏?

一旦你回答了这个问题,你就可以简单地修改负责合并功能的功能脚本来开发和阻止合并。

  

我更愿意合并唯一已经过验证才能发布的功能。

如前一段所述,一旦您知道如何识别好的提交,只需根据您的需要修改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

答案 1 :(得分:0)

如果要开发的合并导致问题,则不应提交。我建议将开发分支合并到功能分支,然后再将功能合并到开发中并解决其中的任何冲突(无论是合并冲突还是逻辑冲突)。

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

相关问题