首页 > 解决方案 > 有没有办法从 BitBucket 服务器 REST API 只获取特定分支上的提交?

问题描述

我正在使用对 BitBucket 1.0 API 的以下调用来获取分支上的所有提交。此调用返回来自特定分支的所有提交,以及从开始时间开始的所有提交。我正在寻找一种仅获取提交到指定分支的提交的方法。这甚至可能吗?

/rest/api/1.0/projects/{ProjectKey}/repos/{RepoSlug}/commits?until={branchId}

我正在寻找一种方法来仅获取自从分支从“树”分裂到分支尖端以来的提交。响应中似乎没有任何数据可用于确定哪个提交是分支上的第一个提交,还是“树”上的最后一个提交

标签: gitbitbucket-server

解决方案


如果您知道相关分支从哪个分支分支,您可以使用 /compare/commits 端点来获取指定分支上的提交,而不是“基础”分支上的提交。

/rest/api/1.0/projects/{ProjectKey}/repos/{RepoSlug}/compare/commits?from={BranchId}&to={BaseBranchId}

例如:

/rest/api/1.0/projects/{ProjectKey}/repos/{RepoSlug}/compare/commits?from=feature%2FmyCoolFeature&to=master

这将给出 feature/myCoolFeature 分支上存在的所有提交的列表,但不是 master 分支。

对于我的具体情况,这足以让我度过难关。如果您处于不知道相关分支从哪里分支的情况,我还没有找到解决这种情况的好方法。


推荐阅读