我们的团队正在使用Bitbucket作为git仓库,最近开始使用拉取请求功能进行代码审查。第一次审查很好用,但如果需要多次迭代(也就是说,做出更改并更新拉取请求),我希望能够看到一个链接,只显示自上次代码审查以来所做的新更改。
我研究了“比较”功能,但UI似乎只能在分支之间进行比较。有没有一种简单的方法来获取两个提交之间的差异?
这只是对已给出答案的轻微修改,但通常我要添加#diff而不是#commits。 此外,正如其他人可能已经提到的那样,对我来说最好的结果通常是将更新的提交放在第一位,较旧的提交放在第二位,但这取决于您的特定需求。
https://bitbucket.org/<OWNER>/<REPO>/branches/compare/<commit-hash>..<commit-hash-older>#diff
owner/repo
,从提交列表中复制哈希值,按下回车,就完成了。漂亮简单的差异视图。(然而为什么这在他们的 GUI 中不是一个显而易见的事情...) - SvishBitbucket现在支持比较标签。
https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<tag1>%0D<tag2>
tag1
必须以字母 "v" 开头,并且要更新,tag2
是较旧的。例如,https://bitbucket.org/codsen/array-includes-with-glob/branches/compare/v2.3.6%0Dv2.3.5 — 如果反过来则不会起作用,没有 "v" 也不会起作用 — 这两种情况都将导致 404。 - revelthttps://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<TAG1>%0D<TAG2>?w=1#diff
这将显示差异并忽略空格差异。 - Damodar Bashyalhttps://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<commit1>..<commit2>#commits
摘自:https://bitbucket.org/site/master/issue/4779/ability-to-diff-between-any-two-commits我有一个版本为v4.4.1的Bitbucket服务器。
我手头上的答案是这个。
http://<path-to-my-server>/projects/<project-name>/repos/<repo-name>/commits/<old>?to=<new>
我正在寻找这个答案,因为在我的项目中我们使用git子模块,在拉取请求中,我只能看到每个更改的子模块的旧提交sha与新提交sha之间的差异。没有可以点击的链接或其他任何东西(据我所知)跳转到此diff视图。这个url允许我查看子模块中发生了什么变化。
顺便说一句,如果有人知道在拉取请求期间比较两个子模块提交的更好方法,请让我知道。
https://bitbucket.org/<owner>/<repo>/branches/compare/<new>%0D<old>
给出一个例子ged / ruby-pg
(RubyGem,一个ruby库):
比较两个版本(从v0.18.1到v0.18.2)
https://bitbucket.org/ged/ruby-pg/branches/compare/v0.18.2%0Dv0.18.1
比较两个修订版本(从f97dd6c到22a3612)
https://<bitbucket-server>/projects/<PROJECT>/repos/<REPO>/pull-requests/<PR-NUM>/<commit-hash>?since=<commit-hash-older>
创建一个轻量级标签来比较你想要比较的提交。 git -a [标签名称] [提交SHA]
然后在Bitbucket中,在比较菜单中(用于执行拉取请求的菜单)与标签进行比较即可。
将-username-
替换为您的用户名
感谢@Aguardientico