【问题标题】:Bitbucket - How to enforce that merges are done first to Develop branch and then to Master branch?Bitbucket - 如何强制合并首先到开发分支然后到主分支?
【发布时间】:2018-06-04 18:26:03
【问题描述】:

Gitflow 工作流程指出 Hotfix 分支将合并到 Develop 和 Master 分支。 由于工程师不止一次忘记将他们的修补程序合并到开发中,我想强制先完成合并到开发。 如何配置 Bitbucket 以阻止将 Develop 中尚不存在的提交合并到 master?

【问题讨论】:

  • 您的标签在这里有点混乱 - 这是针对 Bitbucket Cloud (bitbucket.org) 还是 Bitbucket Server(自托管)?
  • @JimRedmond,它是 Bitbucket 服务器(自托管)。
  • 知道了。然后,您应该删除“bitbucket-pipelines”标签。

标签: bitbucket githooks git-flow bitbucket-server bitbucket-pipelines


【解决方案1】:

我不了解 BitBucket,但如果您能够安装自己的挂钩,那么在预接收或更新挂钩中编写您想要的任何内容都很容易。

以下是一个(未经测试的)示例,可能有更有效的 git 命令来完成此操作,我不确定。

#!/bin/bash
# ... << Code to set up your hook variables here >>> ...

if [ "$(git branch Develop --contains $new_rev | wc -l)" -eq 0 ]; then
    echo "ERROR: You must commit to Develop first and then merge"
    exit 1
fi
exit 0

【讨论】:

  • 您确实可以在 Bitbucket Server 中安装自己的服务器端挂钩。不鼓励这样做,因为它有点不透明(易于安装钩子,忘记它们,然后让用户或未来的管理员在几天或几周内陷入故障排除的兔子洞)。阅读How to create a simple hook in Bitbucket Server(跳过有关 Java 钩子的内容,它进一步描述了基本的脚本钩子)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多