我的团队正在使用Bitbucket作为我们的git存储库,我们最近开始使用pull请求功能进行代码审查。它在第一次审核时工作正常,但是如果它经历了多次迭代(即,进行了更改并且更新了拉取请求),我希望看到仅包含自上次代码审核以来所做的新更改的链接。 / p>
我查看了“比较”功能,但UI看起来只能在分支之间进行比较。是否有一种简单的方法可以在两次提交之间获得差异?
答案 0 :(得分:86)
这只是对已经给出的答案的略微修改,但是将#diff添加到最后而不是#commits通常是我正在寻找的。另外,正如其他人可能已经提到的那样,对我来说最好的结果通常是通过将较新的提交放在第一位和较早的第一位来获得,但这取决于您的特定需求。
https://bitbucket.org/<OWNER>/<REPO>/branches/compare/<commit-hash>..<commit-hash-older>#diff
答案 1 :(得分:25)
尝试类似:
https://bitbucket.org/<OWNER>/<PROJECT>/branches/compare/<commit1>..<commit2>#commits
取自:https://bitbucket.org/site/master/issue/4779/ability-to-diff-between-any-two-commits
答案 2 :(得分:21)
Bitbucket现在支持比较标签。
for (var key in dials){
console.log(key); // "0", "length", "item", "namedItem"
}
function createGauges() {
Array.prototype.forEach.call(dials, function(dial){
var data = dial.dataset;
var percent = data.percentages.split(',').map(Number);
console.log(percent);
newDial(data.name, data.value, data.marker, data.min, data.max, percent);
});
}
答案 3 :(得分:15)
bitbucket.org上的Compare页面上的分支/标记下拉列表中的搜索字段现在支持粘贴的提交哈希值。
现在你可以转到https://bitbucket.org/<owner>/<repo>/branches/compare/
并将哈希值粘贴到下拉菜单中而不是网址黑客攻击!
答案 4 :(得分:9)
我有Bitbucket Server,版本:v4.4.1
答案就是这个。
http://<path-to-my-server>/projects/<project-name>/repos/<repo-name>/commits/<old>?to=<new>
我一直在寻找这个答案,因为在我的项目中我们使用git子模块,而在pull请求中,我只能看到旧的commit sha与每个更改的子模块的新commit sha相关。没有链接点击或任何(我知道)跳转到这个差异视图。这个网址允许我查看子模块中发生的变化。
顺便说一句,如果有人知道在拉取请求期间比较子模块中两个提交的更好方法,请告诉我。
答案 5 :(得分:5)
Bitbucket比较视图格式如下:
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)
答案 6 :(得分:1)
答案 7 :(得分:0)
将-username-
替换为username
感谢@Aguardientico
答案 8 :(得分:0)
为要比较的提交创建一个灯光标签。 git -a [tagname] [commit_sha]
然后在Bitbucket中,在比较菜单(要执行拉取请求的那个)中,只需与标签进行比较。
答案 9 :(得分:0)
您也可以在拉取请求中执行此操作,例如在有人向分支机构推送以修复审核结果之后。据我所知,目前还没有UI,但是您可以输入如下网址:
dataTable.containsValue()
答案 10 :(得分:0)
在命令提示符下
git log -p -1
这显示了与先前版本的比较。
git log -p -5
这显示了最近的5个修订版本,比较了两个连续的版本(n和n-1,n-1和n-2等)。
我知道,这不是显示两个特定版本之间直接差异的理想选择。
参考https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
答案 11 :(得分:-5)
通过终端,在项目路径上运行git:
git diff <new commit> <old commit>
例如:git diff 26cf60f be5f978