Setup:
我在 Windows 计算机上有主存储库,在另一台 Windows 计算机上有一个克隆。
在我的里面update钩子,我已经添加了ipconfig打印 IP 地址。我本想看到主机的 IP 地址,但它实际上打印出克隆的 IP 地址。
这让我觉得服务器端 git hooks(预接收、更新和后接收)实际上是在进行实际推送的客户端/克隆计算机上下载并本地运行的。
如果这是正确的,那么 if 对钩子的编写方式施加了很多限制。例如用 perl 编写的钩子需要所有客户端都有 perl 才能在本地执行该钩子。
有人可以确认这是否是这种行为吗?
有一篇关于超级用户的帖子谈到当我在网络共享上的存储库中运行 Git 挂钩时,会使用哪些二进制文件 https://superuser.com/questions/974337/when-i-run-a-git-hook-in-a-repo-on-a-network-share-which-binaries-are-used:
“如果是常规 (SMB/CIFS) 网络共享,则会在客户端上执行。
如果您通过 SSH 或 HTTPS 使用 Git,Git(可能是替代实现)将在远程端运行并执行挂钩。
更简单:如果您将文件路径设置为远程,则它会在本地执行,即使它实际上是 SSHFS 或其他什么。否则,它将被远程执行。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)