【问题标题】:Deploying with github, git_discovery_across_filesystem not set使用 github 部署,未设置 git_discovery_across_filesystem
【发布时间】:2013-04-08 09:35:52
【问题描述】:

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

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

然后我在服务器上将这个 repo 克隆到一个名为 dev 的 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(如果这可能有帮助的话)。 抱歉,如果我只是遗漏了一些明显的东西,或者这不是发布此内容的地方。

【问题讨论】:

    标签: git deployment


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2017-03-08
      • 1970-01-01
      • 2021-10-19
      • 2016-05-01
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 2020-04-18
      相关资源
      最近更新 更多