Gitのあるコミット間で変更されたファイルを一覧で取得したい

git diffコマンドのオプションである --name-only をつけてあげると変更ファイルの一覧を取得できます。

git diff --name-only [コミットID] [コミットID]

以下のように出力されるので、これを加工する場合はパイプでつないでいけば良いですね。

wp-includes/js/dist/list-reusable-blocks.min.js
wp-includes/js/dist/media-utils.js
wp-includes/js/dist/media-utils.min.js
wp-includes/js/dist/notices.js
wp-includes/js/dist/notices.min.js
wp-includes/js/dist/nux.js
wp-includes/js/dist/nux.min.js
wp-includes/js/dist/plugins.js
wp-includes/js/dist/plugins.min.js
wp-includes/js/dist/priority-queue.js
wp-includes/js/dist/priority-queue.min.js
wp-includes/js/dist/redux-routine.js
wp-includes/js/dist/redux-routine.min.js
wp-includes/js/dist/rich-text.js
wp-includes/js/dist/rich-text.min.js
wp-includes/js/dist/server-side-render.js
wp-includes/js/dist/server-side-render.min.js
wp-includes/js/dist/shortcode.js
wp-includes/js/dist/shortcode.min.js
wp-includes/js/dist/token-list.js
wp-includes/js/dist/token-list.min.js
wp-includes/js/dist/url.js
wp-includes/js/dist/url.min.js
wp-includes/js/dist/vendor/lodash.js
wp-includes/js/dist/vendor/lodash.min.js
wp-includes/js/dist/vendor/react-dom.js
wp-includes/js/dist/vendor/react-dom.min.js
wp-includes/js/dist/vendor/react.js
wp-includes/js/dist/vendor/react.min.js
wp-includes/js/dist/vendor/wp-polyfill-fetch.min.js
wp-includes/js/dist/vendor/wp-polyfill.js
wp-includes/js/dist/vendor/wp-polyfill.min.js

おまけ

xargsの -I オプションを使うことで、標準入力で受け取った値をxargsに渡した引数のコマンドの任意の位置に展開することが可能です。 なので、git diff --name-onlyとxargs -Iを組み合わせることで、以下のようなことができます。

git diff --name-only c62ce56 52f858f | xargs -IIN scp IN aws-dev:/home/ec2-user

これはgit diffであるコミット間で変更されたファイルの一覧を標準出力してパイプでxargsに渡しています。 そして、パイプで受け取った標準入力は、xargsの-I オプションで任意の位置に展開してscpコマンドを実行してサーバーにファイルをコピーしています。 IN は自分で決めた値で、ここはXXXやYYYでも問題ありません。