1

I'm trying to generate a list of all files that I've changed since commit X. I've tried using git log:

git log --author="Me" --stat commitX..

That works great, except it shows me the files changed per commit, whereas I just want a single (unique) file list of all the files changed across all commits.

I've also tried using git diff:

git diff --name-only --author="Me" commitX..

But the diff command doesn't respect the --author argument, so while I get a combined, unique file list, that list also includes all of my co-workers' changes.

Is there any way to use either command (or a third command for that matter) to do:

git whatever --author="Me" commitX..

myChangedFile1.foo
myChangedFile2.bar
etc.

P.S. Bonus points if I can swap --stat for --p and still use the same command (ie. if there is a way I can also see the combined diff across the list of returned files, instead of just the list).

machineghost
  • 33,529
  • 30
  • 159
  • 234
  • 1
    agree with @infused. the only addition (based on one of the answers in there is the commit range): `git log --stat --no-merge --author="case-sensitive" --name-only --pretty=format:"" hash1..HEAD | sort -u` – Mike D Apr 10 '15 at 20:54
  • Kinda sad that git doesn't actually have any way of doing this built-in, but that other post did answer my question. Thanks! – machineghost Apr 10 '15 at 21:24

0 Answers0