Reputation: 5674
In my work process I need to provide a list of files to my server admin. The list comes from the merge of my working branch (Branch A) into Master branch.
So I merge branch A into branch Master and then deploy Master.
Right now the best I could do with git log
is the following but this list contains other commit as well ( not only the merge I'm looking for ):
git log -m --name-only --author=[NAME]
So basically I need to retrieve the files list for the merge of Branch A
into Master Branch
Is it possible with cli command ?
Upvotes: 78
Views: 89528
Reputation: 1074
I have the following alias configured in git for this purpose:
alias.merges=log --oneline --decorate --color=auto --merges --first-parent
This is useful to see all previous merges to the branches (wtih release tags) useful when updating deployment terraform configs:
$ git merges -5
ad2b1a1 (HEAD -> master, tag: 22.09.00003, origin/master, origin/HEAD) Merge branch 'feature/E' into 'master'
80ca202 (tag: 22.09.00002) Merge branch 'feature/D' into 'master'
8d693c3 (tag: 22.09.00001) Merge branch 'feature/C' into 'master'
09604e4 (tag: 22.09.00000) Merge branch 'feature/B' into 'master'
70285a5 (tag: 22.08.00009) Merge branch 'feature/A' into 'master'
Like previous answers state you can then see difference between releases like:
$ git diff 22.09.00000..22.09.00002
Upvotes: 8
Reputation: 1164
I find it useful to narrow the path to first parent in order to ignore "update branch" merges.
Looks like this for me:
git log r2.8.7-2018-09-04..HEAD --merges --first-parent
Upvotes: 40
Reputation: 14883
Narrow it down using git log --merges --author
to figure out the commit you want and then try
git diff --name-only ${MERGE_SHA}^1..${MERGE_SHA}
Upvotes: 82