2014-07-01 6 views
14

Gibt es eine Möglichkeit, GitHub "vergleichen Ansicht" zu verwenden, um den Unterschied zwischen den aktuellen Versionen von zwei Niederlassungen zu sehen? (Das heißt, um das gleiche diff anzuzeigen, das Sie erhalten würden, wenn Sie git diff <a-branch> <another-branch> hätten.)GitHub vergleichen Ansicht für aktuelle Versionen der Filialen

Ich habe ein kleines Beispiel here gemacht. Es gibt zwei Zweige: "Master" und "anderer Zweig". Wenn ich git diff master..other-branch tun, das ist der Unterschied:

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. 

Sie von diesem diff sehen können, dass die Differenz zwischen dem „Master“ Zweig und der „anderen Zweig“ Zweig ist die Zugabe von einer Leerzeile und eine Zeile von Text, und es gibt keine Löschungen.

Allerdings, wenn ich versuche Ansicht GitHub vergleichen zu verwenden (https://github.com/akenney/compare-view-test/compare/other-branch oder https://github.com/akenney/compare-view-test/compare/master...other-branch), zeigt es dieses diff:

-This is a commit to the master branch. 
+Hello there! 
+ 
+This is a commit to the "other-branch" branch. 

Es ist der „anderer Zweig“ Zweig mit einer alten Version der „Master-Vergleich "Zweig, nicht mit der aktuellen Version. Das selbe passiert auch, wenn ich die bestimmten Commits spezifiziere, die verglichen werden sollen (https://github.com/akenney/compare-view-test/compare/8ed0d53...e4470ec) - der Unterschied, der angezeigt wird, ist nicht der Unterschied zwischen diesen beiden Commits.

Antwort

10

GitHub unterstützt nur die Bereichsverknüpfungsspezifikation mit drei Punkten (...).

Vom git diff documentation:

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

Dies ist auch auf die vorherige Form. Wenn auf einer Seite weggelassen wird, hat dieselbe Wirkung wie die Verwendung von HEAD.

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

Diese Form die Änderungen auf dem Zweig zu sehen ist, und bis zu dem zweiten, an einem gemeinsamen Vorfahren beginnend von beide . "git diff A ... B" ist äquivalent zu "git diff $ (git-merge-base A B) B". Sie können eines davon auslassen, was den gleichen Effekt wie die Verwendung von HEAD hat.

+2

Okay ... so ist die Antwort auf die Frage nein. Naja. Vielen Dank. Ich wusste nicht, dass das die drei Punkte bedeuten, und ich bin mir nicht sicher, warum GitHub den normalen Zwei-Punkt-Typ von Diff nicht unterstützen würde. – Avril