当前版本的分支的GitHub比较视图

时间:2014-07-01 19:25:02

标签: git github branch

有没有办法使用GitHub&#34;比较视图&#34;查看两个分支的当前版本之间的差异? (也就是说,如果你做git diff <a-branch> <another-branch>,你会看到相同的差异。)

我做了一个小例子here。有两个分支:&#34; master&#34;和&#34;其他分支&#34;。如果我做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.

你可以从那个差异中看出&#34; master&#34;之间的区别。分支和&#34;其他分支&#34; branch是添加一个空行和一行文本,没有删除。

但是,如果我尝试使用GitHub比较视图(https://github.com/akenney/compare-view-test/compare/other-branchhttps://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.

正在比较&#34;其他分支&#34;分支与旧版本&#34; master&#34;分支,而不是当前版本。即使我指定要比较的特定提交(https://github.com/akenney/compare-view-test/compare/8ed0d53...e4470ec),它也会发生同样的事情 - 它显示的差异不是这两个提交之间的差异。

2 个答案:

答案 0 :(得分:11)

GitHub仅支持三点(...)范围快捷方式规范。

来自 git diff documentation

  

git diff [--options] .. [ - ] [...]

     

这与之前的表格同义。如果一边省略,   它将与使用HEAD具有相同的效果。

     

git diff [--options] ... [ - ] [...]

     

此表单用于查看包含和最多为第二个的分支上的更改,从两者的共同祖先开始。 &#34; git diff A ... B&#34;相当于&#34; git diff $(git-merge-base A B)B&#34;。你可以省略任何一个,它与使用HEAD具有相同的效果。

答案 1 :(得分:2)

现在(四年后的Sept. 2018,GitHub)明确支持“ Three-dot and two-dot Git diff comparisons”。

URL https://github.com/github/linguist/compare/c3a414e..faf7c6将显示:

direct two-dots diff

消息是:

This is a direct comparison between two commits made in this repository or its related forks
  

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