我们使用Gitflow进行Web构建,我对如何hotfixes工作有疑问.但首先我应该解释一下,我们并没有完全使用正常的Gitflow工作流程.
我明白,通常你会分支你的features,他们会develop在完成时合并,你会创建你的release,release合并到master你并部署它,作为一个真正的"版本化版本".
但是,由于这是客户端工作,我们不会执行"发布",而是在需要时部署功能,因此我们的feature分支的更改会master在临时基础上合并.
这确实会引起问题,因为feature分支从分支开始develop就超前了master; 合并这些feature分支到master会合并其他的改变到master的变化(即存在于develop在当时feature是支链的都还尚未master).我们知道这不是Gitflow的设计方式,但我们需要某种分支模型,所以我们(有点)通过提交提交而不是合并分支来解决这个问题.
所以,我理解这些问题,我不相信他们正在为我现在的问题做出贡献,但为了以防万一,这就是我们使用它的方式.不过我的问题是:
hotfixes 应该怎么合并?
在我看来,情景是:
master 是"生产"develop 领先于 master然后,您想要修补hotfix分支的即时问题.在Gitflow中,这个分支来自master,当你完成时hotfix,它会被合并到master 和 develop
但这怎么不会造成大问题呢?
最近,我尝试创建一个hotfix在一个文件中更改单行副本.我完成了hotfix,并且更改合并到master没有任何问题,但是当它厌倦了合并时develop,它创建了一个巨大的35文件差异,在我没有触及的文件中有几个合并冲突,由于develop和之间的差异master.
我明白,这是因为你被合并hotfix 的分支,其本身分支master …
我正在使用当前不支持 PHP 8.2 的第 3 方作曲家库,并尝试为我的应用程序添加兼容性。
3rd 方包具有以下类:
class Configuration { }
class ApiClient extends Configuration { }
Run Code Online (Sandbox Code Playgroud)
然后我有另一个扩展:
class MyApiClient extends ApiClient { }
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
[E_DEPRECATED] Creation of dynamic property MyApiClient::$propertyName is deprecated
修复应该是添加#[AllowDynamicProperties],但这实际上并没有做任何事情。
我有以下内容:
#[AllowDynamicProperties]
class MyApiClient extends ApiClient { }
Run Code Online (Sandbox Code Playgroud)
并且仍然收到弃用错误。
我什至编辑了底层库文件,最终得到以下内容:
#[AllowDynamicProperties]
class Configuration { }
#[AllowDynamicProperties]
class ApiClient extends Configuration { }
#[AllowDynamicProperties]
class MyApiClient extends ApiClient { }
Run Code Online (Sandbox Code Playgroud)
但弃用错误仍然存在。
我有点不知所措,因为我看不出这些属性没有理由不生效。我缺少什么?我肯定正在编辑正确的文件,并且如果我在弃用错误中定义了属性,MyApiClient则会消失。
编辑:
作为一个似乎需要的更清晰的例子:
class Configuration
{
public function __construct() …Run Code Online (Sandbox Code Playgroud)