如何列出涉及指定目录的提交中所有变更的文件?
解决Git批量查看指定目录相关提交的完整变更文件问题
方法一:使用--full-diff参数直接实现
执行以下命令即可批量查看所有修改过目标目录的提交的完整变更文件:
git log --stat --full-diff -- /root/llvm-project/lldb/source/Plugins
--full-diff参数会覆盖路径过滤的默认行为——原本仅显示指定目录内的变更文件,加上该参数后,会展示对应提交的全部变更文件统计;同时原路径参数仍会生效,只筛选出修改过目标目录的提交。
方法二:先获取相关提交ID再批量查看
先通过git rev-list提取所有涉及目标目录修改的提交哈希,再传给git log查看完整统计:
git log --stat $(git rev-list HEAD -- /root/llvm-project/lldb/source/Plugins)
git rev-list HEAD -- <path>会输出所有修改过指定路径的提交ID,将这些ID作为参数传给git log --stat,就能批量查看这些提交的完整变更文件列表。这种方式灵活性更高,可对git rev-list的结果做额外过滤后再执行查看。
内容的提问来源于stack exchange,提问作者amordo
相关产品推荐
相关产品推荐

