我在我的服务器上设置了 gitosis,我正在尝试创建一个接收后挂钩,它将检查对远程机器上工作目录的更改。
最初我收到一条错误消息,cannot open /home/user/source/testing-local/.git/FETCH_HEAD: Permission denied
因此我将工作目录的 .git 文件夹的组所有权更改为 git 用户。
在此之后,我得到了一个错误Host key verification failed
,导致我检查哪个用户正在运行钩子,当然是 git(我真傻!),所以我在 gitosis 中为运行 gitosis 的 git 用户设置了一个密钥,并在 gitosis.conf 中启用了它. 现在我变老了Permission denied (publickey).
我的接收后挂钩如下所示:
#!/bin/bash
while read oldrev newrev refname
do
if [ "$refname" == "refs/heads/master" ]; then
WORKDIR=/home/user/source/testing-local
export GIT_DIR=$WORKDIR/.git
pushd $WORKDIR >/dev/null
id
git pull --quiet >/dev/null
fi
done
该id
调用只是为了检查我以哪个用户身份运行。
有没有更简单的方法来实现这一点?!我是否错过了设置中的某些关键内容?