【问题标题】:Is there a way to get only the commits on a specific branch from the BitBucket server REST API?有没有办法从 BitBucket 服务器 REST API 只获取特定分支上的提交?
【发布时间】:2020-08-28 11:51:02
【问题描述】:

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

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

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

【问题讨论】:

  • 不清楚你在问什么。分支是延伸回存储库中的第一个提交的树的尖端。如果您要求“分支中的所有提交”,您将得到您所描述的内容。
  • @larsks 是的,我明白这一点。我正在寻找的是一种将提交数量限制在分支从树中分裂的点的方法。我知道有办法用 git log 做到这一点,所以我很好奇是否有人知道如何通过 BitBucket API 做到这一点。

标签: git bitbucket-server


【解决方案1】:

如果您知道相关分支的分支来自哪个分支,则可以使用 /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 分支。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2015-10-19
    相关资源
    最近更新 更多