我正在与 GitHub enterprise 合作,但无权将新的预接收挂钩上传到我们的存储库。
我尝试将我的钩子作为预推送钩子进行测试,它的工作方式就像一个魅力,但是当我将我的钩子发送给我们的管理员时,他说:“GitHub pre-receive-hook 脚本与 git pre-receive-hook 不同脚本。 git symbolic-ref --short HEAD 可能无法按您的预期工作”
所以我需要找到一种方法来替换这个命令:
current_branch=$(git symbolic-ref --short HEAD) || exit 1
Run Code Online (Sandbox Code Playgroud)
将我当前的分支保存在“current_branch”参数中的命令?
如果没有能力测试,我该如何做到这一点?
实际上,当使用标准输入时,您可以从第一个参数 "$refname" 获取 CURRENT_BRANCH :
while read oldrev newrev refname; do
echo "$refname : $oldrev ~ $newrev"
done
Run Code Online (Sandbox Code Playgroud)
如果你想使用 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
Run Code Online (Sandbox Code Playgroud)
您将仅获得参数内分支的名称(short_current_branch)
| 归档时间: |
|
| 查看次数: |
3914 次 |
| 最近记录: |