How to find the number of files changed from one commit to another in git
EDIT: "this will always count the files plus one, cause the --format=oneline
includes the commit-hash/header" as mentioned by c00kiemon5ter
The git whatchanged
tool shows you a summary of files that were modified. By itself it lists all commits, but you can also limit it to just the recent n commits:
git whatchanged -1
To count files:
git whatchanged -1 --format=oneline | wc -l
See git help whatchanged
for details.
git show --stat
This gives the list of files changed like this:
1 file changed, 1 insertion(+), 1 deletion(-)
Optionally you can add the commit code if you don't want to get the information from the latest.
git show --stat {commit code without brackets}
Apart from the above listed methods you can do this too:
git diff HEAD^..HEAD --name-only
- will give the list of files changed between HEAD
and one revision before HEAD (HEAD^
). You can replace HEAD^
with a SHA1 of the "from" commit and HEAD
with the SHA1 of the "to" commit:
git diff <SHA1-of-from-commit>..<SHA1-of-to-commit> --name-only
So if you pipe the output to wc -l
it should give you the number of files changed between commits.