Find files that have changed between two commits
I use a git alias to check which files have changed between two revisions:
git config --global alias.chgd 'diff --name-only'
Now, given any two commits, git chgd commit1 commit2
will list the changed files between them. This also works for branches: git chgd master my_branch
Ofcourse, you don't have to name it chgd. Use whatever else you like as long as it doesn't conflict with an existing command.
Written by carleeto
Related protips
6 Responses
Thanks bro this is handy.
here are a couple for you as well, hopefully they are helpful.
- Show modified files in the last commit (most recent).
note: you have to put them in your git config like they are below.
dl = "!git ll -1"
- show diff of the most recent commit
dl = "!git ll -1"
- and, Show full diff of a commit given a revision (commit sha)
dr = "!f() { git diff "$1"^.."$1"; }; f"
example usage of dr
$ g dr c4965e2
use whatever commit sha or (treeish in git) you want to compare the current commit against.
the above are from this super post about git aliases
Thanks for your tip bro! I hope mine was of use as well.
I will post all my aliases in a couple of days.
I hadn't seen --name-only
. I tend to use this a lot instead (which also tells you how many lines were added/removed from each file):
git diff --stat HEAD^
What's the difference to 'git status'?
You can't pipe the output of git status
to a script that expects a list of files to operate on,
@jwebcat Thanks for that awesome page. I used yours and a few from there too.
@carleeto of course :D I'm glad you enjoyed bro. I am going to do a mega git alias protip soon with all of my aliases.