0
我有一个git存储库,当有人试图在特定分支上推 时,我想启动一个挂钩。 (pre-receive
钩,检查分支,拒绝,如果是主分支。)GIT - 获取推送的分行名称,服务器端
是否有一个地方,我可以得到推在服务器端分支任何变量时的用户,他$git clone
使用$git push
?
谢谢。
我有一个git存储库,当有人试图在特定分支上推 时,我想启动一个挂钩。 (pre-receive
钩,检查分支,拒绝,如果是主分支。)GIT - 获取推送的分行名称,服务器端
是否有一个地方,我可以得到推在服务器端分支任何变量时的用户,他$git clone
使用$git push
?
谢谢。
由于git的结构,当用户将其更改推送到远程时,您将首先意识到用户更改。所以安全处理这种情况的唯一方法是使用server-side-hooks。
客户端挂钩驻留在存储库的隐藏文件夹中,因此您不幸无法控制它。
几乎类似的question曾被问过一次。
您可以使用update
-script对不同分支(参考)上的更新进行操作。
我实际上想要使用预接收钩子,但是我可以知道用户在预接收钩子被调用时正在推送什么分支吗? – Delfalso
在更新脚本中,您可以对单个分支的更新进行操作并撤消它们。 – florianb
@Delfalso预接收钩子('git help hooks')的文档解释了钩子运行时接收到的输入(以及该输入的特定格式)。这包括将要更新的分支的名称以及它们将如何更新,前提是钩子脚本允许更改......它还记录@florianb所指的更新钩子。 – twalberg