2010-12-01 11 views
1

Ich möchte meinen lokalen Zweig master mit dem entfernten Zweig origin/master vergleichen. Ich weiß git pull --rebase; git diff origin/master von meinem lokalen master Zweig zu erkennen, die Zeile-für-Zeile Unterschiede im Code. Aber ich möchte die Commit-Historien vergleichen, d. H. git log und git log origin/master Seite-an-Seite zeigen. Ich habe versucht, git show-branch -a bekam aber:Worauf zeigt HEAD?

* [master] change content background-color to blue 
! [origin/HEAD] add favicon 
    ! [origin/master] add favicon 
--- 
* [master] change content background-color to blue 
*++ [origin/HEAD] add favicon 
  1. Gibt es einen besseren Weg?
  2. Auch, was zeigt HEAD, ausgecheckt Commit?
+0

Der Titel der Frage sollte wirklich geändert werden. Du fragst wirklich nach Differenzen, und in der akzeptierten Antwort geht es darum, Dinge zu diffamieren. Bitte benennen Sie die Frage um und entfernen Sie die # 2. damit es nicht mehr als schlechtes Suchergebnis für den Titel angezeigt wird. – masukomi

Antwort

1

könnten Sie tun:

git log master..origin/master 

Commits aufzulisten, die "zwischen" master und origin/master sind.

HEAD verweist auf das ausgecheckte Commit.

Sowohl die Punkt-Punkt-Syntax als auch HEAD sind unter gitrevisions(7) dokumentiert.

+0

Danke für den Link. Er sagt: "HEAD benennt die Commit Ihre Änderungen in der Arbeitsbaum basiert auf" A.K.A die ausgecheckte Commit. :) – ma11hew28

3
  1. Gibt es eine bessere Art und Weise ...

    1. die Zeile-für-Zeile Unterschiede in den Code zu erkennen?

      git diff origin/master..master

    2. die commit Geschichten zu vergleichen?

      git log origin/master..master

  2. Auch was macht HEAD Punkt, der abgemeldeten begehen?

    HEAD zeigt auf die "Spitze" des aktuellen "Zweigs".

0

Das gibt mir eine recht gute Art und Weise auf Unterschiede zu sehen, während sichtbar

 
git-forest --date-order $(git merge-base master origin/master) master origin/master 

Festschreibungen von beiden Verzweigungen (Alternativ kann durch gitk oder git log --oneline --graph ersetzen ..)

+0

Hatte noch nie von git-forest gehört; Es gibt einige [Informationen zum Git-Wiki] (https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#git-forest).In den meisten Fällen sind die eingebauten Tools wahrscheinlich ausreichend. – Cascabel

0

Sie sollten verwenden git fetch nicht git pull. git pull würde versuchen, den Zweig zusammenzuführen. Sie befinden sich jetzt in einem Konflikt, verwenden Sie git merge --abort, um es abzubrechen.