I use a Git repository on my server to version user data files sent to the server. I'm interested in getting a list of changed files between any two revisions.
I know about git diff --name-only <rev1> <rev2>, but this only gives me a list of file names. I'm especially interested in renames and copies, too. Ideally, the output would be something like this:
updated: userData.txt
renamed: picture.jpg -> background.jpg
copied: song.mp3 -> song.mp3.bkp
Is it possible? --name-status also doesn't seem to indicate renames and copies.
Git file History provides information about the commit history associated with a file. To use it: Go to your project's Repository > Files. In the upper right corner, select History.
Find what file changed in a commit To find out which files changed in a given commit, use the git log --raw command. It's the fastest and simplest way to get insight into which files a commit affects.
git diff --name-status -C <rev1> <rev2>
should be closer to what you are looking for.
--name-status would display the file names and their respective status:
(A|C|D|M|R|T|U|X|B)
Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R),
type (i.e. regular file, symlink, submodule, …) changed (T),
Unmerged (U), Unknown (X), or pairing Broken (B)
(to which the OP Jean Philippe Pellet adds:
The status letters
RandC“are always followed by a score denoting the percentage of similarity between the source and target of the move or copy, and are the only ones to be so". )
Regarding files copied or moved:
-C[<n>]
--find-copies[=<n>]
Detect copies as well as renames. If
nis specified, it has the same meaning as for-M<n>.
--find-copies-harder
For performance reasons, by default,
-Coption finds copies only if the original file of the copy was modified in the same changeset.
This flag makes the command inspect unmodified files as candidates for the source of copy.
This is a very expensive operation for large projects, so use it with caution. Giving more than one-Coption has the same effect.
brauliobo recommends in the comments:
git diff --stat -C
git show --stat -C
git log --stat -C
I believe `` will show that information
git diff -M -C --stat
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With