总结Git中的更改(插入和删除)


47

我想看看我的代码库是如何随着时间增长的。GitHub +/-在签入列表中显示得很好,这给人一种感觉。我可以在Google Code托管存储库或脱机存储库中使用类似的东西吗?


1
我投票结束这个问题是因为题外话,因为使用了特定于软件开发的工具。这些问题属于“堆栈溢出”,但是这个问题太旧了,无法迁移。
Thomas Owens

Answers:


71

Git本身具有一些选项来获取有关更改的数据。

git log --stat 将显示每个文件的更改量。

git whatchanged 详细介绍了已修改的文件。

git diff --stat <sha1> <sha2> 给出文件和两次提交之间的更改量。

还有许多其他博客提供各种格式的日志。谷歌搜索可以指向您这些。这样做git log --help还将提供格式化存储库历史记录的各种选项。Git能够通过各种命令行log选项(按作者,文件等进行过滤)为您提供大量数据。


6
美丽!谢谢。现在,我还看到--numstat了一种不太含糖但干净的替代格式。
Potatoswatter

18
--shortstat只会打印出总数。
casey 2014年

1
请记住,其中git diff --stat <sha1> <sha2>不包含插入和删除操作<sha1>,因此您必须将shacommit之前<sha1>的内容包括在内<sha1>
Vaibhav Vishal

18

如果知道要比较的提交,则可以尝试git diff命令--stat参数一起使用。它给出如下输出:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)

2
总是喜欢一个适用于大多数情况的示例(HEAD-1),而不是抽象的示例。谢谢迈克!
SimplGy '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.