哪些 Git 提交统计信息很容易获取
以前我很喜欢 TortoiseSvn 为给定 SVN 存储库生成简单提交统计信息的能力。我想知道 Git 中有哪些功能,并且特别感兴趣的是:
- 每个用户的提交数量
- 每个用户活动随时间变化的行数
- (例如每周汇总的变化)
有什么想法吗?
Previously I have enjoyed TortoiseSvn's ability to generate simple commit stats for a given SVN repository. I wonder what is available in Git and am particularly interested in :
- Number of commits per user
- Number of lines changed per user
- activity over time (for instance aggregated weekly changes)
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
修改https://stackoverflow.com/a/18797915/3243930
。输出结果与github上的图数据非常接近。
Modify https://stackoverflow.com/a/18797915/3243930
. the output is much closed to the graph data of github.
实际上,git 已经有一个用于此目的的命令:
在您的情况下,听起来您对这种形式感兴趣:
请参阅
--help
了解各种选项。您可能还对 GitStats 项目感兴趣。他们有一些示例,包括 Git 项目的统计信息。从 GitStat 主页:
这是当前生成的一些统计信息的列表:
Actually, git already has a command for this:
in your case, it sounds like you're interested in this form:
See the
--help
for various options.You may also be interested in the GitStats project. They have a few examples, including the stats for the Git project. From the GitStat main page:
Here is a list of some statistics generated currently:
首先,您不必拉任何东西(如网络拉),因为您在本地拥有整个存储库和整个历史记录。我很确定有一些工具可以为您提供统计数据,但有时您可以通过命令行发挥创意。例如,这(刚刚出自我的脑海)将为您提供每个用户的提交数量:
您要求的其他统计数据可能需要更多考虑。您可能想查看可用的工具。谷歌搜索
git stats
指向GitStats
工具,我没有这方面的经验,更不知道如何让它在 Windows 上运行,但你可以尝试一下。First, you don't have to pull anything (as in network pull), because you have the whole repository and the whole history locally. I'm pretty sure there are tools that will give you statistics, but sometimes you can just be creative with the command lines. For instance, this (just out of my head) will give you the number of commits per user:
Other statistics you asked for may need more thought put into it. You may want to see the tools available. Googling for
git statistics
points to theGitStats
tool, which I have no experience with and even less idea of what it takes to get it run on windows, but you can try.到目前为止我发现的最好的工具是 gitinspector。它为每个用户、每周等提供设置报告
您可以使用 npm 进行安装,如下所示
详细信息以获取链接如下
示例命令
等
The best tool so far I identfied is gitinspector. It give the set report per user, per week etc
You can install like below with npm
Details to get the links are below
example commands are
etc
感谢黑客回答这个问题。然而,我发现这些修改后的版本更适合我的特定用法:(
使用 awk,因为我的 mac 上没有 gawk,并在顶部按最活跃的提交者进行排序。)
它输出一个像这样的列表:
Thanks to hacker for answering this question. However, I found these modified versions to be better for my particular usage:
(using awk as I don't have gawk on my mac, and sorting with most active comitter on top.)
It outputs a list like so:
我编写了一个小shell脚本来计算合并统计信息(在处理功能时很有用) -基于分支的工作流程)。这是小型存储库上的示例输出:
I've written a small shell script that calculates merge statistics (useful when dealing with a feature-branch-based workflow). Here's an example output on a small repository:
以下是获取特定分支或两个哈希的统计信息的方法。
这里的关键是执行 HASH..HASH 的能力,
下面我使用从分支到 HEAD(该分支的末尾)的第一个哈希。
显示分支中的总提交
显示每个作者的总提交
Here are ways to get stats for a specific branch or two hashs.
key here is the ability to do HASH..HASH
Below I am using the first hash from a branch to the HEAD which is the end of that branch.
Show total commits in a branch
Show total commits per author
请注意,如果您的存储库位于 GitHub 上,您现在(2013 年 5 月)拥有一组新的 GitHub API 来获取有趣的统计数据。
请参阅“文件 CRUD 和存储库统计信息现在可在 API 中使用”,
其中包括:
Note that, if your repo is on GitHub, you now (May 2013) have a new set of GitHub API to get interesting statistics.
See "File CRUD and repository statistics now available in the API"
That would include:
查看这个 gitstat 项目
http://mirror.celinuxforum.org/gitstat/
See this gitstat project
http://mirror.celinuxforum.org/gitstat/
这是一个简单的 ruby 脚本,我用它从 git 获取作者、添加的行、删除的行和提交计数。它不包括一段时间内的提交。
请注意,我有一个技巧,它会忽略任何添加/删除超过 10,000 行的提交,因为我假设这是某种代码导入,请随意根据您的需要修改逻辑。您可以将以下内容放入名为 gitstats-simple.rb 的文件中,然后运行
gitstats-simple.rb 的内容
Here is a simple ruby script that I used to get author, lines added, lines removed, and commit count from git. It does not cover commits over time.
Note that I have a trick where it ignores any commit that adds/removes more than 10,000 lines because I assume that this is a code import of some sort, feel free to modify the logic for your needs. You can put the below into a file called gitstats-simple.rb and then run
contents of gitstats-simple.rb
DataHero 现在可以轻松提取 Github 数据并获取统计信息。
我们在内部使用它来跟踪每个里程碑的进度。
https://datahero.com/partners/github/
我们如何在内部使用它:https://datahero.com/blog/2013/08/13/ Management-github-projects-with-datahero/
披露:我为 DataHero 工作
DataHero now makes it easy to pull in Github data and get stats.
We use it internally to track our progress on each milestone.
https://datahero.com/partners/github/
How we use it internally: https://datahero.com/blog/2013/08/13/managing-github-projects-with-datahero/
Disclosure: I work for DataHero
您可以使用 gitlogged gem (https://github.com/dexcodeinc/gitlogged) 获取作者的活动和日期。这将为您提供如下报告:
返回以下输出
You can use gitlogged gem (https://github.com/dexcodeinc/gitlogged) to get activities by author and date. This will give you report like this:
which returns the following output