我正在尝试创建一个 pre-push 钩子,以防止用户将代码推送到除当前所在分支之外的其他分支。
根据 pre-push.sample 示例(以及我阅读的各种线程),看起来我应该可以通过 stdin 读取我要推送的本地分支和远程分支:
while read local_ref local_sha remote_ref remote_sha
do
...
done
但是当我这样做时,local_ref
和其他变量都为空(即使运行未编辑的示例hook,在循环中也从未进入)。
是否有一些配置或其他步骤,我需要访问stdin中的变量?
我正在使用git版本2.17.1
pre-push
脚本长什么样子,以及您如何进行测试?pre-push
脚本可以从stdin
中接收该信息;如果没有更多上下文,那个循环看起来没问题。 - larsks