我看过很多关于我的问题的线程和博客文章,但没有一个能解决我的问题,所以我会在这里询问是否有人遇到过同样的问题。
我正在尝试通过 github 部署我的网站。我在服务器上创建了一个裸 hub.git 存储库,我将本地 git 存储库推送到它,检查它是否与 git log 一起使用,一切都很好。
然后我在服务器上的一个名为 dev 的 repo 中克隆了这个 repo,并为它创建了一个虚拟主机,一切正常。
我曾经从本地推送到集线器,然后从开发中拉集线器,它工作正常。我想自动化这个,我希望能够从本地推送到集线器并自动从开发中提取集线器。因此,我在 hub.git/hooks 中创建了一个更新后文件并将其放入其中:
#!/bin/bash
echo
echo "***** updating on dev *****"
echo
cd /../dev || exit
unset GIT_DIR
git pull origin master
然后我确保我的更新后可以使用
chmod +x hooks/post-update
回到我的本地仓库,更改了一个文件
git add .
git commit -m "testing"
git push origin
出现此消息
remote :
remote : ***** updating on dev *****
remote :
remote : fatal: Not a git repository (or any parent up to mount point /dev)
remote : Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
我检查了一下,我的 dev 目录中有一个 .git 并且 HEAD 没有被重命名或任何东西。但是我确实有一个 HEAD、一个 FETCH_HEAD 和一个 ORIGIN_HEAD(不知道这是否会改变任何东西)。
我不确定这里有什么问题。服务器是 gentoo x86(如果这可能有帮助的话)。抱歉,如果我只是遗漏了一些明显的东西,或者这不是发布此内容的地方。