若要比较不同版本的存储库,请追加 /compare
到存储库的路径。
我们将通过查看 Linguist 存储库的分支的比较页面来演示比较视图的强大功能,该分支位于 https://github.com/octocat/linguist/compare/master...octocat:master。
每个存储库的“比较”视图都包含两个下拉菜单:base
和 compare
。
base
应被视为比较的起点,而 compare
是终结点。 在比较期间,始终可以通过单击“编辑”来更改 base
和 compare
点。
比较分支
最常用的比较是比较分支,例如在启动新的拉取请求时。 启动 新的拉取请求时,始终会进入分支比较视图。
若要比较分支,可以从页面顶部的 compare
下拉菜单中选择分支名称。
下面是两个分支之间的比较示例。
比较标记
比较发行版标记将显示自上次发布以来您对仓库的更改。 有关详细信息,请参阅“比较发行版”。
若要比较标记,可以从页面顶部的 compare
下拉菜单中选择标记名称。
下面是两个标记之间的比较示例。
比较提交
您还可以在 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
分支。
下面是两个存储库之间的比较示例。
跨提交比较
可以使用两种类型的表示法将 Git 中的单个提交与该提交的前身进行比较。
表示法 | 含义 | 示例 | 比较 |
---|---|---|---|
^ | 之前的一次提交。 重复 ^ 字符以指示历史记录中更早的另一次提交。 | 96d29b7^^^^^ 表示 96d29b7 之前的五次提交。 | 查看比较 |
~N | 之前的 N 次提交。 | 96d29b7~5 表示 96d29b7 之前的五次提交。 | 查看比较 |