
在 Linux 有個相當好用的指令「diff」,可以快速比對兩個檔案之間差異,並產生快速更改特定程式碼段落的 Patch 檔案,對於更新或修補問題來說非常方便,幾乎可以下個指令完成。不過如果你不是使用 Linux 但又會需要類似的比對功能,例如我經常拿來比對 WordPress 佈景主題或外掛在更新後有那些差異,你不用透過編輯器一行行比對,直接在線上使用文字差異比對工具其實就能辦到。
本文要推薦的「Mergely」是一款免費、強大的線上文字差異比對工具,用於查看及合併文件修改段落,這個工具的特色是以完全 JavaScript、HTML5 技術編寫,可直接於瀏覽器進行即時文件比較工作,支援純文字、C、C++、Java、HTML、XML、CSS 和 JavaScript。當然任何文字內容應該都可以比較,找出兩者間的差異。
Mergely 可自動對齊行數、顯示行數,以不同顏色標記出新增、修改或刪除的不同段落,如果你使用過其他的差異比較服務,會發現可以自動分析並對齊程式碼行數進行比對很好用(不然分析出來可能會變成兩邊完全不同),就無法從中找出差異性。
之前我習慣使用 DiffNow 作為線上原始碼或程式碼比較工具,不過後來它的定價策略異動,未付費的免費帳戶僅能夠比較前 2000 行程式碼(以及有 2 MB 檔案大小限制),其實是不太充裕的。因此後來我又介紹「Diff Checker 文件檔案比對工具,快速找出兩份文字或程式碼的差異性」似乎是個更好的免費替代方案,假如你想自己架一個或整合至其他程式,Mergely 開放原始碼可自由下載。
雖然如此,Mergely 還是有在自家網站提供線上差異比對(Online Diff)工具,只要開啟瀏覽器即可使用,我個人認為還蠻好用的,推薦給需要的朋友試試看!
網站名稱:Mergely
網站鏈結:https://www.mergely.com/
使用教學
STEP 1
開啟 Mergely 官方網站後,直接點擊右上角的「Online Diff」開啟線上差異比較工具。

STEP 2
Mergely 跟一般的線上差異比較差不多,都是將編輯器切割成左右兩部分,只要將兩份要比對的內容貼上(原始文件或更新文件的左右順序無關,自己記得就可以),就會自動分析並顯示出差異之處。下圖可以看出兩份 CSS 樣式表內容不太一樣,紅色部分代表是差異點,藍色的則是有修改或新增的段落。

我測試一些檔案後發現 Mergely 編輯器功能還算好用,可顯示行數、變更處,當捲動滑鼠滾輪時兩邊的編輯器都會自動捲動,對於要查看內容差異來說非常實用,也幾乎可以算是這類工具的基本功能吧!

STEP 3
從上方選單「Options」調整是否啟用側邊欄(就是編輯器兩側邊邊的顏色條,可以快速找出內容那個段落有差異),如果你沒用到可以考慮將它關閉,此外,也能調整要不要顯示程式碼的行數及顯示顏色。

另一個值得一提的特色是 Mergely 可快速將變更的內容合併到另一份文件中,點擊上方選單的左或右,選擇「Merge change right」或「Merge change left」即可將一個一個變更後的段落快速套用到另一份文件中。

值得一試的三個理由:
- 開放原始碼程式,可免費下載並自行架設使用
- 使用不同顏色標記出新增、修改或刪除處,可調整顏色
- 自動將變更內容合併至另一份文件中