如何获取 git 存储库中所有文件的计数?

如何计算 git 存储库中当前所有文件的数量?

44743 次浏览

您可以使用以下命令获取 git 存储库中所有跟踪文件的计数:

git ls-files | wc -l

命令分解:

  • git ls-files命令本身打印出存储库中所有被跟踪文件的列表,每行一个。
  • |操作符将前一个命令的输出通过漏斗输送到管道后面的命令中。
  • wc -l命令调用 字数计算程序。传递 -l标志要求它返回总行数。

注意: 这只返回存储库中的 追踪到了文件的计数,这意味着任何被忽略的文件或新的和未提交的文件将不被计数。

如果你来这里是为了寻找一种不用克隆就可以实现的方法,你可以这样做:

svn ls -R https://github.com/exampleproject/branches/master | wc -l

在 github 存储库视图中,您无法克隆或下载项目并使用外部工具。

如果您熟悉命令行工具,可以安装 git-sizer并在本地克隆的存储库中运行它。它可以告诉您关于存储库的更多信息,这些信息超出了您的想象。

看看 托克依蠢货

仅仅为了构建已接受的答案,您还可以筛选要计数的文件类型。

只计算 .json文件

# Will output only json file paths
git ls-files "./*.json" | wc -l

只计算 .c文件

git ls-files "./*.c" | wc -l

一个相当有用的方法来衡量什么语言是常见的回购..。

这是一个使用 PowerShell 的 Windows 解决方案

git ls-files | %{ Get-Content -Path $_ } | measure