注意
创建拉取请求时,您可以更改要与其比较更改的基分支。有关更多信息,请参阅“创建拉取请求”。
您可以在“已更改的文件”选项卡中查看拉取请求中建议的更改。
您可以查看建议的更改(一旦合并拉取请求,更改将显示在文件中),而不是查看提交本身。文件按字母顺序显示在“已更改的文件”选项卡中。文件的添加内容以绿色显示,前面带有+
符号,而已删除的内容以红色显示,前面带有-
符号。
差异视图选项
提示
如果您难以理解更改的上下文,可以单击“已更改的文件”选项卡中的**查看**以查看包含建议更改的整个文件。
您可以通过多种方式查看差异
- 统一视图将更新的内容和现有内容一起显示在线性视图中。
- 拆分视图在一侧显示旧内容,在另一侧显示新内容。
- 丰富的差异视图显示拉取请求合并后更改的外观预览。
- 源视图显示源中的更改,没有丰富差异视图的格式。
您还可以选择忽略空白更改,以便更准确地查看拉取请求中的实质性更改。
为了简化对大型拉取请求中更改的审查,您可以筛选差异以仅显示选定的文件类型、显示您是 CODEOWNER 的文件、隐藏您已查看的文件或隐藏已删除的文件。有关更多信息,请参阅“筛选拉取请求中的文件”。
差异不显示的原因
- 您已超过文件或某些文件类型的总限制。有关更多信息,请参阅“存储库限制”。
- 您的文件与存储库的.gitattributes 文件中的规则匹配,从而阻止该文件默认显示。有关更多信息,请参阅“自定义 GitHub 上更改的文件的显示方式”。
三点和两点 Git 差异比较
git diff
命令有两种比较方法;两点 (git diff A..B
) 和三点 (git diff A...B
)。GitHub 上的拉取请求显示三点差异。
三点 Git 差异比较
三点比较显示两个分支的最新公共提交(合并基)与主题分支的最新版本之间的差异。
两点 Git 差异比较
两点比较显示基分支(例如,main
)的最新状态与主题分支的最新版本之间的差异。
要在 GitHub 上的双点差异比较中查看两个提交引用,您可以编辑存储库“比较更改”页面的 URL。更多信息,请参阅Pro Git 书籍网站上的Git 词汇表中关于“提交引用 (committish)” 的解释。
例如,此 URL 使用缩短的 SHA 代码来比较提交f75c570
和 3391dcc
:https://github.com/github-linguist/linguist/compare/f75c570..3391dcc
。
双点差异直接比较两个 Git 提交引用,例如 SHA 或 OID(对象 ID)。在 GitHub 上,双点差异比较中的 Git 提交引用必须推送到同一个存储库或其分支。
如果您想在拉取请求中模拟双点差异,并查看每个分支最新版本的比较,您可以将基础分支合并到您的主题分支,这将更新您分支之间最新的共同祖先。
有关比较更改的 Git 命令的更多信息,请参阅Pro Git 书籍网站上的“Git diff 选项”。
关于 GitHub 上的三点比较
由于三点比较是与合并基础进行比较,因此它关注的是“拉取请求引入了什么”。
当您使用双点比较时,即使您没有对主题分支进行任何更改,更新基础分支也会导致差异发生变化。此外,双点比较关注的是基础分支。这意味着您添加的任何内容都显示为基础分支中缺少的内容,就像删除一样,反之亦然。结果,主题分支引入的更改变得模棱两可。
相反,通过使用三点比较来比较分支,如果更新了基础分支,主题分支中的更改将始终出现在差异中,因为差异显示了自分支分歧以来的所有更改。
频繁合并
为了避免混淆,请频繁地将基础分支(例如,main
)合并到您的主题分支。通过合并基础分支,双点比较和三点比较显示的差异相同。我们建议尽快合并拉取请求。这鼓励贡献者创建更小的拉取请求,这通常是推荐的做法。