若要比较不同版本的存储库,请追加 /compare 到存储库的路径。
我们将通过查看 Linguist 存储库的分支的 Compare 页面来展示 Compare 功能的强大之处,该分支位于 https://github.com/octocat/linguist/compare/master...octocat:master。
每个存储库的“比较”视图都包含两个下拉菜单:base 和 compare。
`base` 应被视为比较的起点,而 `compare` 是终结点。 在进行比较时,您始终可以单击**编辑**来更改`base`和`compare`点。
比较分支
最常用的比较是比较分支,例如在启动新的拉取请求时。 启动 新的拉取请求时,始终会进入分支比较视图。
若要比较分支,可以从页面顶部的 compare 下拉菜单中选择分支名称。
下面是两个分支之间的比较示例。
比较标记
比较版本标签将显示自上次发布以来您对仓库的更改。 有关详细信息,请参阅“比较发行版”。
若要比较标记,可以从页面顶部的 compare 下拉菜单中选择标记名称。
下面是两个标记之间的比较示例。
注意
如果分支和标签具有相同的名称,则在比较提交记录时将使用分支。 可以通过将 tags/ 添加到标签名称来进行比较。
比较提交
您还可以在 GitHub 上通过双点差异比较来比较仓库或其复刻中的任意两个提交。
要在 GitHub 上通过双点差异比较快速比较两个提交或 Git 对象 ID(OID),请编辑仓库“比较更改”页面的 URL。
例如,此 URL 使用缩短的 SHA 代码比较提交 f75c570 和 3391dcc:https://github.com/github-linguist/linguist/compare/f75c570..3391dcc。
若要详细了解其他比较选项,请参阅“关于比较拉取请求中的分支”。
跨分支比较
您可以比较基础仓库与任何派生仓库。 这是用户对项目执行拉取请求时显示的视图。
要比较不同仓库上的分支,请在分支名称前加上用户名。 例如,通过为 octocat:main 指定 base,为 octo-org:main 指定 compare,可以比较分别由 main 和 octocat 拥有的存储库上的 octo-org 分支。
还可以在分支名称前面加上用户名和存储库名称。 例如,指定 octocat:awesome-app:main 将使用 main 存储库中的 octocat/awesome-app 分支。 这在大型组织中非常有用,在这些组织中,你可能拥有一个上游存储库和一个由组织拥有的分支。 有关详细信息,请参阅“关于分叉”。
下面是两个存储库之间的比较示例。
跨提交记录的比较
可以使用两种类型的表示法将 Git 中的单个提交与该提交的前身进行比较。
| 表示法 | 含义 | 示例 | 比较 |
|---|---|---|---|
^ | 之前的一次提交。 重复 ^ 字符以指示历史记录中更早的另一次提交。 | 96d29b7^^^^^表示在 96d29b7 之前的第五次提交。 |
[查看比较](https://github.com/octocat/linguist/compare/octocat:96d29b7%5E%5E%5E%5E%5E...octocat:96d29b7) |
| ~N | 之前的 N 次提交。 | 96d29b7~5
表示在 96d29b7 之前的第五次提交。 |
查看比较 |
其他阅读材料
-
[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request)