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