微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

unix – Git – 带git pull的post-receive hook“无法找到有效的git目录”

这很奇怪但是在设置git存储库并创建一个post-receive hook时:
echo "--initializing hook--"
cd ~/websites/testing
echo "--prepare update--"
git pull
echo "--update completed--"

钩子确实运行,但它从来没有设法正确运行git pull:

6bfa32c..71c3d2a  master -> master
--initializing hook--
--prepare update--
fatal: Not a git repository: '.'
Failed to find a valid git directory.
--update completed--

所以我现在问自己,如何通过post-receive使钩子更新克隆?

在这种情况下,运行进程的用户是相同的,它的所有内容都在用户文件夹中,所以我真的不明白…因为如果我手动进入

cd ~/websites/testing
git pull

它没有任何问题……

任何帮助都会非常感激

非常感谢

挂钩正在运行时,GIT_DIR和(如果显式定义了工作树)GIT_WORK_TREE已设置.这意味着您的pull不会与您更改的目录中的第二个存储库一起运行.

试试git –git-dir~ / websites / testing / .git –work-tree~ / websites / testing pull;或者取消设置git的repo-local环境:

unset $(git rev-parse --local-env-vars)

有关这些环境变量的更多信息,请参见man 1 git.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