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