前言

前言

我想使用 git push 来更新我的 (nginx) 网络服务器内容,同时仍保证安全。我可以这样做的一种方法是 ssh 到我的服务器,git pull从 bitbucket 进入/srv/www,然后chown -R www-data:www-data .

不过,如果能够从我的家用电脑(类似 Heroku)将其推送到那里,那就更巧妙了,但我不确定如何最好地处理权限和所有权问题。

有人对解决这一问题最明智的方法有什么建议吗?

答案1

如果你将 Web 服务器用作 git 服务器,那么你可以采用稍微复杂的方法,即使用 git hooks(将更新代码放入脚本中,并在每次 git 更新时调用该脚本);一些 git 主机也支持 hooks,但这会复杂得多,因为它们将通过网络调用你的更新通知程序,而不是运行本地脚本

答案2

前言

绝不将任何工作副本放置在站点树内

git archive --remote ...是你的灵丹妙药

答案3

为了结束这篇文章,考虑到额外的复杂性,1)我将几个不同站点的 html 作为顶级项目的子模块,2)想要将规范源保留在 bitbucket 上,我决定直接ssh进入,git pull而不是拥有更多的移动部件。

(感谢其他答案中的信息,让我了解了不同的选择。)

相关内容