So I used this method to access the name of a repo within a git serverside hook. Is there a way to access the branch name as well?
The intention is that whenever someone pushes to this bare repo, a hook will trigger that calls another script and passes it the name of the repo (already does this) as well as the branch name of the branch that was just pushed.
解决方案
As mentioned in "how can git post-receive hook get name of repo it is running on?", a post-receive hook can receive commits from multiple branches:
#!/bin/bash
while read oldrev newrev refname
do
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
if [ "master" == "$branch" ]; then
# Call your script
fi
done
Your script could end up being called multiple times.
Git Hook获取推送分支名称
在Git服务器端hook中,可以获取到推送的仓库名称。文章提到,当有人推送到特定仓库时,hook会触发一个脚本并传递仓库名。现在的问题是如何同时获取到被推送的分支名称。解决方案是,在`post-receive` hook中解析引用名称以获取分支名,如果分支为'master',则调用脚本。
1124

被折叠的 条评论
为什么被折叠?



