我想利用预提交挂钩来包含TFS / VSTS项目编号。该数字可以从1到5位数,并且提交消息需要看起来像#12345: some commit message
,TFS项目编号显式位于开头。那会是什么样的?
谢谢!
TFS:Team Foundation Server
VSTS:Visual Studio团队版
答案 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等工具时才能使用它。