美文网首页Git使用Git我用 Linux
git hook commit 自动关联到对应的issue

git hook commit 自动关联到对应的issue

作者: freelands | 来源:发表于2017-12-07 22:42 被阅读33次
    hook.png
    在我们用git进行版本控制的时候 很多时候都是围绕着issue开发,每次git的提交都关联上issue对于我们后期的排查有很大的帮助,但是每次commit 的时候都关联下issue难免有点烦躁,所以我们今天可以通过在本地配置一下来实现每次commit 自动关联对应的issue。
    • 在项目的.git/hooks目录下创建一个prepare-commit-msg文件

      image.png
    • copy下面的脚本到上面创建的prepare-commit-msg文件里

    #!/bin/sh
    NAME=$(git branch | grep '*' | grep -Eo "#\d+")
    DESCRIPTION=$(git config branch."$NAME".description)
    echo "$NAME"': '$(cat "$1") > "$1"
    if [ -n "$DESCRIPTION" ]
    then
       echo "" >> "$1"
       echo $DESCRIPTION >> "$1"
    fi
    
    • 因为commit 的时候会执行上面那个脚本所以要给这个脚本添加可执行权限
    chmod u+x prepare-commit-msg
    
    • 验证


      image.png
    • 查看真实的提交日志


      image.png

    可以看出我们提交的内容是heiqie test,但是实际提交到git 里的commit内容是
    #2: heiqie test, push 到远程分支,就可以在对应的issue上看到提交点了

    • 不足
      这种方式配置需要分支上有issue号比如 issue#223

    相关文章

      网友评论

        本文标题:git hook commit 自动关联到对应的issue

        本文链接:https://www.haomeiwen.com/subject/fifsixtx.html