使用 Atlassian Stash 中的 Yet Another Commit Checker 限制推送的分支类型

Restrict branch types pushed using Yet Another Commit Checker in Atlassian Stash

要求设置限制,以便从开发人员的机器推送到 Stash 的任何新分支都必须遵循我们的命名约定

"feature/PPT-", "bugfix/PPT-", "hotfix/PPT-", "feature/QC", "bugfix/QC*", or "hotfix/QC*".

我们启用了 Yet Another Commit Checker pre-receive hook,它有一个选项来限制使用

分支正则表达式 -

如果存在,将阻止推送到与此正则表达式不匹配的分支。 这里使用什么格式来满足我这里的要求? 分支名称正则表达式

如果存在,则只允许创建名称与此正则表达式匹配的分支。这会影响正在推送的新分支和在 Bitbucket 服务器 UI.

中创建的分支

例如,master|(?:(?:bugfix|hotfix|feature)/[A-Z]+-\d+-.+) 将强制推送到遵循 Bitbucket 服务器分支模型命名约定的分支。

https://github.com/sford/yet-another-commit-checker

有人在用这个吗?

master|develop|(?:(?:bugfix/QC.|hotfix/QC.|feature/QC. )), master|develop|(?:(?:bugfix/PPT|hotfix/PPT|feature/PPT-.))

这是需要转到分支正则表达式的预接收挂钩的条目。

这将限制开发人员 Stash/Atlassian Sourcetree 对不符合此要求的分支的推送。

示例:

尝试推送到分支 feature/PPT- 从本地 Atlassian Source 树存储库进行测试,它可以工作。

但是,要从本地 Atlassian Source 树存储库随机推送到分支 feature/PPT 将失败,因为正则表达式不匹配。

通配符是 (dotstar)

我们需要一个正则表达式来将分支名称强制为特定模式,我将其更新为以下正则表达式并且它对我很有用。

feature/([a-zA-Z0-9_-]*)|bugfix/([a-zA-Z0-9_-]*)|hotfix/([.a-zA-Z0-9_-]*)|release/([.a-zA-Z0-9_-]*)