git diff(1) --name-only --cached --diff-filter=ACMR --ignore-space-at-eol -M100%
Show changes between commits, commit and working tree, etc
    Show only names of changed files.
Show changes between the working tree and the index or a tree, changes between the index and a tree,
changes between two trees, or changes between two files on disk.
    Select only files that are Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), have their
    type (i.e. regular file, symlink, submodule, ...) changed (T), are Unmerged (U), are Unknown (X), or
    have had their pairing Broken (B). Any combination of the filter characters (including none) can be
    used. When * (All-or-none) is added to the combination, all paths are selected if there is any file
    that matches other criteria in the comparison; if there is no file that matches other criteria,
    nothing is selected.
    Ignore changes in whitespace at EOL.
-M[<n>], --find-renames[=<n>]
    Detect renames. If n is specified, it is a threshold on the similarity index (i.e. amount of
    addition/deletions compared to the file’s size). For example, -M90% means git should consider a
    delete/add pair to be a rename if more than 90% of the file hasn’t changed.
source manpages: git-diff