We can get list of changed files between 2 branches/commits by
$ tar --ignore-failed-read -vczf archive.tgz $(git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT master develop)
Let's see important part:
-
git diff-tree -r $commit_id
:
Take a diff of the given commit to its parent(s) (including all subdirectories, not just the top directory). -
--no-commit-id --name-only
:
Do not output the commit SHA1. Output only the names of the affected files instead of a full diff. -
--diff-filter=ACMRT
:
Only show files added, copied, modified, renamed or that had their type changed (eg. file → symlink) in this commit. This leaves out deleted files.