gpt4 book ai didi

推送后 Git 接收后 Hook 未运行

转载 作者:太空狗 更新时间:2023-10-29 14:08:32 24 4
gpt4 key购买 nike

我在 Amazon EC2 实例(运行 Ubuntu 12.04)上托管了一个网站。我希望能够使用 git 将更改推送到服务器,然后使用接收后 Hook 在工作目录中 checkout 。所以在 hooks 目录中的服务器上,我有一个名为 post-receive 的文件,其中包含:

#!/bin/sh
GIT_WORK_TREE=/home/ubuntu/beta git checkout -f

该文件具有权限:-rwxrwxr-x(即它是可执行的)。

在我的本地机器上,当我推送到服务器上的git repo 时,推送成功并更新了git repo。但是,接收后 Hook 不会运行。如果我手动运行 Hook ,它会正常运行并更新工作目录。

git push 是通过 SSH 执行的,并且使用与我手动运行 Hook 时相同的用户。

为什么钩子(Hook)不会自动运行的任何想法?

谢谢。

最佳答案

我已经设置了一个本地相同的测试(即我从本地文件夹克隆)并且它工作正常。

为了查看脚本是否完全执行,我添加了一个简单的触摸来查看它是否修改了任何文件

我的post-receive是这样的

#!/bin/sh

touch /Users/raven/git_tests/live/.git/hooks/i_ve_been_run
GIT_WORK_TREE=/Users/raven/git_tests/live git checkout -f

确保你的钩子(Hook)被准确命名为 post-receive 否则它不会工作。

关于推送后 Git 接收后 Hook 未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14922396/

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