Azure DevOps - 在 Web UI 中比较两个提交?

ori*_*zil 32 git compare azure-devops

这肯定是我忽略的简单事情。在 Azure DevOps Web 界面(未集成为 IDE 的一部分)中,我看到了如何将任何提交与其父项进行比较,但我无法弄清楚如何将其与任意提交进行比较。

即,我正在寻找相当于GitHub 的 compare/hash1..hash2功能。

吸引力在于 Web UI 是每个人都通用的视图/工具,大概我可以获得指向我感兴趣的特定差异的链接并与同事分享。

Web UI 表明这可能是可能的,因为在查看特定提交的更改时,它有文本,Diff to Parent 1 - <my commit hash>但我还没有弄清楚如何更改Parent 1.

Geo*_*yar 62

如果您转到存储库的分支列表,您可以单击 ...其中一个分支(更多操作)并选择Compare branches

这将带您到以下形式的 URL: https://dev.azure.com/{organisation}/{project}/_git/{repository}/branches?baseVersion=GB{baseBranch}&targetVersion=GB{targetBranch}&_a=files

然后,您可以更改查询字符串中的baseVersiontargetVersion参数。这些可以采用以下形式,并且可以混合搭配:

  • GB{branchName}
  • GC{commitHash}
  • GT{tagName}

以防万一链接断开,单击拉取请求上的“查看合并更改”会将您带到同一页面,但 URL 略有不同 https://dev.azure.com/{organisation}/{project}/_git/{repository}/branchCompare?baseVersion=GC{baseCommit}&targetVersion=GC{targetCommit}&_a=files

我不确定是否有更好的方法来比较来自 UI 的提交,因为它只显示分支和标签,但如果你这样做,你就不必临时标记提交或创建临时分支来获取差异显示所有更改的文件。

  • 好的!太糟糕了,他们没有更简单的方法来做到这一点 (7认同)
  • 只是想添加一条注释,如果您在 URL 中向后获取提交,它只会告诉您两次提交之间没有任何更改(而不是错误消息或其他内容)。尝试翻转它们。 (3认同)
  • 这正是我一直在寻找的。感谢分享 (3认同)

Hug*_*Lin 19

如果要比较一个文件的两个任意提交,请导航到存储库中的文件,选择比较选项卡,然后应用适当的提交范围。

在此处输入图片说明

如果要比较所有文件的两个任意提交,可以在 commits 处创建标签,然后比较它们。这将为您提供它们之间的提交列表,并允许您显示差异。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

具体可以参考这个案例


tom*_*dox 14

Devops UI 现在允许比较分支和文件之间的提交。该 URL 与George Heylar 的回答中详细介绍的 URL 非常相似,您只需将 URL 的末尾从“files”更改为“commits”即可:

https://dev.azure.com/{organization}/{project}/_git/{repository}/branches?baseVersion=GB{baseBranch}&targetVersion=GB{targetBranch}&_a=commits

如果未禁用“比较分支”,则通过 UI 执行此操作的快捷方法

  1. 打开您的项目的分支列表:

Azure DevOps 分支列表

  1. 单击要比较的第一个分支的垂直省略号按钮:

分支行选项列表

  1. 选择“比较分支”以打开下面的屏幕。如果“比较分支”选项被禁用,请参阅下面的较长方法。

分支比较页面顶部

  1. 在第二个组合中选择要比较的分支,然后您将看到两个分支之间的提交差异列表:

分支比较页面显示主分支和发布分支之间的提交差异

  1. 如果您想查看文件差异,只需在不太明显的选项卡控件中选择“文件”选项:

比较提交或文件选项卡

如果“比较分支”被禁用,通过 UI 实现这一目标的漫长道路

  1. 打开您的项目的分支列表:

Azure DevOps 分支列表

  1. 单击要比较的第一个分支的垂直省略号按钮:

分支行选项列表

  1. 选择“设置为默认分支”

  2. 对要比较的第二个分支重复相同的过程:

分支行选项列表

  1. 这次选择“设置为比较分支”

  2. 最后,再次打开您设置为默认分支的省略号菜单(即您在上面第 3 步中选择的分支)

选择默认分支和比较分支时的分支省略菜单

  1. 选择“比较分支”菜单项,这将打开“分支比较”页面:

分支比较页面

  • 虽然这与我的答案非常相似,但这实际上只允许您比较分支或标签,而不是任意提交(不更改我所描述的 URL),并且您不应该因此更改默认分支。默认分支是例如“master”或“main”,它是存储库范围的设置,而不是个人设置。您可以更改“比较分支”,然后在另一个分支上“比较分支”,但这同样不允许您比较任意提交,并且保留默认分支与比较分支并在比较时更改它们一样容易页。 (2认同)