使用github进行部署,未设置git_discovery_across_filesystem

时间:2013-04-08 09:35:53

标签: git deployment

我见过很多关于我的问题的帖子和博客文章,但没有一个解决了我的问题,所以我会问这里是否有人遇到过同样的问题。

我正在尝试通过github部署我的网站。我在服务器上创建了一个裸的hub.git repo,我将我的本地git repo推送到它,检查它是否与git log一起工作,一切都很好。

然后我在服务器上用一个名为dev的repo克隆了这个repo,并为它做了一个虚拟主机,一切都很好。

我曾经从本地推送到集线器,然后从开发中心拉出集线器,它工作正常。我想自动执行此操作,我希望能够从本地推送到集线器并自动从dev中拉出集线器。所以我在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).

我检查过,我的开发目录中有一个.git,HEAD还没有被重命名。但是我确实有一个HEAD,一个FETCH_HEAD和一个ORIGIN_HEAD(不知道这会改变什么)。

我不确定这里的问题是什么。服务器是gentoo x86(如果这可能有帮助的话)。 对不起,如果我只是遗漏了一些明显的东西,或者这不是发布此内容的地方。

1 个答案:

答案 0 :(得分:0)

cd /../dev替换为cd ../dev会有所帮助。

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