1

我的问题是双重的。我使用与Visual Studio 2015集成的Beyond Compare作为我的比较/合并工具。在查看我的“挂起的更改”列表时,如果我右键单击 - >源代码管理 - >与最新版本进行比较,我会看到一个文件,在文本比较中可以看到没有差异,如下所示:我如何获得超越忽略非文本字符

Text Compare - Note (for later) the bit I've highlighted

但是,如果我这样做比较相同的六角形,我得到以下结果:

​​

我可以看到它以某种方式得到的EF BB BF在起点和超越比较这个区别与左侧窗口中的红色条。

在其他情况下,我在末尾看到了0d0a文件,显然是换行符,但再次比较并没有显示文本比较中的差异(我见过Git GUi表明它在过去有所不同)。

如何才能让Beyond Compare忽略这些在文本比较中不会显示的变化,因为它将特定文件视为“挂起更改”,因此我在“待定更改”中没有看到它窗口在第一个地方?

,或者,如果这不是在所有可能,

我怎样才能获得超越比较,以显示这些改变在默认的文本比较,这样我就可以很容易地撤销呢?

+2

文件开头的EF-BB-BF表示带有BOM的UTF-8。在顶部图像的右侧,在文件内容的上方,您可以看到以红色下划线的“BOM”。 – AdrianHHH

+0

谢谢你阿德里安。错过了带下划线的BOM文本;我可以和克里斯·肯尼迪的答案一起使用,以(有点)解决这个问题。 – Ash

回答

2

为了使多余的换行符显示为文本的差异比较:

  1. 点击规则工具栏按钮(裁判图标)。
  2. 重要性选项卡上,检查比较行结束符(PC/Mac/Unix)
  3. ,使之成为新的文本的默认比较会话,从利用变化的下拉这种观点只,然后单击确定还要更新会话缺省

如果您打开查看>可见空白,额外的换行符将显示为红色差异。当此设置打开时,它也将在一侧显示Windows样式换行符,而在另一侧显示Unix样式换行符,作为区别。

正如AdrianHHH所说,EF BB BF是一个UTF-8字节顺序标记。在文本比较中添加或删除物料清单是不可能的。在十六进制比较中,可以从文件中删除BOM。

+0

谢谢克里斯。这看起来像我所需要的。 – Ash