gpt4 book ai didi

git - 什么用户运行 git hook?

转载 作者:IT王子 更新时间:2023-10-29 01:06:34 26 4
gpt4 key购买 nike

我的服务器上有一个更新后 Hook ,这样当我

git push

它对实时网络目录进行 pull 。然而,虽然推送总是成功,但更新后 Hook 有时会失败。

Hook 非常简单:

#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
cd /var/www
env -i git pull

我从各个地方推送更新,但有时我必须以 root 身份登录服务器并手动执行

env -i git pull

不过,我只需要在 20% 的时间内这样做。任何想法为什么它会随机失败?另外,我如何让它记录错误消息,因为它可能以无法写入文件系统的方式运行?

最佳答案

Hook 在用户执行推送时运行。如果您有某种预制设置,则可能是像 git 这样的用户或 gitosis ,或者可能是你。只要看看你是如何配置 Remote 的。 (git remote show <remote-name> 或者如果您不知道,只需检查 .git/config)大概您是通过 SSH 推送的,并且 URL 中有一个用户名@主机名。

附言证明这一点很快 - 只需在本地克隆一个 repo,用 echo $USER 抛出一个更新后的 Hook 。或类似的东西,并尝试以您自己或其他用户的身份推送(直接或通过 ssh)。

关于git - 什么用户运行 git hook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2626964/

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