git - 在 SourceTree 中添加前缀以提交消息

标签 git jira atlassian-sourcetree bitbucket-server

我通常从 JIRA 问题站点创建分支。因此,假设我的 JIRA 票证名称是“SOMEBUG-356:软件中的错误”,那么分支名称将是:“feature/SOMEBUG-356-bug-in-software”。

是否可以为 SourceTree 设置某种模板,它会添加一个前缀来提交消息,其中包含我当前所在分支机构的 JIRA 票证名称? (如果我在分支“feature/SOMEBUG-356-bug-in-software”上,它会添加 SOMEBUG-356 前缀

最佳答案

我不太确定这是否是正确的方法,在我的公司,我们在创建分支等时使用 native gitflow。但是在所有提交中,我们强制执行正则表达式作为提交的一部分。您可以通过转到项目的 .git 文件夹并打开 hooks 文件夹来执行此操作,在那里您将看到一个 commit-msg.sample 文件删除了 .sample 所以它说 commit-msg。在这个文件中添加类似的东西。

#!/usr/bin/env bash


# regex to validate in commit msg
commit_regex='(SOMEBUG|SOMEOTHERBUG)-[0-9]{0,6}\w+'
error_msg="Aborting commit. Your commit message is missing a valid JIRA Issue key and number. An example commit would be SOMEBUG-1234"

if ! grep -iqE "$commit_regex" "$1"; then
    echo "$error_msg" >&2
    exit 1
fi

这样做是在每次提交时强制执行正则表达式,并且因为它在您的项目 .git 文件夹中,所以您可以为每个项目自定义 Hook 。 然后将原点添加到 jira 和 jira 将同步您对 jira 票证的 promise 。 如果您随后使用 FishEye + Crucible,它可以成为一种非常强大的关系。

关于git - 在 SourceTree 中添加前缀以提交消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33544410/

相关文章:

Leverice 中的 Jira channel 状态

atlassian-sourcetree - 在 Sourcetree 中创建分支组

git - 关闭Git的https验证

Git:从分支中删除单个文件,同时将其保留在项目中

java - Jenkins 的 Jira 插件无法正常工作?

使用 SourceTree 登录 Git 失败,想改为使用 SSH 创建登录

git - 如何删除或更改 SourceTree hunk 限制?

Chef 中的 Git 身份验证

php - Composer : scan only tag names, 不是整个 composer.json

plugins - Jira 和 TFS 集成?