やりたい事 コミットとコミットの間で変更があったファイルだけを抽出したい。 差分ファイルだけ集めて提出、なんてよくあるよね。 まず git config --global core.quotepath falseを設定。 これを設定すると、git diff --name-onlyで取得するファイル名が日本語も使えるようになる。 上記の設定がtrueだとgit archiveを実行時に失敗する。 git archive --format=zip HEAD `git diff リビジョン --name-only --diff-filter=AM` -o ファイル名.zipで差分の詰まったzipファイルが生成できる。 リビジョンの部分にはgit log等で得られるリビジョンやブランチ名を指定する。 --formatで他の形式(tarとか)にも変更可能 -oオプションでファイルを生成してくれる g