Je suis sur la branche A
et la branche B
est en avance. Je veux voir les changements dans B
de A
, mais quand je cours git diff B
il montre ses ajouts comme des suppressions et vice-versa, et si je veux mettre B
changements dans la copie de travail de A
(souhaitable si j'ai un test branche offshoot), en essayant d'exécuter git diff B > Bfile
puis git apply Bfile
juste jette un tas d'erreurs.Strange git diff comportement
Si je tape à la place git diff A..B
(je suis déjà sur A
) il montre les changements corrects.
Alors pourquoi la première commande affiche-t-elle les changements comme des suppressions lorsqu'ils sont des ajouts? Il semble redondant et contre-intuitif d'avoir à dactylographier la branche que je suis déjà quand je veux juste les changements précis avec une autre branche.
Vous pouvez également abréger 'HEAD' comme' @ ', par exemple' git diff @ B'. Et, vous pouvez utiliser '-R' pour inverser la direction d'un diff, de sorte que vous pouvez écrire cela comme' git diff -R B'. (Je voudrais juste écrire HEAD, ce n'est pas si difficile à taper et il semble plus clair :-)) – torek