You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何获取Git多个指定提交中修改/新增的唯一文件列表?

获取指定Git提交的唯一修改/新增文件列表

方法一:用git show结合去重命令

直接把所有目标提交作为参数传给git show,再通过过滤和去重命令提取唯一文件列表:

git show --name-only --oneline 87291d43 bf7ffe3c 3a5aa966 50415cfa f87105b0 130cf0bf | grep -v '^[0-9a-f]\{8\} ' | sort -u

各部分作用:

  • git show --name-only --oneline <提交哈希列表>:批量输出指定提交的单行信息及对应的修改文件
  • grep -v '^[0-9a-f]\{8\} ':过滤掉以8位提交哈希开头的提交标题行,只保留文件名
  • sort -u:对文件名排序并去除重复项,确保每个文件仅显示一次

方法二:用git log实现同样效果

如果习惯使用git log,可以用类似逻辑:

git log --name-only --oneline 87291d43 bf7ffe3c 3a5aa966 50415cfa f87105b0 130cf0bf | grep -v '^[0-9a-f]\{8\} ' | sort -u

Windows PowerShell 适配命令

如果在Windows环境使用PowerShell,替换为以下命令:

git show --name-only --oneline 87291d43 bf7ffe3c 3a5aa966 50415cfa f87105b0 130cf0bf | Select-String -Pattern '^[0-9a-f]{8} ' -NotMatch | Sort-Object -Unique

内容的提问来源于stack exchange,提问作者S H

火山引擎 最新活动