计算合并后添加/删除的总行数?

时间:2010-01-19 21:42:19

标签: git merge

我最近带了很多提交的分支,并将它合并回我的主分支。如果我需要返回并查看因合并而添加或删除了多少行,我将如何进行此操作?

4 个答案:

答案 0 :(得分:17)

git diff有一个--shortstat选项,在合并之前会有用,因为您可以从主分支中完成git diff --shortstat ..branch/to/merge

如果合并不是快进,那么您将生成合并提交。这将包含两个分支的父信息。您可以使用这些来执行git diff --shortstat parent1..mergecommit以显示从第一个父(您的主分支)移动到合并提交结果时发生的更改。

如果合并是快进的,那么您只需要知道合并之前分支的sha1是什么,并将其与当前进行比较。你可以从git reflog得到它。

答案 1 :(得分:13)

git diff --shortstat commit1 commit2

应该给你你想要的东西:

git diff --shortstat 8fcb60bebc18b9ee4a5a0a86d41e8ecf954b8c99 0214060c21f31f9b54446dde6b6e48901e6a144d
5 files changed, 182 insertions(+), 225 deletions(-)

有关详细信息,请参阅git tricks

--shortstat
  

仅输出--stat格式的最后一行,其中包含已修改文件的总数,以及已添加和删除的行数。


注意:
您甚至可以使用它来计算一些daily activity

https://jbowes.files.wordpress.com/2008/05/screenshot-git-graphpl.png?w=490&h=342

答案 2 :(得分:2)

^(克拉)让你获得父级,所以你可以:

git diff --shortstat abc123^ abc123

答案 3 :(得分:1)

使用diff实用程序比较合并前后文件的主分支版本。

WinMerge(如果您使用的是Windows)将是一个很好用的。