2010-12-01 4 views
1

Je veux comparer ma branche locale master avec la branche origin/master distante. Je sais comment faire git pull --rebase; git diff origin/master à partir de ma branche locale master pour détecter les différences ligne par ligne dans le code. Mais, je veux comparer les historiques de validation, c'est-à-dire, afficher git log et git log origin/master côte à côte. J'ai essayé git show-branch -a mais j'ai reçu:À quoi pointe 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. Y at-il une meilleure façon?
  2. En outre, à quoi HEAD pointe-t-il, la validation vérifiée?
+0

Le titre de la question devrait vraiment être changé. Vous demandez vraiment des choses différentes, et la réponse acceptée est de faire des choses différentes. Veuillez renommer la question et supprimer le # 2. de sorte qu'il cesse d'apparaître comme un mauvais résultat de recherche pour le titre. – masukomi

Répondre

1

Vous pouvez faire:

git log master..origin/master 

à la liste des commits qui sont "entre" master et origin/master.

HEAD indique la validation validée.

La syntaxe point-point et HEAD sont documentées à gitrevisions(7).

+0

Merci pour le lien. Il dit: "HEAD nomme le commit vos changements dans l'arbre de travail est basé sur" A.K.A le commit extrait. :) – ma11hew28

3
  1. Y at-il une meilleure façon ...

    1. pour détecter les différences ligne par ligne dans le code?

      git diff origin/master..master

    2. pour comparer les histoires commettre?

      git log origin/master..master

  2. Aussi, qu'est-ce que le point HEAD, commit check-out? HEAD pointe vers la "pointe" de la "branche" actuelle.

0

Cela me donne une assez bonne façon d'examiner les différences tout en ayant commits des deux branches visibles

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

(Alternativement, remplacer par gitk ou git log --oneline --graph ..)

+0

N'avait pas entendu parler de git-forest auparavant; il y a quelques [informations sur le wiki git] (https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#git-forest).Dans la plupart des cas, comme vous le suggérez, les outils intégrés sont probablement suffisants. – Cascabel

0

Vous devez utiliser git fetch pas git pull. git pull essayait de fusionner la branche. Vous êtes maintenant dans un conflit, utilisez git merge --abort pour l'annuler.