我在远程仓库上设置了一个 post receive hook setup,它试图确定传入推送的分支名称,如下所示:
$branch = `git rev-parse --abbrev-ref HEAD`
不过,我发现无论我从 $branch 变量中推送哪个分支,都会设置为“master”。
有什么想法吗?
最佳答案
post-receive hook 获取与 pre-receive 相同的数据,但不是作为参数,而是来自标准输入。为所有引用发送以下内容:
oldRev(空格)newRev(空格)refName(换行)
您可以使用此 bash 脚本解析出 ref 名称:
while read oldrev newrev ref
do
echo "$ref"
done
关于git - 无法从 Git 接收后 Hook 中检测到分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5973795/