git存储库中的版本号

时间:2014-01-16 12:50:54

标签: git git-log

请问,如何计算git存储库中编辑的行总数?我正在尝试这行命令:

  

git log --oneline --shortstat

但它返回每个文件的编辑数。我如何获得总数?所有版本的添加?如何在git存储库中获取总行(插入+删除)?

1 个答案:

答案 0 :(得分:2)

你可能想要

git diff --shortstat

如果您希望在两次提交之间更改总行数,只需使用

git diff --shortstat $commit1 $commit2

但是你的问题并不完全准确。

给出以下情况:

     ,-- a -- b --, 
o---x              m --o
     `-- c -- d --'

从某个提交开始x有人在提交a中添加100行,然后在提交b中删除相同的提交。其他人在提交c添加10行,并在提交d删除相同的10行。之后db合并在提交m中。在这种情况下,xm包含完全相同的文件。

您期望更改的行数是多少?

  • 0 - 因为文件仍然相同?
  • 220 - 因为添加所有个别更改会导致此数字?
  • 200或20 - 因为这些是每条路径的变化吗?
  • 不同的东西?

尝试为您回答这个问题。

如果您提出0使用git diff --shortstat

如果您提出220使用git log --shortstat并手动添加值。