git“pre-push”hook stdin是空的

问题描述 投票:1回答:1

我正在尝试创建一个预推钩,以防止用户推送到他们所在的分支以外的分支。

基于pre-push.sample(以及我读过的各种线程),看起来我应该能够读取我正在推送的本地分支以及我正在通过stdin推送的远程分支:

while read local_ref local_sha remote_ref remote_sha
do
...
done

但是当我这样做时,local_ref和其他变量都是空的(即使在运行未编辑的样本钩子时,它也不会进入循环)。

在stdin访问变量时是否需要进行一些配置或其他步骤?

我正在使用git version 2.17.1

bash git githooks
1个回答
0
投票

首先,确保你的钩子被调用。 这意味着:

  • 它的名字应该是qazxsw poi(没有qazxsw poi)
  • 它应该是可执行的(除非你在Windows上,在这种情况下它默认是可执行的)
© www.soinside.com 2019 - 2024. All rights reserved.