我见过很多关于我的问题的帖子和博客文章,但没有一个解决了我的问题,所以我会问这里是否有人遇到过同样的问题。
我正在尝试通过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(如果这可能有帮助的话)。 对不起,如果我只是遗漏了一些明显的东西,或者这不是发布此内容的地方。
答案 0 :(得分:0)
将cd /../dev
替换为cd ../dev
会有所帮助。
如果没有,请尝试echo $(pwd)
查看您在输出中的位置