【问题标题】:Export list of all commit details in VSTS / Azure DevOps into file?将 VSTS / Azure DevOps 中所有提交详细信息的列表导出到文件中?
【发布时间】:2018-12-08 11:58:24
【问题描述】:

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

我想计算如下统计数据:

  • 每个作者每月的提交次数
  • 每次提交的大小(更改的行数和文件数,大小以 kB 为单位)
  • 一天中最繁忙的时间、一周中最繁忙的日子、一年中最繁忙的月份等。

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

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

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

直观地说,这应该很容易,但到目前为止,我必须将每个屏幕提交复制/粘贴到电子表格中,并逐步建立信息。疯狂的手动过程。但这一切都可以在 Azure Devops 浏览器界面中的 Commits 下查看,为什么我不能一次将其全部导出?

当然,我不是世界上唯一想以这种方式分析提交活动的人!但到目前为止我在网上找不到任何东西。

【问题讨论】:

标签: git azure-devops reporting


【解决方案1】:

感谢@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-formatshttps://devhints.io/git-log-format

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

(Philippe,如果您可以将您的评论移到正确的答案中,我会感谢您提供答案)

【讨论】:

  • 这很好用,但在我的情况下,cmets 是非 unicode 字符(Pe​​rian 语言),此命令会导致无法读取字符以供评论。 utf-8 编码输出有什么选项吗?
【解决方案2】:

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

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

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

这可以满足您的所有需求,包括更改次数。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2016-01-24
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多