跳到主要内容

比较提交

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

要比较仓库的不同版本,请将/compare添加到仓库的路径。

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

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

base应被视为比较的起点,compare是终点。在比较过程中,您可以随时通过单击“编辑”来更改basecompare点。

比较分支

“比较”最常见的用途是比较分支,例如在开始新的拉取请求时。开始新的拉取请求时,您将始终转到分支比较视图。

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

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

比较标签

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

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

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

注意

如果分支和标签同名,则在比较提交时将使用分支。您可以通过在标签名称前添加tags/来专门比较标签。

比较提交

您也可以在 GitHub 上比较仓库或其分支中的任意两个提交,进行两点差异比较。

要在 GitHub 上快速进行两点差异比较,直接比较两个提交或 Git 对象 ID (OID),请编辑仓库“比较更改”页面的 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之前五个提交。
查看比较

进一步阅读