Git Post 提交钩子以查找分支名称
Git Post Commit hooks to find name of branch
我想创建一个 post 提交挂钩,我需要通过它向提交分支的开发人员发送通知,告知推送的分支不遵循我们的命名约定。所以我想知道的是:
- 如何读取推送的分支名称
- 如何检查分支名称是否遵循特定模式,如 "origin/name/issueid"
我们想在用户的分支不遵循命名约定时通知用户。
- 假设您决定走 post-接收 jthill 的路线
建议您查看此答案以获取分支名称:
。还有其他解决办法
根据您的具体情况,可能更合适
情况。这是官方文档:
http://git-scm.com/docs/githooks。 (首先尝试
echo
</code> 和 <code>oldrev
来感受一下您可以使用什么。)
- 你的第二个问题需要一个正则表达式。
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(功能分支)
我想创建一个 post 提交挂钩,我需要通过它向提交分支的开发人员发送通知,告知推送的分支不遵循我们的命名约定。所以我想知道的是:
- 如何读取推送的分支名称
- 如何检查分支名称是否遵循特定模式,如 "origin/name/issueid"
我们想在用户的分支不遵循命名约定时通知用户。
- 假设您决定走 post-接收 jthill 的路线
建议您查看此答案以获取分支名称:
。还有其他解决办法
根据您的具体情况,可能更合适
情况。这是官方文档:
http://git-scm.com/docs/githooks。 (首先尝试
echo
</code> 和 <code>oldrev
来感受一下您可以使用什么。) - 你的第二个问题需要一个正则表达式。 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(功能分支)