SourceTreeで差分抽出する方法はこちら
https://ics.media/entry/4475
上記の記事を踏まえて、少し手を加えたのがこちら
※Windows版
if "%2" EQU "" (
set PARAM1=HEAD
set PARAM2=%1
) else (
set PARAM1=%1
set PARAM2=%2
)
setlocal enabledelayedexpansion
set RET_DIR=
for /F "usebackq" %%i in (`git diff --name-only %PARAM1% %PARAM2% --diff-filter=ACMR`) do (
set RET_DIR=!RET_DIR! "%%i"
)
set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%
git archive --format=zip --prefix=diff_%TODAY%/ %PARAM1% %RET_DIR% -o diff_%TODAY%.zip
zipファイル名 => diff_20180530.zip
zipファイルのルートフォルダ名 => diff_20180530