You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure DevOps API获取分支链式提交的文件列表或提交哈希?

无需创建PR获取Azure DevOps分支链式提交的文件列表/提交哈希

你可以借助Azure DevOps的REST API直接实现需求,无需创建拉取请求,以下是两种高效方案:

方案1:用Compare Commits API一次性获取差异(推荐)

这个API可以直接对比两个分支(比如你的特性分支和基准分支,如main),返回所有链式提交的哈希、作者信息,以及对应的文件变更列表,适合大型仓库的高效查询。

请求示例(curl)

curl -u "用户名:个人访问令牌(PAT)" \
"https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/commits/compare?baseVersion={基准分支名}&baseVersionType=branch&targetVersion={目标分支名}&targetVersionType=branch&api-version=7.1-preview.1"

返回结果说明

  • commits 数组:包含所有链式提交的哈希值、提交信息、作者等完整数据
  • changeEntries 数组:列出所有变更文件的路径、变更类型(添加/修改/删除),以及对应的提交关联信息

方案2:先获取分支提交历史,再逐个查询文件变更

如果需要单独提取每个提交的文件列表,可以分两步操作:

步骤1:获取分支的提交历史

curl -u "用户名:PAT" \
"https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/commits?searchCriteria.itemVersion.version={分支名}&searchCriteria.itemVersion.versionType=branch&api-version=7.1-preview.1"

返回的value数组包含该分支的所有提交哈希。

步骤2:根据提交哈希查询对应文件

对每个提交哈希,调用以下API获取文件列表:

curl -u "用户名:PAT" \
"https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/commits/{提交哈希}/changes?api-version=7.1-preview.1"

注意事项

  • 个人访问令牌(PAT)需要配置Code (Read)权限
  • 方案1的对比API是最高效的,尤其适合大型仓库,避免多次请求的性能损耗
  • 可以根据需求筛选返回字段,减少数据传输量

内容的提问来源于stack exchange,提问作者Jepper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 12:45:37