【问题标题】:Git post-receive script hangs indefinitelyGit 接收后脚本无限期挂起
【发布时间】:2022-11-21 15:08:57
【问题描述】:

我有一台使用 ssh 连接的远程机器。 我已经用 git init --bare 配置了一个空的 git repo,并使工作树成为一个名为 test 的文件夹。 然后,我在本地配置机器,这样我就可以使用 git push 将分支推送到它。 仅此整个过程就可以正常工作。 问题是 - 我有一个执行一些命令(包括 shell 脚本)的后接收脚本,无论我放在那里的是什么命令,在 git push 到该远程机器之后,在执行后接收之后(并且它确实成功执行了,至少看起来是这样)我曾经使用git push的git bash永远挂起,直到我执行CTRL + C ... 是什么原因造成的?

【问题讨论】:

    标签: bash git shell ssh


    【解决方案1】:

    尝试使用一个名为post-receive 的简单钩子(没有扩展名,在您的bare repo folder/.hooks 中设置)并确保它是可执行的。

    #!/bin/sh
    echo "my post-receive hook"
    exit 0
    

    包括一个shell脚本

    作为mentioned here,根据接收后挂钩调用该 shell 脚本的方式,Git 可能会等待所述接收后挂钩留下的所有子进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      相关资源
      最近更新 更多