设置Git来管理远程网站

时间:2018-07-20 01:21:44

标签: git githooks git-remote git-bare

我一直在尝试设置Git来管理我的网站,如this tutorialthis onethis onethis onethis gist所述。

总结一下我所做的事情:(可以在教程中找到详细的解释)

  1. /home/usr/mysite.git/的Web服务器上设置裸git存储库
  2. 在裸仓库中,创建一个可执行的接收后钩子,并将GIT_WORK_TREE设置为我的Web文档根目录/home/www/mysite.com/
  3. 在我的本地git存储库中,添加远程存储库。这是从我的.git/config来的:

    [remote "live"]
    url = ssh://user@ssh.myserver.com/home/usr/mysite.git
    fetch = +refs/heads/*:refs/remotes/live/*
    
  4. 推送:git push live +master:refs/heads/master

这是我得到的输出:

Everything up-to-date

太好了!
除非不是:我的远程Web文档根/home/www/mysite.com/仍然为空
我已经尽了一切努力,但无法将文件推送到远程文件夹中。

您知道我做错了什么,或者我可以做些什么来调试吗?

3 个答案:

答案 0 :(得分:1)

尝试使用GIT_WORK_TREE代替GIT_WORKING_TREE

答案 1 :(得分:1)

回购实际上可能是最新的。通过在服务器上运行git show进行验证。 相反,也许您的接收后挂钩实际上并未执行。如果是这样,也许是因为它未设置为可执行文件?

答案 2 :(得分:0)

您的.git/configpush部分中应包含以[remote "live"]开头的行。否则,它只能配置为从该远程获取。