gpt4 book ai didi

php - 如何使用 Git 在开发和生产环境中分发 Thrift 生成的代码?

转载 作者:可可西里 更新时间:2023-10-31 23:09:18 24 4
gpt4 key购买 nike

您如何使用 Git(PHP、Python 等)管理存储库中生成的源代码文件和部署例程?

例如,我有一个名为“interfaces”的存储库,其中包含 Thrift 定义。它们可以转换为 Python、PHP、JS 等框架/ stub 。其他不同语言的项目,每个项目都在自己的存储库中,想要使用这些 stub 。如何将 stub 交付给项目?

我只看到两种方式:

  1. 生成 stub 文件并将它们存储在“interfaces”存储库中,这个存储库应该附加到项目的存储库中(作为只读子模块或任何其他方式)。但是由于过于复杂的“git 子模块”概念,这种方式在检查接口(interface)和 stub 的更新时会带来很多麻烦。

  2. 将纯“interfaces”存储库附加到每个项目,并生成 stub 文件作为临时 git-ignorable(!) 文件(使用“make stubs”或类似文件)。这样,每个项目都可以有自己的生成设置,并应用自己的补丁(如果需要的话)。但是你需要在PHP/Python开发和生产环境中引入一些编译命令(不仅仅是“git pull”)。

这些方法的优缺点是什么?

最佳答案

通常最好选择“生成”路线而不是“存储生成的内容”路线,主要是因为您并不总是 100% 确定所述生成内容的当前状态:它是否与源同步?

接收后 Hook 可以在推送时负责生成相关内容。
参见 Git HooksPro-Git hooks .
不过,在您自己的本地实例上(即在 git pull 上),别名可能会结合 pull 和生成所述内容。

关于php - 如何使用 Git 在开发和生产环境中分发 Thrift 生成的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8201189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com