跨时间比较提交
本文内容
每个仓库都包含比较视图,可用于跨分支、标记、提交、时间段等比较仓库的状态。 比较视图提供与拉取请求视图相同的差异对比工具。
要进入比较视图,请将 /compare
附加到您的仓库路径中。
我们将通过查看 Linguist 仓库复刻的比较页面来展示比较视图的强大功能,该页面位于 https://github.com/octocat/linguist/compare/master...octocat:master。
每个仓库的比较视图包含两个下拉菜单:base
和 compare
。
base
应被视为比较的起点,而 compare
被视为终点。 在比较期间,可随时通过单击 Edit(编辑)来更改 base
和 compare
点。
比较分支
比较视图的最常见用途是比较分支,例如在启动新的拉取请求时。 启动新的拉取请求时总是会进入分支比较视图。
要比较分支,您可以从页面顶部的 compare(比较)
下拉菜单中选择分支名称。
此处是在两个分支之间进行比较的示例。
比较标记
同样,您可以跨为项目版本制作的标记进行比较。 比较标记是组合不同项目版本之间的发布说明的好方法。
在 compare(比较)
下拉菜单中键入标记的名称,而不是键入分支名称。
此处是在两个标记之间进行比较的示例。
比较提交
您还可以在 GitHub 上通过两点差异比较来比较仓库或其复刻中的任意两个提交。
要在 GitHub 上通过两点差异比较来快速比较两个提交或直接比较 Git 对象 ID (OID),请编辑仓库“Comparing changes(比较更改)”页面的 URL。
例如,此 URL 使用简短的 7 字符 SHA 代码比较提交 c3a414e
与 faf7c6f
:https://github.com/github/linguist/compare/c3a414e..faf7c6f
。
有关其他比较选项的更多信息,请参阅“三点和两点差异比较”。
跨复刻比较
您可以比较基础仓库与任何复刻的仓库。 这是用户对项目执行拉取请求时显示的视图。
要比较不同仓库上的分支,请在分支名称前加上用户名。 例如,通过为 base
指定 octocat:master
,为 compare
指定 octo-org:master
,您可以比较分别由 octocat
和 octo-org
拥有的仓库上的 master
分支。
此处是在两个仓库之间进行比较的示例。
跨时间比较
可针对任意时间段(例如一个月或两周)创建比较。 要定义时间段,请键入分支名称,后跟 @
,然后键入由 { }
表示法包含的日期。 例如,将 master@{2weeks}
键入 base
下拉菜单中,可比较当前 master
分支与两周之前的 master
分支。
此处是在两个时间段之间进行比较的示例。
还可以指定要比较的特定日期。 To define a specific date, use the format YYYY-MM-DD. For example, master@{2016-07-22}
.
此处是比较同一个分支在 2016-07-22 的状态与几天后的状态的示例。
跨提交比较
作为一种快捷方法,Git 使用 ^
表示法表示“前一次提交”。
您可以使用此表示法对某个提交或分支的现状与前身进行比较。 例如,96d29b7^^^^^
表示 96d29b7
之前的五次提交,因为有五个 ^
标记。 在 base
分支中键入 96d29b7^^^^^
,并在 compare
分支中键入 96d29b7
, 可将 96d29b7
之前的五次提交与 96d29b7
提交进行比较。
以下是使用 ^
表示法进行比较的示例。