【问题标题】:Smarty as a submoduleSmarty 作为子模块
【发布时间】:2012-12-29 21:57:20
【问题描述】:

有没有办法可以将 Smarty PHP 的 libs 文件夹添加到我的开源 GitHub 项目中,并在 Smarty 更新时自动更新?

【问题讨论】:

    标签: php git github smarty


    【解决方案1】:

    考虑通过Composer 管理依赖项,然后通过Packagist 引用包含Smarty。

    这样您既可以参考最新的开发版本,也可以参考特定版本 - 建议使用后一种方法,以免陷入重大问题。

    【讨论】:

    • 这是一个基于 php 的依赖管理,与 Git 无关(不像我在下面的回答中描述的那样),这在这种情况下更有意义。 +1
    【解决方案2】:

    不,因为您可以在 GitHub 存储库中注册的唯一参考是子模块。
    (如“Using someone else's repo as a Git Submodule on GitHub”)

    子模块只是引用一个固定提交,而不是“最新的”。

    您可以使用subtree merging,但是:

    • 更新将在本地完成
    • 将复制数据(在 Smarty 初始存储库和您自己的存储库之间),推送到 GitHub。

    【讨论】:

      【解决方案3】:

      您可以使用this repo,它是 Smarty 的 Git 镜像。你真的不希望外部库自动更新。

      如果更新有错误或其他更改会破坏您的代码怎么办?你怎么回滚?如果自动更新,你怎么知道回滚到哪里?

      如果您知道自己需要 Smarty 中的新功能或错误修复,我强烈建议您避免自动更新,而是手动更新。

      【讨论】:

      • 两个问题:有没有办法我只能拥有distribution/libs 中的文件,如果我愿意,我可以用 git 命令手动更新它吗?
      • 除非您想建立自己的镜像,否则您将不得不克隆整个存储库。 git 中有“浅层克隆”之类的东西,但这不能很好地与子模块一起使用。要手动更新,您只需进入子模块目录并将 repo 更新为您想要的任何提交。这将更新您可以提交的主仓库中的.gitmodules
      猜你喜欢
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      相关资源
      最近更新 更多