为了更好地理解 Git 和正确的 Web 部署工作流程,我遇到了另一面墙。我是服务器相关软件和 unix 命令的新手,所以在回答时请记住这一点。已经就类似主题提出了很多问题,但我没有找到任何关于特定推送和合并到远程存储库的接收后挂钩。
我为部署设置了 3 个阶段。
生产(远程服务器我假设是裸存储库)
^
暂存(远程服务器裸存储库)
^
开发(本地机器)
到目前为止,我已经在本地和暂存环境中启动并运行了 Git。我在登台服务器上设置了一个接收后挂钩。到目前为止,这似乎工作得很好,但似乎这个钩子不允许我推送可以在登台服务器上看到的分支。登台服务器仅提供处于 master 分支状态的页面。这可能是预期的行为。
我应该在登台服务器上使用这个钩子吗?我似乎可以使更改生效的唯一方法是首先合并到本地计算机上的主服务器,然后将其推送到登台。这似乎不对,因为如果更改需要调整。我将不得不撤消本地的合并?
我很确定裸存储库和接收后挂钩将在生产服务器上很好地工作。因为它真的应该只有一种状态。
这些可能都是正常行为,我的工作流程可能不正确。对此或指导的任何帮助表示赞赏。我对此进行了搜索,但没有找到任何明确的文档。