gpt4 book ai didi

Git post-receive Hook 不起作用但提交后工作

转载 作者:行者123 更新时间:2023-12-04 18:02:51 32 4
gpt4 key购买 nike

长话短说,我在 github 上创建了一个测试 repo,将其克隆到我的 linux 机器上。创建了一个包含以下内容的提交后 Hook :

#!/bin/bash
echo Test message

为钩子(Hook)添加了 perms 777,更改了一个文件,当我执行提交时,我在控制台上收到了消息。所以提交后 Hook 似乎有效。我现在将 Hook 从 post-commit 重命名为 post-receive 但在推送之后我没有收到任何消息。我一直致力于并 push 掌握,但没有显示任何消息。钩子(Hook)是一样的,有 777,具有相同的内容,所以我不明白为什么在提交后 Hook 有效,但在接收后却不起作用。我是否遗漏了一些明显的东西?

最佳答案

假设你有两个仓库

  1. 本地(在你的例子中是从你机器上的 github 克隆的)
  2. 来源(github 上的 repo )

post-commit 如下所示

您将 post-commit 放入您的本地仓库中,它会在您在此本地仓库中提交后每次执行。所以这适用于您的情况。

pos-receive 工作原理如下

这个钩子(Hook)应该在收到提交后运行。所以如果你把它放在你的本地仓库中,这是行不通的。这个钩子(Hook)需要在原始仓库上。每当你推送到这个原点时,在收到你的提交后,这个钩子(Hook)就会在原点上执行。简而言之,post-receive 将在从其他 repo 接收提交的 repo 上工作。 (在这种情况下,github 上的 repo)。希望这对您有所帮助。

关于Git post-receive Hook 不起作用但提交后工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32063666/

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