我是我们网站开发公司的团队负责人,我想在我们的团队中实施Git工作流程.阅读文档和文章我发现以下结构对我们有益:
我们在Bitbucket中有一个存储库.主分支仅被视为包含稳定代码.每个开发必须建立自己的分公司,并实现他的特点/ bug修正自己的分公司.一旦他决定,他的代码准备就绪,他创建了一个很好的分支历史(使用rebase,修改,樱桃挑选等)并将其推送到Bitbucket,在那里创建一个拉动请求到主分支.质量检查验证功能并批准(或不批准)它,然后我验证代码,如果可以,我将他的工作合并为主(通过快进或重新定位以获得更好的提交历史记录).
但是这种方案只适用于单个开发人员在分支机构上工作的情况.在我们的例子中,我们几乎总是有两个开发人员用于一个分支,因为一个开发人员在服务器端(PHP),另一个开发人员在客户端(HTML/CSS/JS).这两者应该如何以一种方式进行协作,使主人的历史保持干净?
服务器开发人员创建HTML文件的基本结构,客户端开发人员需要获得此结构.逻辑上将为服务器dev创建一个分支,并为客户端dev创建自己的分支,基于服务器dev分支.但这意味着,服务器开发人员需要在Bitbucket中发布他的分支,这将使他无法重新定义或更改已经发布的提交.
另一个选择是等待,直到服务器开发人员完成他的工作,发布具有良好提交历史记录的分支并忘记它,并且只有在该客户端dev开始在该分支中工作之后,这将导致时间延迟,这甚至更糟.
您如何在工作流程中处理此类协作?
每当需要以某种方式突出显示语言标签的一部分时,这里的最佳实践是什么?
我通常会尽量避免语言标签中的 html 标签,方法是将标签分成几部分并包装到 Fluid 中的相应标签中。
在最坏的情况下,标签被包裹CDATA:
<trans-unit id="my.label">
<source><![CDATA[Here comes a <strong>bold text</strong> and then <em>italic</em> and now <span class="fancy">fancy styled</span> stop]]></source>
</trans-unit>
Run Code Online (Sandbox Code Playgroud)
但这混合了内容和展示,当 CSS 被重构和一些类被重命名时,这会带来痛苦。
我想到的另一个解决方案是将所有可能包含 html 标签的文本从 XLF 移出到插件的 FlexForm RTE 字段或一些带有 RTE 字段的配置记录。但它看起来也很像 hack。
你通常如何解决这样的问题?