Git 在 Windows 下匯出差異檔案

當使用 git 來當作版本控管的時候,如果需要匯出兩版本之間的差異檔案,這時候可以利用 info-zip 配合 git 來做檔案匯出的動作。

首先下載 Info-Zip ,並且配合 git diff 的指令

git diff --name-only 2def75e 163c9c | C:/tools/zip.exe C:/Temp/patched.zip -@

這邊代表的意思是先比對兩個 commit 之間的差異檔案,之後傳給 C:/tools/zip.exe 執行黨做打包的動作,並且匯出到 C:/Temp/patched.zip 這個位置下。要注意的是這邊單純只是利用 git diff 匯出的差異清單,再到清單的位置下去找到檔案做打包的動作,因此這邊的 git branch 需要先切換到目標的版本,這樣匯出的檔案版本才會是正確的。

另外可能會遇到一種狀況是在 git 中會有刪除檔案的狀況在這個匯出的 zip 是沒有辦法識別的,因此一樣配合 git diff 匯出差異清單識別 A(Add) M(Modified) D(Delete) 的狀況。

git diff --name-status 2def75e 163c9c > C:/Temp/patch_list.txt

將差異清單一併匯出到 C:/Temp/patch_list.txt 下。