2

我看过很多关于我的问题的线程和博客文章,但没有一个能解决我的问题,所以我会在这里询问是否有人遇到过同样的问题。

我正在尝试通过 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(如果这可能有帮助的话)。抱歉,如果我只是遗漏了一些明显的东西,或者这不是发布此内容的地方。

4

1 回答 1

0

替换cd /../devcd ../dev应该有帮助。

如果没有,请尝试echo $(pwd)查看您在输出中的位置

于 2013-06-03T07:41:40.790 回答