gpt4 book ai didi

git - 更新项目版本 : Composer

转载 作者:太空狗 更新时间:2023-10-29 14:37:48 24 4
gpt4 key购买 nike

使用 composer 时更改版本号的正确方法是什么?考虑当前场景:

你有 masterdevelop 分支,你的版本是 1.0.0。出现严重错误,您必须创建一个 hotfix-1.0.1 分支(来自 master)来修复它并 merge 回 masterdevelop。一旦你要 merge ,你更新 "version":"1.0.1" inside composer.json

现在呢?在我的例子中,我运行了 composer update 并更新了几个依赖项(这不是我运行它的原因,我只是认为每次 composer.json 更改时都必须运行它),结果是 merge 分支时 composer.lock 上的 1 小时冲突解决。

我是否必须在更新 "version" 之后运行 composer update(或任何其他 composer 命令),或者这不是必需的,我可以只 git commit git push?

最佳答案

如果您使用受支持的版本控制系统(Git、Mercurial 或 SVN),您的 composer.json 文件中不应该有“version”键。您应该使用要发布的版本创建一个标签。

如果添加一个对多次提交都有效的版本号,Composer 应该怎么办?哪个提交是真正包含该版本的提交?如果您可以在 composer.json 中检查具有相同版本名称的多个提交,则“the”版本不明确。

此外,在此文件中手动维护正确的版本号、在正确的时间递增/提交并可能之后再次删除它是很麻烦的。

因为在 vcs 中标记软件版本并不意味着对任何文件进行编辑,所以自动不需要运行“composer update”。

另请注意,composer update 仅适用于您的包的依赖项。如果它在其他地方使用,锁定文件将被完全忽略,只使用 composer.json 中的版本要求。

关于 composer.lock 中的冲突:我不会手动解决它们。我删除了包含任何内容的文件,然后再次运行“composer update”。这将创建一个新的锁定文件,该文件尊重 composer.json 中的所有当前依赖项。如果允许的话,它可能会更新到更新的版本,但我认为这没关系。这是一个一分钟的过程 - 如果在此之后出现问题并且测试失败,则 merge 可能比锁定文件中的冲突有更多问题。

关于git - 更新项目版本 : Composer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30736807/

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