【问题标题】:Git Module Subtree Composer Best Pratice in Yii2Yii2中的Git Module Subtree Composer最佳实践
【发布时间】:2014-11-12 16:29:23
【问题描述】:

如果我想在供应商文件夹中创建一个模块,创建子树(或其他)的 git 命令是什么?

场景: 我更新模块 推送到github

我的同事也想要更新,他应该从 github 中提取,还是只更新作曲家? 然后他必须进行自己的更改并将它们也推送到github

我尝试了一些解决方案,但我觉得它们不是最好的,其他人是怎么做到的?

场景: 我想覆盖现有模块中的一些视图文件并为此创建我自己的模块(是的,它必须是一个模块),从原始模块扩展 我需要额外的步骤吗?还有一个单独的作曲家包? 我的同事如何安装此模块并进行一些更改?

【问题讨论】:

    标签: php git module composer-php yii2


    【解决方案1】:

    如果您希望每个人都可以访问该模块,最简单的方法是为它创建一个 composer 包。然后你只需将它添加到 composer.json 文件中,你就可以通过作曲家更新来使用这个包。

    记得将git仓库绑定到packagist(通过webhooks,当你创建packagist包的时候会看到说明),这样每次更新git都会有更新packagist。

    要推送更新模块,只需浏览到该特定路径并像任何其他包一样提交/推送到 git。

    如果你不想创建一个 packagegist 包,那么你总是可以在 composer.json Use PHP composer to clone git repo 中创建一个这样的存储库。

    【讨论】:

    • 谢谢,我也应该将模块添加到我的作曲家文件中吗?
    • 如果我的同事想为这个模块做贡献怎么办?步骤是什么?用 composer 安装,添加 git remote,或者用 git 拉取。
    • 用composer安装,如果你看一下composer的安装,composer所做的实际上是用git获取所有文件。您可以毫无问题地推送、提交等。
    • 谢谢大佬,最后一个问题,如果我想覆盖现有的模块怎么办,我不需要把它放在packagist上,但我仍然需要一个单独的模块
    • 把它放在 packagist 上总是可选的,它通常更容易放在那里。如果您不想公开,请使用我在回答中给您的链接。
    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多