首页 > 解决方案 > 设置 Git 来管理远程网站

问题描述

我一直在尝试设置 Git 来管理我的网站,正如本教程this one and this one and this one and this gist中所解释的那样。

总结一下我所做的:(深入的解释可以在教程中找到)

  1. 在我的网络服务器上设置一个裸 git repo/home/usr/mysite.git/
  2. 在裸仓库中,创建一个可执行的 post-receive 挂钩,并将其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/仍然是空的。
我已经尽我所能,但无法将文件推送到我的远程文件夹中。

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

标签: gitgithooksgit-remotegit-bare

解决方案


回购实际上可能是最新的。git show通过在您的服务器上运行来验证这一点。相反,也许您的 post-receive 钩子实际上并未执行。如果是这样,可能是因为它没有设置为可执行文件?


推荐阅读