Git - 历史不佳时线条数量发生了变化

时间:2018-01-09 14:47:19

标签: git git-commit git-log

我必须在git repo中计算每次提交添加/删除的代码数量,但我已经说过repo有点borked。有一次,其中一个开发人员重复了相同的提交,其中一个被修改了,没有使用rebase并且之后将它们合并。

历史是(部分):

D | \ C | | B | / A B和C都删除了相同的文件(导致每次提交删除48k行),然后创建一个空D提交。 C添加了一些B没有的文件。

我正在运行git log --shortstat --reverse --pretty=oneline > log.txt命令来获取日志,然后逐行读取并添加/减去返回的值。

日志中的位(为简洁而简化): SHA-A message 4 files changed, 134 insertions(+), 3 deletions(-) SHA-B message 6 files changed, 48337 deletions(-) SHA-C message 13 files changed, 9 insertions(+), 48342 deletions(-) SHA-D Merge branch 'feature/B' of origin into feature/B 我也尝试过使用git-loc

输出是:

2018-01-09 15:31:00 10 +10 -0 c3694d2 DemoBytom@gmail.com A 2018-01-09 15:33:22 0 +0 -10 dc17b64 DemoBytom@gmail.com B 2018-01-09 15:33:48 -8 +2 -10 9cad481 DemoBytom@gmail.com C 2018-01-09 15:34:50 -8 +0 -0 f22017c DemoBytom@gmail.com Merge branch 'origin/feature/B' into feature/B 2018-01-09 15:34:56 -8 +0 -0 9e495a1 DemoBytom@gmail.com Merge branch 'feature/B'

现在 - 问题是 - 我是否可以在提交中以某种方式获得适当数量的代码,即使某些删除/插入重复然后合并?

我需要提供有关我们的存储库如何更改的统计信息,以及在不同时间段编写了多少代码,我无法用负值显示它们,也不能实际地通过每个repo中的每个提交来查找occurencies。在每个提交步骤中是否有任何可以显示正确行数的工具?

Example repository

0 个答案:

没有答案