跳至主要内容

比较提交

您可以跨分支、标签、提交、分叉以及日期比较仓库的状态。

要比较仓库的不同版本,请在仓库路径后追加 /compare

我们将通过查看 Linguist 仓库的一个分叉的比较页面来演示 Compare 的强大功能,该页面位于 https://github.com/octocat/linguist/compare/master...octocat:master

每个仓库的 Compare 视图包含两个下拉菜单:basecompare

base 应视为比较的起始点,而 compare 为终点。在比较过程中,您可以随时点击 Edit 来更改 basecompare

比较分支

Compare 最常见的用途是比较分支,例如在创建新的拉取请求时。开始 新拉取请求 时,系统始终会带您进入分支比较视图。

要比较分支,您可以在页面顶部的 compare 下拉菜单中选择分支名称。

下面是一个 两个分支之间的比较示例

比较标签

比较发行标签会显示自上一次发行以来仓库的更改。更多信息,请参阅 比较发行

要比较标签,您可以在页面顶部的 compare 下拉菜单中选择标签名称。

下面是一个 两个标签之间的比较示例

注意

如果分支和标签同名,则在比较提交时会使用分支。若要专门比较标签,请在标签名前加上 tags/

比较提交

您还可以在 GitHub 上使用两点差异比较(two‑dot diff),比较仓库或其 Fork 中任意两个提交。

要在 GitHub 上快速比较两个提交或 Git 对象 ID(OID),只需编辑仓库“比较更改”页面的 URL,即可进行两点差异比较。

例如,以下 URL 使用简写的 SHA 代码比较提交 f75c5703391dcchttps://github.com/github-linguist/linguist/compare/f75c570..3391dcc

想了解其他比较选项,请参阅 拉取请求中分支比较的说明

跨 Fork 的比较

您可以比较基础仓库与任意 Fork。这是用户对项目发起拉取请求时呈现的视图。

要比较不同仓库中的分支,请在分支名前加上用户名。例如,将 octocat:main 设为 base,将 octo-org:main 设为 compare,即可分别比较 octocatocto-org 所拥有仓库的 main 分支。

您还可以在分支名前加上用户名和仓库名。例如,指定 octocat:awesome-app:main 会使用 octocat/awesome-app 仓库中的 main 分支。这在大型组织中非常有用,因为组织可能同时拥有上游仓库和其 Fork。更多信息,请参阅 关于 Fork

下面是一个 两个仓库之间的比较示例

跨提交的比较

您可以使用两种符号,将单个提交与其前置提交进行比较。

符号含义示例比较
^前一个提交。重复使用 ^ 表示在历史中再向前一个提交。96d29b7^^^^^

表示在 96d29b7 之前的第五个提交。
查看比较
~N在 N 次提交之前。96d29b7~5

表示在 96d29b7 之前的第五个提交。
查看比较

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.