Beyond Compare 使用筆記


一、前言


1、介紹

Beyond Compare (簡稱:BC,下同)是一款很經典也很強大的文件/文件夾對比工具(后來也更新了同步合並等新功能)。

在鄙人讀大學的時候,被老師推薦,一用就愛不釋手到今。市面上后來出現了很多類似的軟件,但都不如這款強大。

官網:https://www.scootersoftware.com/

2、環境

OS:MacOS
BC:v4.2.9

早期 BC 是只有 Windows 版的,后來才出了 MAC 版,喜大普奔。

3、使用背景

這次我做的項目分 A 和 B,A 項目的大部分代碼跟 B 是一樣的(有一些地方不一樣)。兩個項目因為在不同的 git 庫中,所以也不好使用 git 命令來同步。但實際開發情況是,先把 A 項目做好,測試 ok,再把 A 項目的代碼(跟 B 項目相同需求的地方)轉到 B 項目上,於是采用 BC 來進行代碼的(一次性)遷移。

二、功能 —— 文件對比


這一章只介紹文字比較

還支持更多對比格式:

  • 表(excel or csv)
  • Microsoft Word
  • 圖片
  • 十六進制
  • 注冊表
  • 可執行文件(例如.exe和.dll)
  • MP3
  • 等等

1、對比結果的種類

  • 相同
  • 左邊獨有
  • 右邊獨有
  • 差異行

后三種都屬於差異

2、差異的種類

差異分為:

  • 重要差異
  • 不重要差異

3、差異的標識

(1)差異的位置顯示(縮略圖)

2021-04-07-00-55-58

  • 重要差異 —— 用紅色表示
  • 不重要差異 —— 用藍色表示
(2)差異的集中顯示

2021-04-07-00-56-08

【最佳實踐】推薦把上下文按鈕打開:

2021-04-07-01-07-30

4、不重要差異

(1)不重要差異有哪些?
  • 前導空格
  • 嵌入的空白
  • 尾隨空白
  • 字符大小寫
  • 獨有行
  • 比較行終止符(PC/Mac/Unix)
  • 等等

重要差異就不贅述了,因為不屬於不重要差異的就是重要差異。

可以通過 規則->重要,修改不重要差異:

2021-04-07-00-56-21

【最佳實踐】(上圖)默認“字符大小寫”是沒有勾選上的,但我覺得我需要這個。

(2)看不見的不重要差異 —— 空白

空白分為:

  • 空格
  • TAB
  • 回車

① 空白在 BC 的編輯器里表示為什么?

如下圖紅框,從左到右的符號依次為 空格、TAB、回車

2021-04-07-00-56-52


② 讓看不見的差異可以看見:

2021-04-07-00-57-00

(3)隱藏不重要差異

原理:把不重要差異視為相同

2021-04-07-01-07-55

5、差異的修改

(1)方法一

直接點原文左側的剪頭,選擇向右覆蓋還是向左覆蓋

2021-04-07-00-57-09

(2)方法二

光標定位到具體 x 行,窗口底部會出現這一行的對比(默認為“文本細節”,可以在“視圖”里改成別的細節),可以點擊左側的兩種剪頭,來進行向右覆蓋向左覆蓋

2021-04-07-00-58-20


【最佳實踐】用上下跳轉差異的剪頭,來快速修改:

2021-04-07-01-00-06

6、忽略差異

2021-04-07-00-59-43

注意 忽略差異 和 隱藏不重要差異 的區別。

7、導出差異

會話 -> 文本比較報告

可以選擇報告布局和輸出格式:

2021-04-07-00-59-56

8、其他操作

(1)對齊方式

如下圖,可以強制左邊的某一行對應到右邊的某一行:

2021-04-07-01-12-09

9、不足

識別不了內容一樣,但是中間換行的(但是其他的不可見符號可以,例如空格,TAB)。

2021-04-07-01-00-29

三、功能 —— 文件夾對比


1、對比的對象

  • 文件夾
  • 文件

可以在規則里修改對比的對象。

2、對比結果的種類

文件夾和文件存在幾種情況:

  • 存在且相同
  • 存在但是不同(這就回到了 “第二章 文件對比” 的內容)
  • 不存在

3、差異的標識

  • 存在且相同 —— 灰色
  • 存在但是不同 —— 紅色
  • 不存在 —— 紫色

4、判斷文件(夾)是否相同

(1)操作一 —— 根據規則

規則分:

  • 快速測試:對比文件(夾)的元信息
  • 需要打開的文件:對比文件(夾)的內容

默認規則是不打開文件,而是直接通過快速測試來對比。

這會導致明明我文件內容是一樣的,但是卻標紅表示文件不同。或者文件內容不同,但是卻顯示相同。

2021-04-07-01-00-40

【最佳實踐】

  • 在 快速測試 里,把 比較時間戳 關掉,開啟 比較文件名大小寫
  • 在 需要打開的文件 里,把比較內容打開,然后打開 比較內容,選擇 二進制比較

2021-04-07-01-00-47

這樣設置后,相同的文件會以“=”顯示,不同的文件會以“≠”顯示:

