gpt4 book ai didi

git - 如何忽略每个命令的 Gitblit 钩子(Hook)?

转载 作者:太空狗 更新时间:2023-10-29 14:45:46 25 4
gpt4 key购买 nike

我们在 Gitblit 中有一个预接收 Hook ,可以防止将不需要的提交推送到服务器。 Hook 逻辑有时会产生误报。真的很难做到绝对准确。我们希望能够以某种方式执行 push 命令的修改版本,以忽略 Hook 。

我试过简单地发出 git push --force,但它不起作用。钩子(Hook)没有被忽略。

有什么方法可以将自定义参数添加到 git push 并在 Gitblit Groovy 脚本中解析它们?

有点像

git push origin --ignoreOurCustomHook

然后在脚本中

if(someObject.getParameter('ignoreOurCustomHook') != null)
{
break
}

到目前为止,通过 JGit 文档挖掘没有任何用处。也许我可以使用 receivePacket.pckIn 手动解析整个命令,但它似乎 super 硬核,并且在我第一次尝试读取数据包时就崩溃了。

如有任何关于需要调查的建议,我们将不胜感激。

最佳答案

您必须使用调试器进行一些试验,但可以按照您的意愿发送推送参数。让它们使用 Groovy 钩子(Hook)机制可能很棘手。或者可能不是。我没看过。

git push --receive-pack='git receive-pack --ignoreOurCustomHook' origin master

一旦你有一些工作,你应该能够设置一个自定义 Remote 来更干净地处理它:

$ cat .git/config
...
[remote "ignoreHook"]
url = https://somewhere.com/r/myrepo.git
receivepack = git receive-pack --ignoreCustomHook

$ git push ignoreHook master

关于git - 如何忽略每个命令的 Gitblit 钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28149262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com