如何使用 Git 部署网站?

How to deploy website using Git?

我想使用 Git 将本地 Laravel 网站部署到我的服务器。我一直在阅读有关如何执行此操作的教程,但他们都提到编写一些 post-receive web-hook,我对 Git 还很陌生,并不完全理解。

有人可以向我解释一下,为什么对我的 public_html 使用 git push 还不够吗?我试过了,但它没有复制我的任何网站文件,所以我猜我在这里遗漏了一些东西(可能是网络挂钩)。为什么不 git push 将本地目录中的所有内容复制到我的服务器上?

谢谢!

编辑:

我一直在关注这个教程:

https://blog.sebduggan.com/2012/03/13/deploy-your-website-changes-using-git/

为什么我们需要服务器的网络挂钩来检查我们将更改推送到我的网络根目录的存储库?为什么我们不能直接将我们的更改提交到网络根目录?

git 挂钩只是一些可执行文件,可以执行您在 bash 脚本中编写的任何内容。您可能缺少的是添加一个钩子以移动到您刚刚推送的版本。这只是一个 bash 脚本,它将调用 git checkout -f 来更新该目录。更多信息 here

更新

如果你只是不想使用钩子,你可以通过其他方式实现。您可以创建一个像 gitlab 或 github 这样的中心存储库,然后将您的更改推送到那里。然后在您的服务器中克隆该项目,而不是将更改推送到服务器,您应该从服务器中提取更改。