首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Git显示每个文件中每个作者的代码行

要在Git中显示每个文件中每个作者的代码行,您可以使用以下命令:

代码语言:javascript
复制
bashgit ls-files | xargs -I{} git blame --line-porcelain {} | awk -F '^[^ ]+ [^ ]+ [^ ]+ ' '/^author / {author=$2} /^[0-9]/ {print FILENAME, $1, author}' | sort -k3,3 -k1,1 -k2,2n

这个命令的工作原理如下:

  1. git ls-files:列出仓库中的所有文件。
  2. xargs -I{} git blame --line-porcelain {}:对每个文件执行git blame命令,使用--line-porcelain选项以易解析的格式输出信息。
  3. awk -F '^[^ ]+ [^ ]+ [^ ]+ ' '/^author / {author=$2} /^[0-9]/ {print FILENAME, $1, author}':使用awk处理git blame的输出,提取文件名、行号和作者。
  4. sort -k3,3 -k1,1 -k2,2n:对输出进行排序,首先按作者(第三列),然后按文件名(第一列),最后按行号(第二列)。

这个命令的输出将显示每个文件中每个作者的代码行,格式如下:

代码语言:javascript
复制
文件名 行号 作者

请注意,这个命令可能需要一些时间来处理大型仓库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券