有没有办法使用GitHub的"比较视图"来查看两个分支的当前版本之间的差异?(也就是说,要查看相同的差异,如果你这样做了git diff <a-branch> <another-branch>.)
我在这里做了一个小例子.有两个分支:"主"和"其他分支".如果我这样做git diff master..other-branch,这就是差异:
diff --git a/README.md b/README.md
index 495cc9f..3d2c3a0 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
Hello there!
+
+This is a commit to the "other-branch" branch.
Run Code Online (Sandbox Code Playgroud)
您可以从该差异中看到"主"分支和"其他分支"分支之间的差异是添加了一个空行和一行文本,并且没有删除.
但是,如果我尝试使用GitHub比较视图(https://github.com/akenney/compare-view-test/compare/other-branch或https://github.com/akenney/compare-view-test/compare /master...other-branch),它显示了这个差异:
-This is a commit to the master branch.
+Hello there!
+
+This is a commit to the "other-branch" branch.
Run Code Online (Sandbox Code Playgroud)
它将"other-branch"分支与旧版本的"master"分支进行比较,而不是与当前版本进行比较.即使我指定要比较的特定提交(https://github.com/akenney/compare-view-test/compare/8ed0d53...e4470ec),它也会发生同样的事情- 它所显示的差异并不是那些差异两个提交.
我想比较 GitHub 存储库的两个分支的“仅文件内容”。例如,当我将默认比较视图用于拉取请求时,它仍然会向我显示一些差异,即使文件是相同的。
您可以像这样重现这种情况:
README。README并将提交推送到新分支duplicate。README该的master分支。README来自两个分支的两个文件现在具有相同的内容,但https://github.com/user/repo/compare/duplicate显示duplicate和之间的差异master。我知道显示这个差异是因为对两个文件的更改是由不同的提交引入的,但有时只查看不同的文件内容更有用,即合并后真正会改变的内容。在上面的例子中,master根本不会改变。
据我了解,gitCLI 命令通过其--no-index选项为本地文件夹提供了此功能。因此,我可以将这两个分支克隆到我的本地文件系统并将它们与git diff --no-index. 如何在不必先克隆它们的情况下实现这一目标?我想在GitHub上在线查看差异。
更新:我认为这个问题与该--no-index选项无关。如果我下载存储库并git diff在本地使用,我注意到以下内容:(git diff master..duplicate两个点)不会显示差异,git diff master...duplicate(三个点)将显示与 GitHub 在线比较相同。
因此,这个问题类似于这个问题:2个分支的Github比较视图不正确?
简而言之:目前,GitHub 的比较视图始终使用git diff三个点。有关两个点和三个点之间差异的更多信息,请访问https://git-scm.com/docs/git-diff