GITでコミットAからコミットBまでの間で、削除・追加・変更されたファイルについて、それぞれの一覧を取得する方法です。
git diff
は --name-only
を付けると、ファイルのパスを返してくれるのです。
git diff
は --name-status
を付けると、ファイルのパスとステータス(削除・追加・変更)を返してくれるのです。
差分ファイル一覧を出力
git
$ git diff --name-status A..B
結果
D src/◯◯◯◯/◯◯◯.◯◯◯ D = 削除ファイル
A src/◯◯◯◯/◯◯◯.◯◯◯ A = 追加ファイル
M src/◯◯◯◯/◯◯◯.◯◯◯ M = 変更ファイル
差分ファイル一覧を別ファイルに保存
リスト一覧を出力してファイル保存したい場合
> list.tsv
を追加すれば大丈夫。
git
git diff --name-status 1a9c53a..0abd2d2 > list.tsv
出力結果がタブで区切っているので今回は.tsv
にしています。
差分抽出してzipに保存
git
$ git archive --format=zip --prefix=root/ HEAD `git diff --diff-filter=d --name-only HEAD^ HEAD` -o archive.zip
詳しくは下記より
https://qiita.com/kaminaly/items/28f9cb4e680deb700833
参考サイト