Skip to main content

比较提交

您可以在分支、标记、提交、复刻和日期之间比较仓库的状态。

若要比较不同版本的存储库,请追加 /compare 到存储库的路径。

我们将通过查看 Linguist 存储库的分支的比较页面来演示比较视图的强大功能,该分支位于 https://github.com/octocat/linguist/compare/master...octocat:master

每个存储库的“比较”视图都包含两个下拉菜单:basecompare

base 应被视为比较的起点,而 compare 是终结点。 在比较期间,始终可以通过单击“编辑”来更改 basecompare 点。

比较分支

最常用的比较是比较分支,例如在启动新的拉取请求时。 启动 新的拉取请求时,始终会进入分支比较视图。

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

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

比较标记

比较发行版标记将显示自上次发布以来您对仓库的更改。 有关详细信息,请参阅“比较发行版”。

若要比较标记,可以从页面顶部的 compare 下拉菜单中选择标记名称。

下面是两个标记之间的比较示例。

注意: 如果分支和标签具有相同的名称,则比较提交时将使用分支。 可以通过将 tags/ 添加到标签名称来专门比较标签。

比较提交

您还可以在 GitHub 上通过两点差异比较来比较仓库或其复刻中的任意两个提交。

要在 GitHub 上通过两点差异比较来快速比较两个提交或直接比较 Git 对象 ID (OID),请编辑仓库“Comparing changes(比较更改)”页面的 URL。

例如,此 URL 使用缩短的 SHA 代码比较提交 f75c5703391dcchttps://github.com/github-linguist/linguist/compare/f75c570..3391dcc

要详细了解其他比较选项,请参阅“关于比较拉取请求中的分支”。

跨复刻比较

您可以比较基础仓库与任何复刻的仓库。 这是用户对项目执行拉取请求时显示的视图。

要比较不同仓库上的分支,请在分支名称前加上用户名。 例如,通过为 base 指定 octocat:main,为 compare 指定 octo-org:main,可以比较分别由 octocatocto-org 拥有的存储库上的 main 分支。

还可以在分支名称前面加上用户名和存储库名称。 例如,指定 octocat:awesome-app:main 将使用 octocat/awesome-app 存储库中的 main 分支。 这在大型组织中非常有用,在这些组织中,你可能拥有一个上游存储库和一个由组织拥有的分支。 有关详细信息,请参阅“关于分叉”。

下面是两个存储库之间的比较示例。

跨提交比较

可以使用两种类型的表示法将 Git 中的单个提交与该提交的前身进行比较。

表示法含义示例比较
^之前的一次提交。 重复 ^ 字符以指示历史记录中更早的另一次提交。96d29b7^^^^^

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

表示 96d29b7 之前的五次提交。
查看比较

延伸阅读