Git预先提交以包括TFS项目编号

时间:2017-01-25 12:39:19

标签: git tfs

我想利用预提交挂钩来包含TFS / VSTS项目编号。该数字可以从1到5位数,并且提交消息需要看起来像#12345: some commit message,TFS项目编号显式位于开头。那会是什么样的?

谢谢!

TFS:Team Foundation Server
VSTS:Visual Studio团队版

2 个答案:

答案 0 :(得分:0)

我建议你使用prepare-commit-msg git hook。 这些文件位于本地git存储库的/.git/hooks/文件夹下。

编辑prepare-commit-msg.sample文件,添加:

#!/bin/sh

ITEM=1234

echo "#($ITEM):`cat $1`" > "$1"

然后删除.sample文件扩展名以使此文件开始工作。

您可以根据需要编写一个生成$ ITEM值的方法。

答案 1 :(得分:0)

prepare-commit-msg内执行以下操作解决了这个问题:

#!/bin/sh

if [[ $(cat "$1") =~ ^\#[0-9]{1,5}:.+ ]]; then
    echo "Your commit message is valid."
else
    echo "Your commit message have to be in format '#12345: Message'"
    exit 1
fi

这可以防止我在没有项目编号的情况下提交任何内容。遗憾的是,Visual Studio不支持客户端挂钩,因此只有在您使用TortoiseGit或SourceTree或普通旧版bash等工具时才能使用它。