【问题标题】:Git pre-commit to include TFS item numberGit 预先提交以包含 TFS 项目编号
【发布时间】:2017-01-26 23:48:57
【问题描述】:

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

谢谢!


TFS:团队基础服务器
VSTS:Visual Studio 团队版本

【问题讨论】:

    标签: git tfs


    【解决方案1】:

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

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

    #!/bin/sh
    
    ITEM=1234
    
    echo "#($ITEM):`cat $1`" > "$1"
    

    然后删除 .sample 文件扩展名,使这个文件开始工作。

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

    【讨论】:

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

    通过在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 时才可行。

    【讨论】:

    • 请将回复标记为此问题的答案。谢谢!
    猜你喜欢
    • 2012-02-28
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    • 2010-10-05
    相关资源
    最近更新 更多