﻿# 如何利用 WinMerge 比對一般目錄與有 SVN 版本管理的目錄

當程式已經部署正式機後，線上的檔案難免會需要臨時調整，但過了一段時間後，就會慢慢開始遇到正式機的檔案與開發環境 SVN 版本庫中的檔案不一致的情況，把正式機上的檔案拉下來準備用 [WinMerge](http://winmerge.org/) 進行比對時，卻又有一堆 .svn 或 \_svn 目錄的檔案混雜在一起，很不容易比對；若要再次匯出專案，有些專案的檔案多又大，這樣先匯出、再比對、再將變更的檔案同步回工作目錄(Working Copy)實在很沒效率，事實上 [WinMerge](http://winmerge.org/) 已經有內建 **篩選器**(Filter) 可自動略過這些不想比對的檔案或目錄！

**先開啟 WinMerge 比對視窗** 

![開啟 WinMerge 比對視窗 ](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5615d50f97b802f05e7b-image.png "開啟 WinMerge 比對視窗 ")

**設定兩個資料夾，並勾選 \[包括子資料夾\] 準備進行資料夾內容比對，最後點擊 \[篩選器\] 的 \[選取\] 按鈕**

![設定兩個資料夾，並勾選 \[包括子資料夾\] 準備進行資料夾內容比對，最後點擊 \[篩選器\] 的 \[選取\] 按鈕](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/baf1b3b4b3c454bbca1b-image.png "設定兩個資料夾，並勾選 [包括子資料夾] 準備進行資料夾內容比對，最後點擊 [篩選器] 的 [選取] 按鈕")

**然後在 \[檔案篩選器\] 的地方選取 \[Exclude Source Control\] 再按下 \[確定\]**

![然後在 \[檔案篩選器\] 的地方選取 \[Exclude Source Control\] 再按下 \[確定\] ](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/cad02fa7953ed2218fcb-image.png "然後在 [檔案篩選器] 的地方選取 [Exclude Source Control] 再按下 [確定] ")

**最後再按下 \[確定\] 即可開始進行檔案比對**

![最後再按下 \[確定\] 即可開始進行檔案比對](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/f7e4d3ba203a890aad14-image.png "最後再按下 [確定] 即可開始進行檔案比對")

開始進行**目錄比對**後，有兩種檢視方式，分別有不同的用途：

**1\. 樹狀檢視**

-   優點：清楚有哪些目錄下的檔案被變更，目錄結構一目了然。
-   缺點：目錄多且檔案分散各地時，每次都要一直展開目錄很沒效率。即便有 \[展開所有子資料夾\] 的功能，單純想比對檔案差異時也不是挺方便的。

![開始進行目錄比對後，有兩種檢視方式，分別有不同的用途：樹狀檢視](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/88cb1e4f3e13229f3967-image.png "開始進行目錄比對後，有兩種檢視方式，分別有不同的用途：樹狀檢視") 

**2\. 平面檢視**

-   優點：對於零碎的檔案可一一比對，不用顧慮有哪些目錄，可有效的專注於每一個目錄與檔案的差異比對。還可以依照畫面上各欄位進行排序，而不受目錄層級的限制。
-   缺點：當不用「資料夾」排序時，比對檔案與目錄之間的關係比較麻煩。

 ![開始進行目錄比對後，有兩種檢視方式，分別有不同的用途：平面檢視](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6d8a8eb7b877c77c1139-image.png "開始進行目錄比對後，有兩種檢視方式，分別有不同的用途：平面檢視")

**相關連結**

-   [WinMerge](http://winmerge.org/)
-   [WinMerge 2.12 Help](http://winmerge.org/docs/manual/)
