Git commit消息中附带jira_id/issue_id

 
  

简介

在查询git log时,如何知道commit是对应哪一期的需求? 手动在commit信息中,填写jira_id是一个可行的办法,但一期的需求往往由多个commit,如果每个commit中都填写一次jira_id的话,那明显不是程序员的范了。 一般公司里都用到JIRA 或 Redmine等工具。当开发需求/解决bug时都有对应的jira_id或issue_id。 本文主要演示如何让git commit消息中附带jira_id/issue_id

效果图

Git commit消息中附带jira_id/issue_id_第1张图片

步骤

  • 拉取一个带jira_id的分支 Git commit消息中附带jira_id/issue_id_第2张图片
这里我们拉取了一个jira_id为SLCDTY-21的关于food的功能分支
  • 修改项目根目录下的.git/hooks/commit-msg文件,修改头部如下
# !/bin/sh
COMMIT_FILE=$1
COMMIT_MSG=$(cat $1)
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
JIRA_ID=$(echo "$CURRENT_BRANCH" | grep -Eo "[A-Z0-9]{1,10}-?[A-Z0-9]+")
MSG_WITHOUT_COMMENT=$(grep -v '^\s*#' $COMMIT_FILE |grep -v '^\s*$')
if [ -n "$JIRA_ID" -a -n "$MSG_WITHOUT_COMMENT" ]; then
    echo "$MSG_WITHOUT_COMMENT@$JIRA_ID" > $COMMIT_FILE
    echo "JIRA ID '$JIRA_ID', matched in current branch name, prepended to commi
t message. (Use --no-verify to skip)"
fi
  • 编辑分支并add Git commit消息中附带jira_id/issue_id_第3张图片
  • commit Git commit消息中附带jira_id/issue_id_第4张图片

  • git log --oneline|emojify |less git add 代码

参考链接

git 颜文字commit

查看原文:https://www.huuinn.com/archives/485
更多技术干货:风匀坊
关注公众号:风匀坊

你可能感兴趣的:(Git)