![]() |
1
268
以下命令的输出应该相当容易发送到脚本以合计总数:
这将为当前头部的所有提交提供统计信息。如果要在其他分支中添加统计信息,则必须将它们作为参数提供给
对于传递到脚本,甚至可以使用空日志格式删除“单行”格式,正如Jakub Nar_bski所评论的那样,
|
![]() |
2
521
这提供了一些关于作者的统计信息,并根据需要进行修改。 使用GAWK:
在Mac OSX上使用awk:
编辑(2017)Github上有一个新的包,看起来很灵活,使用bash作为依赖项(在Linux上测试)。它更适合直接使用,而不是脚本。 它是 git-quick-stats (github link) .
拷贝
用途:
|
![]() |
3
167
如果有人想查看 每一个 用户在他们的代码库中,我的几个同事最近想出了这个可怕的一行代码:
(花几分钟时间完成我们的回购,回购承诺约为10-15K。) |
![]() |
4
126
吉特名气 https://github.com/oleander/git-fame-rb 是一个很好的工具,可以一次获取所有作者的计数,包括提交和修改的文件计数:
还有python版本 https://github.com/casperdcl/git-fame (由@fracz提到):
样品输出:
但要注意:正如Jared在评论中所提到的,在一个非常大的存储库中进行此操作需要几个小时。不过,考虑到它必须处理这么多Git数据,还不确定这是否可以改进。 |
![]() |
5
100
我发现以下内容对于查看谁拥有代码库中当前最多的行很有用:
其他答案主要集中在提交中更改的行上,但是如果提交不存在并且被覆盖,那么它们可能只是被搅动了。上面的咒语还可以让所有的提交者按行排序,而不是一次只排序一个。您可以向git-blank(-c-m)添加一些选项,以获得考虑文件移动和文件之间的行移动的更好数字,但如果这样做,该命令可能会运行更长时间。 此外,如果您要查找在所有提交中为所有提交者更改的行,那么下面的小脚本很有用: |
![]() |
6
83
计数
提交
由给定分支上的给定作者(或所有作者)使用
git-shortlog
;尤其是它
|
![]() |
7
67
看了之后 亚历克斯 和 GETY3000 我的回答是,我试图缩短一行: 基本上,使用git log numstat和 不 跟踪 文件夹 改变。 Mac OSX上的Git版本2.1.0:
例子:
|
![]() |
8
23
这个 Answer 从 AaronM 使用shell一行程序是很好的,但实际上还有另一个bug,如果用户名和日期之间有不同数量的空格,空格将损坏用户名。损坏的用户名将为用户计数提供多行,您必须自己对它们进行汇总。 这个小小的变化解决了我的问题:
注意在\s之后的+将使用从名称到日期的所有空格。 实际上,添加这个答案是为了我自己的记忆,也是为了帮助其他人,因为这至少是我第二次谷歌搜索主题:)
|
![]() |
9
21
这里有一个简短的一行程序,可以为所有作者生成统计信息。比上面丹的方法快得多 https://stackoverflow.com/a/20414465/1102119 (我的时间复杂度是O(n),而不是O(n m),其中n是提交数,m是作者数)。
|
![]() |
10
20
@mmrobins@aaronm@erikz@jamesmishra提供的变体都有一个共同的问题:它们要求git生成一个不用于脚本使用的混合信息,包括来自同一行存储库的行内容,然后将这些信息与regexp匹配。 当某些行不是有效的UTF-8文本时,以及当某些行恰好与regexp匹配时(此处发生这种情况),这是一个问题。 这里有一条修改过的线,没有这些问题。它要求Git在单独的行上干净地输出数据,这使得我们可以很容易地过滤我们想要的内容:
您可以对其他字符串进行grep,如author mail、committer等。
也许是第一件事
|
![]() |
11
16
中间有一个Ruby解决方案,默认情况下Perl的可用性稍高,这里是一个替代方案,作者使用Perl来处理当前行。
|
![]() |
12
14
除了
Charles Bailey's answer
,您可能需要添加
举例来说,这里是
a commit
当使用
在这里,使用
在我看来,后者给出了一个更现实的观点,即一个人对项目有多大的影响,因为重命名文件比从头开始写文件要小得多。 |
![]() |
13
11
下面是一个快速的Ruby脚本,它根据给定的日志查询来校正每个用户的影响。 例如,对于 rubinius 以下内容:
剧本:
|
![]() |
14
6
你可以用谁( https://www.npmjs.com/package/whodid )
和
或者只是类型
然后你可以看到这样的结果
|
![]() |
15
5
我在上面提供了一个简短的答案的修改,但它不足以满足我的需要。我需要能够在最终代码中对提交的行和行进行分类。我还想按档案分类。这段代码不会重复出现,它只返回一个目录的结果,但是如果有人想更进一步,这是一个很好的开始。复制并粘贴到一个文件中,使其成为可执行文件或使用Perl运行它。
|
![]() |
16
5
这是最好的方法,它还让您清楚地了解所有用户提交的总数。
|
![]() |
17
1
这里的这个脚本可以做到。把它放进authority.sh,chmod+x it,你就一切就绪了。
|
![]() |
18
1
使用以下方法将日志保存到文件中:
您的输出如下:
|
![]() |
20
0
这个问题要求提供关于 具体的 作者,但许多答案都是基于他们的代码行更改返回排名的作者列表的解决方案。 这正是我所寻找的,但现有的解决方案并不十分完美。为了让那些可能通过谷歌找到这个问题的人感兴趣,我对他们做了一些改进,并将他们制作成一个shell脚本,我将在下面显示。一个注释的(我将继续维护)可以是 found on my Github . 有 不 依赖于Perl或Ruby。此外,行更改计数中还考虑了空白、重命名和行移动。只需将其放入一个文件中,并将Git存储库作为第一个参数传递。
|
![]() |
21
0
到目前为止,我认为最好的工具是gitinspector。它为每个用户、每周等提供设置报告。 你可以用NPM安装如下 NPM安装-G GitInspector 获取更多详细信息的链接 https://www.npmjs.com/package/gitinspector https://github.com/ejwa/gitinspector/wiki/Documentation https://github.com/ejwa/gitinspector 示例命令包括
|
![]() |
RSW · Python-检查序列中的最后一个值是否相对高于其余值 1 年前 |
![]() |
mayen · Z-Score作为差异值的度量 1 年前 |
![]() |
John Philips · Python中的重命名函数 1 年前 |
![]() |
Yneedtobeserious · 给定的数据点,形成它们的关系 1 年前 |
![]() |
Idan Hazan · 转换总和为1的列表并保持值之间的关系[重复] 1 年前 |
|
Jimmy3421 · 为什么pd.cut会产生NaN值 1 年前 |
|
JoRayMe · 有没有办法从数据数组中识别浮点数中的小数位数? 2 年前 |