我正在与 GitHub 企业合作,我无权将新的预接收 Hook 上传到我们的存储库。
我尝试将我的钩子(Hook)作为预推钩子(Hook)进行测试,它的工作原理就像一个魅力, 但是当我将我的钩子(Hook)发送给我们的管理员时,他说:“GitHub pre-receive-hook 脚本与 git pre-receive-hook 脚本不同。 git symbolic-ref --short HEAD 可能无法按预期工作"
所以我需要找到一种方法来替换这个命令:
current_branch=$(git symbolic-ref --short HEAD) || exit 1
将我的当前分支保存在“current_branch”参数中的命令?
如果没有测试能力,我该怎么做?
最佳答案
实际上,当使用标准输入时,您可以从第一个参数 "$refname"中获取 CURRENT_BRANCH :
while read oldrev newrev refname; do
echo "$refname : $oldrev ~ $newrev"
done
如果您想使用 sed 对其进行切割和清洁,您可以添加以下内容:
while read oldrev newrev refname; do
echo "$refname : $oldrev ~ $newrev"
current_branch=$refname
short_current_branch="$(echo $current_branch | sed 's/refs\/heads\///g')"
done
您将在参数(short_current_branch)
中获得分支的名称关于git - 如何从预接收 Hook 中获取我的分支名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47410129/