假设我云效有一个分支A 然后我根据A checkout了一个B 然后B提交了5次 现在B又merge到A上 现在的需求是我想获取这5次提交记录的改动内容(diff)这个需求,云效有没有接口可以获取 ?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要获取分支B的5次提交记录的改动内容(diff),云效提供了相关的API接口来满足这一需求。以下是具体的解决方案和操作步骤:
GetCompareDetail
接口比较两个Commit之间的差异云效的GetCompareDetail
接口可以用来比较两个Commit之间的差异,包括提交记录和文件变更详情。在您的场景中,可以通过以下步骤实现需求:
/repository/{repositoryId}/commits/compare/detail
参数名 | 类型 | 是否必填 | 描述 | 示例值 |
---|---|---|---|---|
organizationId | string | 是 | 企业标识,字符串形式,可在云效访问链接中获取 | 5ebbc0228123212b59xxxxx |
repositoryId | long | 是 | 代码库ID | 2369234 |
from | string | 是 | 起始版本(Commit ID),即分支A的最新Commit ID | c9fb781f3d66ef6ee60bdd5c414f5106454b1426 |
to | string | 是 | 截止版本(Commit ID),即分支B的最新Commit ID | b8f6f28520b1936aafe2e638373e19ccafa42b02 |
mergeBase | boolean | 否 | 是否使用merge-base进行比较,默认为false | false |
maxDiffFile | integer | 否 | 返回的最大文件数量,最大限制为5000 | 5000 |
maxDiffByte | integer | 否 | 返回的最大diff字节数,最大限制为24MB | 24 * 1024 * 1024 |
调用该接口后,您将获得以下信息: - Commits列表:包含从起始版本到截止版本之间的所有提交记录。 - Diff内容:每个提交对应的文件变更详情。
通过解析响应中的Commits列表,您可以提取出分支B的5次提交记录及其对应的改动内容。
查询代码库提交历史
接口获取分支B的提交记录如果您需要单独获取分支B的提交记录,可以使用查询代码库提交历史
接口。此接口允许您按分支过滤提交记录,并支持分页查询。
/api/v4/projects/{ProjectId}/repository/commits
参数名 | 类型 | 是否必填 | 描述 | 示例值 |
---|---|---|---|---|
AccessToken | string | 否 | 个人访问令牌,使用阿里云AK+SK或STS临时授权方式时不需要传递 | 146dd344827fe2444f952e931e51xxxx |
ProjectId | long | 是 | 代码库ID | 100 |
OrganizationId | string | 是 | 企业标识,字符串形式,可在云效访问链接中获取 | 60811b5eed6e867404f6xxxx |
Page | long | 否 | 页数,最小值为1 | 1 |
PageSize | long | 否 | 每页条数,取值范围为1到100 | 20 |
Search | string | 否 | 搜索关键字,可按提交Message检索 | fix bug |
调用该接口后,您将获得分支B的所有提交记录。结合分支B的5次提交记录,您可以进一步调用GetFileLastCommit
接口获取每次提交的具体改动内容。
git log
)获取。GetCompareDetail
接口对返回的文件数量和字节数有限制(最大5000个文件、24MB)。如果改动内容较大,可能需要分批处理。通过调用云效的GetCompareDetail
接口,您可以直接比较分支A和分支B之间的差异,获取分支B的5次提交记录及其改动内容。如果需要更细粒度的控制,也可以结合查询代码库提交历史
接口和GetFileLastCommit
接口逐步实现需求。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。