如何比较 Bitbucket 服务器中的两个提交

How to compare two commits in Bitbucket server

有没有办法比较 Bitbucket server 中的两个提交?

对于bitbucket cloud,您可以在浏览器中输入如下URL:https://bitbucket.org/OWNER/PROJECT/branches/compare/commit2..commit1

(根据此讨论:https://bitbucket.org/site/master/issues/4779/ability-to-diff-between-any-two-commits)。

同样的事情(以及许多其他功能)似乎在 Bitbucket 服务器中不起作用,因为我收到 404 错误。

Bitbucket 服务器不支持 https://bitbucket.org/OWNER/PROJECT/branches/compare/commit2..commit1

您可以使用 REST API 来区分任意提交。 Here 是关于该 REST API 端点的文档。

diffs 的命令行是:"git diff A B",它显示了从 A 到 B 的变化。REST URL 看起来像

/rest/api/latest/projects/KEY/repos/slug/changes?since=A&until=B 

(其中 A 和 B 具有相同的相关性)。这将列出所有更改的文件。

你可以调用/rest/api/latest/projects/KEY/repos/slug/diff/?since=A&until=B。在“/diff/”之后和“?since”之前写下你想要差异的文件路径。

示例:

https://mybitbucket.com/rest/api/latest/projects/STASH/repos/stash/changes?since=689fcf1017dc944ab976433a9ead8f2912d83622&until=a222a1f58c17f9164eb498eeaadde94675a49467}}

https://mybitbucket.com/rest/api/latest/projects/STASH/repos/stash/diff/dao-impl/src/main/java/com/atlassian/stash/internal/pull/HibernateRescopeRequestDao.java?since=689fcf1017dc944ab976433a9ead8f2912d83622&until=a222a1f58c17f9164eb498eeaadde94675a49467

您必须在 {{/diff}} 之后包含一个路径。你不能只要求整个差异。