用途:Azure Repos 提供不限量的免费私有 Git 仓库,面向企业级代码质量管理,核心围绕拉取请求(PR)工作流、分支策略和代码搜索。
主要能力:每个仓库可配置分支策略作为代码质量门禁,包括最少审阅人、生成验证、评论解决、工作项关联和合并策略控制。Git 认证支持多种无密码选项:带 Entra OAuth broker 的 Git Credential Manager(GCM)、SSH 密钥、用于 CI/CD 的工作负载标识联合(WIF),以及 Azure 托管计算上的托管标识;PAT 仍受支持,但不建议用于交互式场景。
使用方式:可通过 REST API 操作。仓库相关端点如 GET /_apis/git/repositories?api-version=7.1(需 Code Read 权限),创建仓库用 POST 同上端点(需 Code Read & Write,请求体含 name、project),还提供 refs、commits、items、pushes 等端点。PR 端点包括 GET/POST /_apis/git/repositories/{repoId}/pullrequests?api-version=7.1、GET/PATCH 单条 PR、以及 threads 端点用于评论。分支策略端点包括 GET/POST /_apis/policy/configurations?api-version=7.1 及 PUT/DELETE 单条配置,策略类型需使用对应 GUID(如最少审阅人、生成验证、评论解决、工作项关联、合并策略、必需审阅人、状态检查)。代码搜索使用 POST /_apis/search/codesearchresults?api-version=7.1-preview。认证方面:开发者工作站安装 GCM 并设置 credential.azreposCredentialType=oauth;Linux/macOS 使用 ed25519 SSH 密钥;CI/CD 配置联合凭据并使用 az login --federated-token;Azure 托管计算分配标识后用 az account get-access-token。
建议实践:交互式 Git 访问使用 GCM + Entra OAuth;在 main 和 release/* 上配置分支策略(至少 2 名审阅人、生成验证、评论解决);API 调用统一使用 refs/heads/ 前缀;为 PR 启用自动完成;功能分支用 squash 合并、发布分支用 merge commit;PR 描述中用 #1234 关联工作项;用代码搜索 API 做跨仓库依赖发现;PAT 每 90 天轮换,自动化优先用 WIF。
限制:资料未说明具体定价、平台覆盖范围或性能数据,暂未提供。