如何通过Azure DevOps Git Commits API获取提交的代码变更行数?
解决Git提交代码行数统计的可行方案
以下是几个能拿到Azure DevOps Git提交代码行数的办法:
Git原生命令配合API获取
先通过你目前用的Git Commits Get Changes API拿到目标提交的哈希值,以及它的父提交哈希(如果存在)。之后在能访问对应仓库的环境里,用Git命令直接统计:- 查看提交的文件变更概览(包含行数统计):
git show --stat <commit-hash> - 精确统计增删行数:
git diff --numstat <parent-commit-hash> <commit-hash>
要是这个提交是仓库的第一个提交(没有父提交),直接用git diff --numstat <commit-hash>即可。
- 查看提交的文件变更概览(包含行数统计):
用Azure DevOps CLI直接获取
借助Azure DevOps官方的CLI工具,可以直接拿到带行数统计的提交详情,执行命令:az devops git commit show --commit-id <commit-hash> --repository <仓库名称> --organization <组织URL> --project <项目名称> --output json返回的JSON结果里会有
changeCounts字段,里面包含了新增、删除、修改的具体行数。Pipeline里批量统计
如果需要批量处理多个提交的行数统计,可以在Azure DevOps Pipeline里添加脚本任务:先拉取仓库代码,然后遍历你要统计的提交哈希列表,用Git命令逐个统计,最后把结果整理输出或者存到指定存储位置。比如用Bash或PowerShell写个循环,执行git diff --numstat并收集数据。
内容的提问来源于stack exchange,提问作者Shai Horesh
相关产品推荐
相关产品推荐

