【问题标题】:Step-by-step usage of Visual Studio Git Extension for merging逐步使用 Visual Studio Git Extension 进行合并
【发布时间】:2015-10-18 18:21:28
【问题描述】:

我在 Visual Studio 中使用 Git 扩展插件处理的每个小组项目,都会遇到合并问题。在特定情况下会出现奇怪或意外的合并冲突,我不知道我们哪里出错了,也不知道我们对如何使用 git 的解释是错误的。

我们的设置是这样的。有一个主分支,所有最终确定的代码都在其中,每个开发人员都有自己的本地工作分支。开发人员在他们的分支中编写代码,准备好后,在经过其他人的代码审查并得到整个团队的同意后,他们可以合并到主分支。

为了测试主分支的功能,我们每个人都向本地工作分支添加了一个具有单独名称的空类,然后提交。提交后,我们将一一合并到master中。我合并了,一切正常。然后另一个开发人员尝试将他们的本地分支与 master 合并并收到合并错误。

.csproj 文件中出现合并错误。它试图用其他开发人员添加的文件(名为“Roman.cs”)覆盖我添加的类(名为“Michael.cs”)。下图说明了合并冲突:

请注意,在我们各自添加自己的类之前,我们都是同步的。添加类并提交到本地分支后,我们没有再次同步。

这种类型的合并冲突经常发生,而且很烦人。所以,我想一劳永逸地知道,确切,直到每次鼠标点击,是在 Visual Studio + Git 中合并的过程,这样就不会发生此类错误。什么是保证这些合并冲突永远不会发生的分步、保证工作流程。

不要费心链接到文档。我已经看过了,对我们没用。

【问题讨论】:

  • 哦,合并 .csproj 文件(或一般的 XML 文件)的乐趣。等到你们俩都更新相同或不同的 NuGet 包或 EDMX。
  • 具体过程是:处理有合并冲突。

标签: c# git visual-studio-2013 merge


【解决方案1】:

虽然这不是在 VS 中进行合并的逐步过程,但这会有所帮助。 确保在您的.gitattributes 文件中有*.csproj merge=union 行(*.sln 和您需要的任何其他 VS 项目或相关文件可能相同)。这将自动解决简单的合并冲突,就像原始问题中的示例一样,但仍然可能发生一些更大的冲突(尽管很少发生)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多