List all modified files in git merge commit - even the fast forwarded

49,496

Solution 1

I don't know how to do that in the commit message. But after the merge, this will give the names of all the files affected by the merge commit:

git log -m --name-only

For only a list of filenames of the commit:

git log -m -1 --name-only --pretty="format:" <Merge SHA>

There is some white space due to the merge having two parents but that can be easily removed.

Solution 2

You can also use the diff command to see the difference between any two commits. If the branches haven't been merged yet, you can specify the branch names and compare them, otherwise you might need to find where they diverged (like so) an the last commit before they were merged back together.

git diff --name-status <commit> <commit>

-name-status Show only names and status of changed files. 

Solution 3

suppose you have SHA of your merge commit, then git diff --name-only <SHA>^1 <SHA>

Share:
49,496
soupdiver
Author by

soupdiver

Updated on October 23, 2020

Comments

  • soupdiver
    soupdiver over 3 years

    I'm thinking if there is a way that when I merge a branch into another branch that ALL changed files are listed in my commit message and not just the ones which were modified in both branches. This would give me a better overview of what was changed in the branch just by seeing the merge commit. Is there a way to do this?