git管理下の変更したファイルのみを抽出するワンライナー

1
git archive --format=zip --prefix=root/ HEAD `git diff --name-only --diff-filter=DM HEAD HEAD^^^^` -o ./archive.zip

ページ数の多い案件とか対応してると、
修正対応とかでソースコード納品するとき、
「今回いじったファイルだけチョーダイ^^」
ってことがよくあるので、結構な頻度で使ってます。

1
HEAD HEAD^^^^

のところを都度変えて使ってます^^
(もっとスマートなやり方ありそう)

コミット例:
11:50 修正1
11:40 修正2
11:30 修正3

HEAD HEAD^
最新の1コミット分(修正1で変更したファイルを出力)

HEAD HEAD^^
直近の2コミット分(修正1と修正2で変更したファイルを出力)

HEAD^ HEAD^^
1個前のコミットから1コミット分
(修正2と修正3で変更したファイルを出力)