处理模型优先生成代码的合并冲突

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?

(我意识到这可能是基于意见的,但我相信其他人也会遇到与问题相关的相同类型的问题?)

好吧,解决方法很简单。永远不要将生成的代码添加到 VCS。生成的代码是构建工件,构建工件与 VCS 无关。它们只是复制生成源中已经存在的信息,因此不应进行版本控制。这样你也不会有合并冲突,你只需生成新版本作为构建的一部分。