处理模型优先生成代码的合并冲突
Dealing with merge conflicts from model-first generated code
我正在开发一个 MVC5 应用程序,其中 Entity Framework
数据访问层是使用 Entity Developer
生成的。
我们将源代码保留在 Git(Git 流程中),并且当我尝试与我们的主要分支重新建立基础时,每次模型更改功能时我都会遇到合并冲突问题。
例如,我正在开发一项功能,该功能在开发之前提交了很多次 - 当我尝试重新设置第一个问题时,它看起来像这样:
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: App.Models/App.Base.view
both modified: App.Models/App.PregeneratedViews.cs
both modified: App.Models/App.edml
both modified: App.Models/App.ssdl
Can anyone offer a strategy or advice of how to deal with merge conflict issues arising from using model-first generated code as above?
- 如何使用 Git 流程和模型优先生成的代码?
- 其他人如何处理这些类型的问题?
- 我是否应该推动我们放弃模型优先并转向代码优先? (这是我目前唯一能看到的解决方案)
(我意识到这可能是基于意见的,但我相信其他人也会遇到与问题相关的相同类型的问题?)
好吧,解决方法很简单。永远不要将生成的代码添加到 VCS。生成的代码是构建工件,构建工件与 VCS 无关。它们只是复制生成源中已经存在的信息,因此不应进行版本控制。这样你也不会有合并冲突,你只需生成新版本作为构建的一部分。
我正在开发一个 MVC5 应用程序,其中 Entity Framework
数据访问层是使用 Entity Developer
生成的。
我们将源代码保留在 Git(Git 流程中),并且当我尝试与我们的主要分支重新建立基础时,每次模型更改功能时我都会遇到合并冲突问题。
例如,我正在开发一项功能,该功能在开发之前提交了很多次 - 当我尝试重新设置第一个问题时,它看起来像这样:
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: App.Models/App.Base.view
both modified: App.Models/App.PregeneratedViews.cs
both modified: App.Models/App.edml
both modified: App.Models/App.ssdl
Can anyone offer a strategy or advice of how to deal with merge conflict issues arising from using model-first generated code as above?
- 如何使用 Git 流程和模型优先生成的代码?
- 其他人如何处理这些类型的问题?
- 我是否应该推动我们放弃模型优先并转向代码优先? (这是我目前唯一能看到的解决方案)
(我意识到这可能是基于意见的,但我相信其他人也会遇到与问题相关的相同类型的问题?)
好吧,解决方法很简单。永远不要将生成的代码添加到 VCS。生成的代码是构建工件,构建工件与 VCS 无关。它们只是复制生成源中已经存在的信息,因此不应进行版本控制。这样你也不会有合并冲突,你只需生成新版本作为构建的一部分。