You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Git命令获取仓库中仅含1次提交的文件列表?

获取Git仓库中仅经过1次提交的文件列表

解决方案

你可以通过以下纯Git命令组合实现需求,无需依赖find命令:

基础实现命令

git log --all --pretty=format: --name-only | sort | uniq -c | awk '$1 == 1 {print $2}'
  • git log --all --pretty=format: --name-only:遍历所有分支的提交记录,仅输出每个提交涉及的文件名
  • sort:对文件名排序,为后续去重统计做准备
  • uniq -c:统计每个文件名的出现次数,也就是该文件被提交的次数
  • awk '$1 == 1 {print $2}':筛选出提交次数恰好为1的文件

SVN迁移场景优化版

如果迁移后的仓库存在空提交,可添加参数仅追踪新增或修改过的文件,避免无效统计:

git log --all --pretty=format: --name-only --diff-filter=AM | sort | uniq -c | awk '$1 == 1 {print $2}'

扩展说明

  • 所有命令均基于Git工具链实现,适配SVN转Git后的仓库场景,无需依赖仓库外的文件查找工具
  • 若要查询提交次数为任意N值的文件,只需将awk语句中的$1 == 1修改为$1 == N即可

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 06:42:31