我正在使用gitflow和Sourcetree。
默认情况下,Sourcetree让我合并功能以开发,开发到发布,并发布到产品
有时候,有一个合并特征要开发,它失败了,所以需要更多的工作。
然后,如果有人想要发布,git flow会将这些错误合并到Release。
我更愿意合并唯一已经过验证才能发布的功能。
使用git flow可以做到这一点吗?
答案 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模型 - 您不应该将任何内容合并到发行版中(除了错误修正)。相反,发布应该是当前开发状态的新分支,如果您认为有任何尚未准备好发布的功能,您可以在发布分支中关闭它们。