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

Git预提交以包括TFS项目编号,git,tfs,Git,Tfs,我想利用预提交钩子来包括TFS/VSTS项目编号。该数字可以从1到5位,提交消息需要如下所示:一些提交消息,TFS项目编号显式位于开头。那会是什么样子 谢谢 TFS:Team Foundation Server VSTS:visualstudio团队版我建议您使用prepare-commit-msggit-hook。 这些文件位于本地git存储库的/.git/hooks/文件夹下 编辑prepare commit msg.sample文件,添加以下内容: #!/bin/sh ITEM=1

我想利用预提交钩子来包括TFS/VSTS项目编号。该数字可以从1到5位,提交消息需要如下所示:一些提交消息,TFS项目编号显式位于开头。那会是什么样子

谢谢


TFS:Team Foundation Server


VSTS:visualstudio团队版

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

编辑
prepare commit msg.sample
文件,添加以下内容:

#!/bin/sh

ITEM=1234

echo "#($ITEM):`cat $1`" > "$1"
然后删除.sample文件扩展名以使该文件开始工作


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

通过在
准备提交消息
中执行以下操作来解决此问题:

#!/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不支持客户端挂钩,因此只有在您使用诸如Ortoisegit或SourceTree或plain old bash之类的工具时才可以使用它。

感谢您的建议,它为我指明了正确的方向,请参阅我自己的答案。请将答复标记为此问题的答案。谢谢请将回复标记为此问题的答案。谢谢