Git Post Commit挂钩查找分支的名称



我想创建一个提交后挂钩,通过它我需要向提交开发人员发送一个通知,说明推送的分支没有遵循我们的命名约定。所以我想知道的是:

  1. 如何读取推送的分支名称
  2. 如何检查分支名称是否遵循某种模式,如"origin/name/isueid"

当用户的分支不遵循命名约定时,我们希望通知用户。

  1. 假设你决定走jthill的接收后路线建议您查看以下答案以获取分支名称:https://stackoverflow.com/a/13057643/1504372.还有其他解决方案根据您的具体情况情况这是官方文档:http://git-scm.com/docs/githooks.(首先尝试echo$1oldrev,了解可用的内容。)
  2. 您的第二个问题需要正则表达式。http://www.itworld.com/article/2693361/unix-tip-using-bash-s-regular-expressions.html

此代码将在git hook的提交后编写即vim.git/hooks/post-commit

if git branch --show current | grep developer
then
        echo " i am developer"
        git push -u origin developer
else
        echo "i am master"
        git push -u origin master
fi

如果提交是由开发人员完成的,则上面的代码将推送到开发人员分支,否则将推送到主分支。在我的git中,我有两个分支:-主(主分支)-开发者(功能分支)

最新更新