【发布时间】:2016-12-08 16:20:25
【问题描述】:
我们是 4 位开发人员,应该为我们的下一个 CRM 项目开发同一个 CRM 实例。
我们计划使用解决方案打包器将解决方案文件分解为文件夹结构,其中包含代表 CRM 解决方案每个组件的 XML 文件。
我们正在使用 Git 进行版本控制。
目前,我们预计会出现一些问题,因此我们怀疑这会增加更多开销或涉及人工干预以避免某些冲突。
在 Microsoft 网站上,它提供了一个示例,其中 CRM 解决方案文件存储在源代码管理下,但开发人员 A 和开发人员 B 都独立地对该解决方案的组件进行了更改。它说:
开发者 B 已准备好跟随开发者 A。
- 在提交之前,他必须获取最新的来源,以确保之前的签入不会与他的更改发生冲突。
- 存在冲突,因为自从他上次检索最新来源后,“活动联系人”的文件已被修改。
- 开发人员 B 必须协调冲突。正在使用的源代码控制系统的功能可能有助于此过程;否则以下选择都是可行的。
- 开发人员 B 通过源代码控制历史记录(如果可用)可以看到开发人员 A 进行了先前的更改。通过直接沟通,他们可以讨论每一个变化。然后开发人员 B 只需使用商定的解决方案更新他的组织。然后,他导出、提取并覆盖冲突文件并提交。
- 允许源代码管理覆盖他的本地文件。开发人员 B 打包解决方案并将其导入到他的组织中,然后评估视图的状态并根据需要重新定制它。接下来,他可能会导出、提取和覆盖冲突文件。
- 如果先前的更改被认为是不必要的,则开发人员 B 允许他的文件副本覆盖源代码管理中的版本并提交。
在我看来,这似乎需要大量人工干预才能合并更改。这似乎不太理想。
想知道是否有人可以分享一些想法,让多个开发人员在单个 CRM 实例上工作的最佳实践应该是每个开发人员都应该自定义组件和插件?我们计划使用 Git 作为 ALM,并使用 Solution Packager 来分解解决方案,以便我们可以在 Git 中跟踪 XML 文件。
对此的任何帮助将不胜感激。
【问题讨论】:
标签: git dynamics-crm microsoft-dynamics alm dynamics-crm-2016