Git Post 提交钩子以查找分支名称

Git Post Commit hooks to find name of branch

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

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

我们想在用户的分支不遵循命名约定时通知用户。

  1. 假设您决定走 post-接收 jthill 的路线 建议您查看此答案以获取分支名称: 。还有其他解决办法 根据您的具体情况,可能更合适 情况。这是官方文档: http://git-scm.com/docs/githooks。 (首先尝试 echo </code> 和 <code>oldrev 来感受一下您可以使用什么。)
  2. 你的第二个问题需要一个正则表达式。 http://www.itworld.com/article/2693361/unix-tip-using-bash-s-regular-expressions.html

(元评论:人们可能会对这个 post 投反对票,因为它 看起来 不像你试图自己解决它。如果你 post 关于什么不起作用,最好是代码/输出/错误消息。你也会通过这种方式获得更精确的帮助,此时你的问题的完整答案基本上需要我自己编写整个钩子。这个当然这只是我的看法,请随意忽略。:-))

此代码将写入 post-commit of git hooks 即 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 中,我有两个分支: -master(主要分支) -developer(功能分支)