为什么git预推在推之前没有启动?

为什么git预推在推之前没有启动?,git,shell,Git,Shell,我已经创建了一个预推文件并将其保存到.git/hooks文件夹中。似乎是这样的,推送仍在向服务器发出调用,即使我输入了echo语句和退出1调用。当我执行gitpush调用时,我可以看到服务器消息,然后是echo语句 如果预推送文件的第一行是退出1,推送过程是否应该立即停止,并且不与远程服务器建立连接 我在这个钩子上遗漏了什么?我唯一希望看到的是我的Hello there消息,其他什么都没有 echo "Hello there" exit 1 好吧,我没有完整的答案,但这就是我所知道的 尽管从远

我已经创建了一个预推文件并将其保存到.git/hooks文件夹中。似乎是这样的,推送仍在向服务器发出调用,即使我输入了echo语句和退出1调用。当我执行gitpush调用时,我可以看到服务器消息,然后是echo语句

如果预推送文件的第一行是退出1,推送过程是否应该立即停止,并且不与远程服务器建立连接

我在这个钩子上遗漏了什么?我唯一希望看到的是我的Hello there消息,其他什么都没有

echo "Hello there"
exit 1

好吧,我没有完整的答案,但这就是我所知道的

尽管从远程服务器获得了横幅消息,但预推确实会在退出1时停止将进程推送到服务器。这是误导,只是因为我看到的旗帜信息,但它是工作


git文档中应该记录一些内容,说明为什么在推送得到批准之前就为预推建立了连接。

我同意应该改进文档。但是,首先建立连接是非常必要的,一点思考就会立即说明原因:预推钩子不仅获取外部Git的ref name,还获取相应的hash ID。唯一至少具有该信息的实体,正确的信息是外部Git本身。因此,在这一点上,必须建立一个连接,数据流动。