Meld是一款非常好用的文件夾對(duì)比工具,這款軟件提供了文件夾比較、目錄比較、版本控制和合并模式四大功能,你可以通過這款軟件比較兩個(gè)文件夾的不同之處,并且Meld免費(fèi)版支持Git、SVN等主流的版本控制系統(tǒng)。
功能特色:
文件比較
就地編輯文件,并即時(shí)更新比較
執(zhí)行雙向和三向差異并合并
輕松地在差異和沖突之間導(dǎo)航
通過標(biāo)記的插入,更改和沖突可視化全局和局部差異
使用內(nèi)置的正則表達(dá)式文本過濾來忽略不感興趣的差異
語法突出顯示
目錄比較
逐個(gè)文件地比較兩個(gè)或三個(gè)目錄,顯示新文件,缺失文件和更改文件
直接打開任何沖突或不同文件的文件比較
過濾掉文件或目錄以避免看到虛假的差異
還提供簡(jiǎn)單的文件管理
版本控制
Meld支持許多版本控制系統(tǒng),包括Git,Mercurial,Bazaar和SVN
在提交之前,啟動(dòng)文件比較以檢查所做的更改
查看文件版本控制狀態(tài)
也可以使用簡(jiǎn)單版本控制操作(即提交/更新/添加/刪除/刪除文件)
合并模式(開發(fā)中)
使用共同的祖先自動(dòng)合并兩個(gè)文件
在中間窗格中標(biāo)記并顯示所有沖突更改的基本版本
可視化并合并同一文件的獨(dú)立修改
鎖定只讀合并庫以避免錯(cuò)誤
命令行界面,可輕松與現(xiàn)有工具集成,包括git mergetool
使用方法:
裝好了軟件,就可以看到類似這樣的畫面:
Meld started
有三個(gè)選項(xiàng):比較文件(File comparison),比較目錄(Directory comparison)以及版本控制視圖(Version control view)。
點(diǎn)擊“比較文件”選項(xiàng),就可以選擇需要比較的文件:
Meld file comparison
就像上面的截圖那樣明白,Meld 也可以進(jìn)行三向比較,但是在這一系列文章的第一部分,我們只會(huì)講更常用的雙向比較。
接著,選擇你想要比較的文件,點(diǎn)擊“比較”(Compare)按鈕。軟件會(huì)在兩邊分別打開兩個(gè)文件,高亮不同的行(以及不同的部分)。
Compare files in Meld
兩個(gè)文件的不同之處在第二行,差別在于 file2 文件的第二行多了一個(gè) 3。你看到的黑色箭頭是用來進(jìn)行合并或修改的操作的。該例中,向右的箭頭將會(huì)把 file2文件的第二行改成文件 file1 中對(duì)應(yīng)行的內(nèi)容。左向箭頭做的事情相反。
做完修改后,按下 Ctrl+s 來保存。
這個(gè)簡(jiǎn)單的例子,讓你知道 Meld 的基本用法。讓我們看一看稍微復(fù)雜一點(diǎn)的比較:
Meld advanced file comparison
在討論這些變化前,這里提一下, Meld 的界面中有幾個(gè)區(qū)域,可以給出文件之間的差異,讓概況變得直觀。這里特別需要注意窗口的左右兩邊垂直的欄。比如下面這個(gè)截圖:
Visual Comparison
仔細(xì)觀察,圖中的這個(gè)欄包含幾個(gè)不同顏色的區(qū)塊。這些區(qū)塊是用來讓你對(duì)文件之間的差異有個(gè)大概的了解。“每一個(gè)著色的區(qū)塊表示一個(gè)部分,這個(gè)部分可能是插入、刪除、修改或者有差別的,取決于區(qū)塊所用的顏色!惫俜轿臋n是這樣說的。
現(xiàn)在,讓我們回到我們之前討論的例子中。接下來的截圖展示了用 Meld 理解文件的改動(dòng)是很簡(jiǎn)單的(以及合并這些改動(dòng)):
File changes visualized in Meld
Meld Example 2
Meld Example 3
接著,我們滑動(dòng)文件,從一個(gè)改動(dòng)跳到另一個(gè)。但是,當(dāng)要比較的文件很大時(shí),這會(huì)耗一點(diǎn)時(shí)間,當(dāng)你想要滑動(dòng)文件跳到一個(gè)改動(dòng)的位置時(shí),也會(huì)變得很困難。如果是這種情況的話,你可以用工具欄的橙色箭頭,就在編輯區(qū)域的上方:
Go to next change in Meld
這些是你使用 Meld 時(shí)做的一般性的事情:可以用標(biāo)準(zhǔn)的 Ctrl+f 組合鍵在編輯區(qū)域內(nèi)進(jìn)行查找,按 F11 鍵讓軟件進(jìn)入全屏模式,再按 Ctrl+r 來刷新(通常在所有要比較的文件改變的時(shí)候使用)。
以下是 Meld 官方網(wǎng)站宣傳的重要特性:
文件和目錄的雙向及三向比較
輸入即更新文件的比較
自動(dòng)合并模式,按塊改動(dòng)的動(dòng)作讓合并更加簡(jiǎn)單
可視化讓比較文件更簡(jiǎn)單
支持 Git,Bazaar,Mercurial,Subversion 等等
注意還不僅僅只有以上所列的。網(wǎng)站上有個(gè)專門的特性頁面,里面提到了 Meld 提供的所有特性。這個(gè)頁面列出的所有特性分為幾個(gè)部分,以該軟件是用來做文件比較、目錄比較、版本控制還是處于合并模式下為基礎(chǔ)進(jìn)行劃分。