首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用不一致的本地代码解决Git合并冲突

用不一致的本地代码解决Git合并冲突
EN

Stack Overflow用户
提问于 2018-02-01 17:10:16
回答 1查看 51关注 0票数 0

我对解决合并冲突有一些困惑。我的本地代码似乎反映了我所做的更改,在其他地方,我的同事也做了一些更改--所有这些都是在我实际合并之前。

下面这张很小的图片简单地展示了解决冲突工具的环境:

  • 来源:src/./AdminController.cs;远程
  • 目标:src/./AdminController.cs;本地

图1

示例1

以下是解决冲突和合并之前的本地代码:

图2

下面是冲突解决工具的一个片段:

图3

这说得通。我已经删除了Braintree using语句,因此这些更改会如期而至地反映在右边。

示例2

以下是解决冲突和合并之前的本地代码:

图4

下面是冲突解决工具的一个片段:

图5

这对我来说毫无意义。图4中第775行的本地代码在冲突解决工具中读取var currentUserLicenses,如图5所示,它显示了的本地代码(右边)是vm.HasCurrentLicense,而远程代码(左边)是var currentUserLicenses

我误会什么了?为什么在图2和图3中,我的本地代码是相同的,但是在图4和图5中,我的本地代码不是?

EN

回答 1

Stack Overflow用户

发布于 2018-02-01 18:44:59

混乱开始于冲突解决发生在“合并之前”的思想。它实际上是在应用了所有不冲突的更改之后,作为合并的最后一个步骤发生的。

因此,合并工具中的“目标”窗口没有显示合并前的“本地版本”。它向您展示了初步的合并结果--“我已经做了这么多,但是最后的几处更改重叠了,所以您需要澄清结果”。

就我个人而言,我不喜欢我使用过的任何基于GUI的合并工具,因为它们很难清楚地告诉我“你改变了这个,他们改变了这个,暂时的结果就是这个”。使用gits默认合并驱动程序在发生冲突的文件中放置的文本标记,我能够相当快地推断出我需要知道的四个相关版本(base、它们的、我们的、暂定的合并)。这就是对我有用的东西,是什么工具以你理解的方式提供给你的信息是由你来决定的。但是我真的会鼓励你们去发现如何看得比“源”和“目标”更多,因为我觉得当给你两个名字的观点时,信息就被遗漏了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48568223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档