我想获取符合某些条件的提交中更改的所有文件.所以我有以下内容:git log --grep=123,我需要将提交中更改的文件作为聚合列表进行更改,例如,如果文件在多次提交中更改,则应在结果列表中仅包含一次.这就像在togoise svn log window中选择几个提交一样,它列出了所选提交中更改的所有文件
git log 不应该用于编写脚本,但这是一个快速的解决方案:
git log --grep=pattern --name-only --pretty=format:'' | sort -u
Run Code Online (Sandbox Code Playgroud)
不完全是答案,但如果您的条件是一致提交系列的开始和结束位置,git 已准备好提供帮助:
git diff --name-only <SHA, tag start> <SHA, tag end>