如何使用GitHub的在线比较视图来显示两个分支的“只是文件”的区别?

时间:2017-12-11 19:41:55

标签: git github diff git-diff

我想比较一个GitHub存储库的两个分支的“只是文件”。当我使用在线比较视图时,它仍然显示一些差异,即使文件是相同的。

据我了解,git CLI命令会为此功能提供--no-index选项。因此,我可以将两个分支克隆到我的本地文件系统,并将它们与git diff --no-index进行比较。如何在不首先克隆它们的情况下实现这一目标?我想在GitHub上在线查看差异。

示例:

即使README.md https://github.com/emmi474/testgithubgitdiff/compare/duplicatemaster https://github.com/emmi474/testgithubgitdiff/blob/master/README.md分支中的duplicate文件相同,差异仍显示差异https://github.com/emmi474/testgithubgitdiff/blob/duplicate/README.md

更新

我不认为该问题与--no-index选项有任何关系。如果我跑

git clone https://github.com/emmi474/testgithubgitdiff.git
cd testgithubgitdiff
git checkout duplicate

然后git diff master..duplicate(两个点)不会显示差异,git diff master...duplicate(三个点)将显示与GitHub在线比较相同。

因此,似乎这个问题已经有了答案:Github Comparison View for 2 branches is incorrect?

简而言之:GitHub的比较视图始终使用git diff三个点。有关两点和三点之间差异的更多信息也在https://git-scm.com/docs/git-diff

2 个答案:

答案 0 :(得分:1)

因为它是一个GitHub存储库:

https://github.com/{USER_OR_ORG}/{REPOSITORY}/compare/{BRANCH_1}...{BRANCH_2}.patch

(您可以删除'.patch'以查看GitHub UI中的差异)

答案 1 :(得分:1)

现在(2018年9月)受支持。
参见“ Dos dots, the two dot commit comparison

  

这可以在两个提交之间进行直接的“两个点”比较。
  现在,您可以轻松地看到两个提交之间的差异,而无需像三点比较那样将它们与常见的合并基础提交进行比较。

请参阅“ Three-dot and two-dot Git diff comparisons”。
例如:

https://github.com/github/linguist/compare/c3a414e..faf7c6