# 比较提交

比较分支、标记、提交、分叉和日期，以有效地分析更改并跟踪存储库历史记录。

若要比较不同版本的存储库，请追加 `/compare` 到存储库的路径。 比较页用作 `base` 起点和 `compare` 终结点。

## 比较分支

使用比较视图来比较分支或发起拉取请求。

1. 转到 `https://github.com/OWNER/REPOSITORY/compare`。
2. 使用 `base` 下拉菜单选择要与其比较的分支。
3. 使用`compare`下拉菜单选择包含变更的分支。
4. 在比较中查看提交和更改的文件。

请参阅“[Branches](/zh/enterprise-cloud@latest/pull-requests/reference/branches)”。

## 比较标记

比较发布标记，以查看版本之间的更改。 请参阅“[比较发行版](/zh/enterprise-cloud@latest/repositories/releasing-projects-on-github/comparing-releases)”。

1. 转到 `https://github.com/OWNER/REPOSITORY/compare`。
2. 从 `base` 下拉菜单中选择较旧的标记。
3. 从 `compare` 下拉菜单中选择较新的标记。
4. 在比较中查看提交和更改的文件。

> \[!NOTE]
> 如果分支和标签同名，则使用分支。 若要比较标记，请在标记名称之前添加 `tags/` 。

## 比较提交

可以通过编辑比较网址，直接比较两个提交或 Git 对象标识符（OID）。

1. 转到存储库的比较页面。
2. 在 URL 中，输入较旧的提交作为基提交，较新的提交作为比较点。

例如，此 URL 使用缩短的 SHA 代码比较提交 `f75c570` 和 `3391dcc`：`https://github.com/github-linguist/linguist/compare/f75c570..3391dcc`。

请参阅“[Branches](/zh/enterprise-cloud@latest/pull-requests/reference/branches#three-dot-and-two-dot-git-diff-comparisons)”。

## 跨分支比较

使用带所有者限定的分支名称来比较不同派生仓库之间的分支。

1. 导航到基础存储库的比较页。
2. 如果显示该选项，请单击 **“跨分叉比较** ”。
3. 选择基本存储库和分支。
4. 选择头叉并比较分支。

还可以直接编辑 URL。 例如，将 `octocat:main` 用作 `base`，将 `octo-org:main` 用作 `compare`，以比较由 `octocat` 和 `octo-org` 拥有的仓库的 `main` 分支。 请参阅“[叉子](/zh/enterprise-cloud@latest/pull-requests/reference/forks)”。

## 跨提交记录的比较

若要将提交与早期提交进行比较，请在比较 URL 中使用 Git 或`^``~N`表示法。 例如，`96d29b7~5...96d29b7` 将 `96d29b7` 与它之前第五个提交进行比较。

## 提交视图之间的差异

存储库提交历史记录和单个文件的提交历史记录可以显示不同的结果。 文件的历史记录显示影响该文件的提交，而存储库历史记录显示更广泛的分支历史记录。 如果文件的历史记录不包括所需的提交，请改用存储库的提交页。

请参阅文档的[](https://git-scm.com/docs/git-log#_history_simplification)`git log`部分。

## 延伸阅读

* [Changing the base branch of a pull request](/zh/enterprise-cloud@latest/pull-requests/how-tos/create-pull-requests/changing-the-base-branch-of-a-pull-request)
* [对提交签名](/zh/enterprise-cloud@latest/authentication/managing-commit-signature-verification/signing-commits)
* [搜索提交](/zh/enterprise-cloud@latest/search-github/searching-on-github/searching-commits)