git diff ne montre pas assez
Je veux voir la différence entre la branche master et ma branche. J'ai beaucoup de tire par le maître de ma branche et pour voir les changements qui pourraient être ajoutés si j'ai fusionné mon long dans le maître.
C'est ma situation:
-*--*--*-----*<master>
\ \ \
1--*--*--*--2--*<feature>
Mon problème est le git diff master feature
semble être la seule à afficher commettre numéro 2. Je veux voir la diff qu'un github pull request voudrais montrer, je crois que c'est tout le chemin à commettre des 1.
J'ai remarqué git cherry
me montre les commits je veux voir la différence.
Merci pour tous les conseils.
Vous devez vous connecter pour publier un commentaire.
La chose importante à réaliser sur la
git diff A B
c'est qu'il ne jamais vous montre la différence entre les états de l'arbre entre les deux points dans le commit graphique, il ne se soucie pas de l'histoire. Le..
et...
notations utilisées pourgit diff
ont les significations suivantes:Ainsi, lorsque vous exécutez
git diff master feature
ce n'est pas juste vous montrer le changement apporté par la validation que vous avez marquées comme2
- la sortie doit afficher les différences exactes entre l'état de l'arbre engage dansmaster
et de l'état de l'arbre engage dansfeature
. Si ce n'est pas de vous montrer les changements qui se sont produits sur votre branche, peut-être vous avez résolu des conflits à partir de l'fusionne de maître en faveur de la version enmaster
?Comme cebewee dit il se peut que ce que vous voulez est
git log -p master..feature
, depuisgit log
ne de soins sur l'histoire. Le sens de..
et...
pourgit log
sont différentes puisqu'elles sélectionner un ensemble de commits:D'ailleurs, son dit souvent que la fusion de
master
dans une rubrique de la branche est la mauvaise chose à faire - au lieu de cela, vous devriez être complet, ou la fusion de votre sujet de branche enmaster
après qu'il est terminé. Cela permet de maintenir le sens du sujet branche facilement compris. Le git responsable n'a (un peu difficile à comprendre) billet de blog sur la philosophie de la fusion qui explique que l'.master
un déroulement correct de l'action est de fusionnermaster
dans la branche de fonctionnalité et de résoudre les conflits sur la branche.git diff master feature
ne présentent pas les engage", mais la différence entre les commits de master et de fonctionnalité. Il semble que si vous voulez voir tous les commits de fonction, qui ne sont pas encore en maître? Dans ce cas, essayez degit log master..feature
ougit log -p master..feature
, si vous voulez voir les diffs, trop.Voir la section SPÉCIFIER des PLAGES dans
homme git-rev-parse
pour une explication de la "a..b' la syntaxe.Je suis relativement nouveau à git, mais si je comprends votre question correctement. Votre question est enracinée depuis pas à une meilleure compréhension de distance et les espaces de stockage locaux et comment ils se rapportent l'un à l'autre. Je me souviens une fois que j'ai compris, tout est devenu 2X plus facile.
Vous pense vous êtes dans cette situation dessous de l'endroit où vous avez seulement 2 branches:
Pourtant, si vous faites un
git branch -a
vous serez en mesure de voir tous de vos branches locales et distance.De sorte que votre réel situation est la suivante:
Dans l'ordre pour vous d'être en mesure de voir la diff similaire à ce que vous voyez dans
Github Pull Request
vous devezdiff
avec votre distance branche.Voir comparer git local succursale de succursale à distance?