将 VSTS/Azure DevOps 中所有提交详细信息的列表导出到文件中?

Export list of all commit details in VSTS / Azure DevOps into file?

我想将存储库中所有提交的列表(日期时间、作者、评论)导出到文件(任何格式:CSV、XML、JSON、XLS 等.) 然后我将在电子表格中对其进行分析。

我想计算如下统计信息:

这是一份高级管理报告,因此非技术经理可以了解工作量,而不会被实际的代码和架构细节蒙蔽。

似乎没有明显的方法可以做到这一点。我在 Git 命令行文档中发现了一些复杂的想法,但是 none 产生了这个信息。诚然,我不是 Git.

方面的专家

有谁知道从 VSTS/Azure DevOps 或 Git 命令行获取高级每次提交信息的简单方法?

直觉上这应该很容易,但到目前为止,我必须 copy/paste 将每一个屏幕提交到电子表格中并逐步构建信息。疯狂的手动过程。但它在提交下的 Azure Devops 浏览器界面中都是可见的,所以为什么我不能一次导出所有内容?

当然,我不是地球上唯一想以这种方式分析提交 activity 的人!但是到目前为止我在网上什么也找不到。

感谢@Philippe 指导回答:

  • 在解决方案的 .git 子目录中启动 MS-DOS 命令行
  • 发出指令:git log --pretty=format:%h,%an,%aD,%s > ./GitLog.csv
  • 等待 GitLog.csv 文件出现并在电子表格程序中打开

格式选项含义:

  • %h = 提交散列
  • %an = 作者姓名
  • %aD = 提交日期
  • %s = 主题(提交评论)

更多信息请看这里:https://git-scm.com/docs/pretty-formats and https://devhints.io/git-log-format

此解决方案没有给出每次提交的文件数量或大小,但这是一个良好的开端。

(菲利普,如果您能将您的评论移到正确的答案中,我会给您提供答案的荣誉)

我一直在寻找相同的 :) 看起来管理层到处都需要类似的报告。

而且我认为我的解决方案更简单。阅读 AvureDevOps 后 API 我意识到我们可以通过简单的 REST 查询获取所有信息(它可以从浏览器执行,因为它是 GET)

https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=5.1&top$=10000

这提供了您所需要的一切,包括更改次数。

参考 MS 文档: https://docs.microsoft.com/en-us/rest/api/azure/devops/git/commits/get%20commits?view=azure-devops-rest-5.1