2021-04-07-01-00-56

(2)操作二 —— 比較內容

在具體文件(夾)上 右鍵 -> 比較內容,可以自定義比較方式:

2021-04-07-01-01-03

(3)判斷文件(夾)相同的方法

1、CRC
CRC (循環冗余校驗) 是一個文件內容的數字編碼。如果兩個文件的CRC不同,那么它們的內容肯定不同。反之如果CRC相同,那么它們的內容很可能相同(但不確定)

2、二進制
比 CRC 更准確,但也更耗時。

5、差異的修改

(1)方法一 —— 直接操作

針對文件夾和文件:

  • 復制
  • 移動

2021-04-07-01-01-12

(2)方法二 —— 詳細操作

只針對文件:

雙擊文件,打開 二、文件對比 一樣的界面,不贅述了。

6、注意點

這些是文件對比沒有,而文件夾對比才有的功能。

(1)刷新和完全刷新

工具欄的刷新只是刷新當前,而 “編輯”->“完全刷新” 是刷新所有。

(2)已忽略和排除

已忽略 文件對比 里也有,而 排除 僅在 文件夾對比 里有,是隸屬於 過濾 功能中的。

過濾 隸屬於 “規則” 設置里。

2021-04-07-01-01-22

7、其他操作

二、文件對比 一樣,不贅述了。

四、功能 —— 同步


上面的 文件夾對比,要一個一個文件(夾)的去看、去修改,太麻煩了,可以用同步,快速操作

同步基於 文件夾對比 功能,雷同的就不贅述了。

1、入口

  • 方法一:直接點主頁的文件夾同步
  • 方法二:先進文件夾對比,然后選 “會話 -> 同步基文件夾”

2、對比規則

二、文件夾對比 一樣。

3、同步規則

(1)針對每個文件(夾)的同步規則
  • 獨自離開
  • 復制左邊到右邊
  • 復制右邊到左邊
  • 刪除左邊
  • 刪除右邊
(2)針對每個文件(夾)的同步標識

2021-04-07-01-01-40

如上圖,箭頭為 復制,紅叉為 刪除,什么都沒有為 獨自離開。

(3)操作一 —— 預設(快速設置)

2021-04-07-01-01-46

會以 BC 預設好的規則,分配給每個文件(夾)。


預設類型分兩大類:更新鏡像

① 更新

更新的意思為從左邊復制較新和獨有的文件/文件夾到右邊,分為這幾種預設類型:

  • 更新左邊
  • 更新右邊
  • 更新兩者

例如更新右邊(此次我用的是這個)的具體規則為:

2021-04-07-01-01-53

② 鏡像

鏡像的意思為更改右邊以便它擁有和左邊一樣的文件/文件夾,分為這幾種預設類型:

  • 鏡像左邊
  • 鏡像右邊

例如鏡像右邊的具體規則為:

2021-04-07-01-01-58

(4)操作二 —— 高級預設(普通設置)

2021-04-07-01-02-03

提供給你修改 BC 預設好的規則的權利,去分配給每個文件(夾)。

(5)操作三 —— 單獨調整(精細設置)

你可以在文件(夾)上 右鍵,針對這個文件(夾)單獨調整同步規則:

2021-04-07-01-02-10

(6)不用同步

如果對某個文件(夾)不想用這些同步規則,那就雙擊它,進入 ”文件對比“ 功能,操作同上面的介紹。修改好后,再右鍵這個文件,點擊”排除“,讓他不要參與后續的同步操作。

(7)實施同步

點擊 ”立即同步“ 按鈕:

2021-04-07-01-02-16

五、高級功能


1、支持壓縮文件對比

會把壓縮文件當成文件夾的形式。

2、支持在線對比

① FTP:

  • FTP
  • SFTP
  • FTPS

【拓展】SFTP FTPS 區別:

SFTP 和 FTPS 都是為 FTP 連接加密,協議非常相似。一個是借助ssh加密,一個是借助ssl協議加密。

SFTP 用的更廣泛,因為它適合防火牆。SFTP 只需要通過防火牆打開一個端口(默認為 22)。此端口將用於所有 SFTP 通信,包括初始認證、發出的任何命令以及傳輸的任何數據。而 FTPS 通過嚴格安全的防火牆相對難以實現,因為 FTPS 使用多個網絡端口號。每次進行文件傳輸請求(get,put)或目錄列表請求時,需要打開另一個端口號。因此,必須在您的防火牆中打開一系列端口以允許 FTPS 連接,這可能是您的網絡的安全風險。

② 雲存儲:

  • WebDAV
  • Amazon S3
  • Microsoft OneDrive
  • Dropbox
  • Subversion

3、跟 Git 集成

可以設置成為 Git 的 difftool 或 mergetool 的默認工具。

待寫。

4、導入 / 導出設置

當你在本機給 BC 做了很多自定義的設置后,換了新電腦想要遷移之前的設置,這個會很好用。

2021-04-07-01-02-22

5、文件合並 / 文件夾合並

最高支持三路合並

待寫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM