J'ai un repo avec un fichier foo
dans la branche principale. Je suis passé à la branche bar et ai apporté quelques modifications à foo
. Comment puis-je maintenant exécuter un git diff
entre cette copie (qui n'est pas encore validée) et la copie de la branche principale?
158
git diff
, je pense toujours à stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/…--
pour séparer les paramètres des arguments de chemin?git diff -- master:foo foo
git diff -- master:foo foo
ne fonctionne pas - il semble traiter l'argumentmaster:foo
comme un nom de fichier inexistant (et l'ignore) au lieu d'un fichier dans une branche. Essayez de changer les 2 derniers arguments - si cela a fonctionné, la comparaison diff devrait être inversée, mais la sortie ne change pas.git diff master:foo foo
mais pas l'inverse. Je ne comprends pas non plus. Avec git 1.7.9.5 / Ubuntu 12.04, je peux au moins fairegit diff -R master:foo foo
pour obtenir le diff que je veux réellement. Quand j'essaye cela avec msysgit 1.9.4 / Windows 7 x64 je reçoisfatal: unable to read 0000000000000000000000000000000000000000
. Sans-R
j'obtiens le même message d'erreur que vous avec git 1.7.9.5, mais avec 1.9.4 j'obtiensfatal: master:foo: no such path in the working tree
.Vous essayez de comparer votre arbre de travail avec un nom de branche particulier, vous voulez donc ceci:
Qui est de cette forme de git-diff (voir la page de manuel git-diff)
Pour info, il existe également une option
--cached
(aka--staged
) pour afficher le diff de ce que vous avez mis en scène, plutôt que tout dans votre arbre de travail:la source
Aussi:
git diff master..feature foo
Puisque
git diff foo master:foo
ne fonctionne pas sur les répertoires pour moi.la source
git diff branch1:foo master:foo
la source
git difftool
n'a pas d'-v
option selon les documents git-scm.com/docs/git-difftool . Voulez-vous dire-y
?devrait aussi fonctionner
la source
git diff deployment master -- file
etgit diff master deployment -- file
fonctionnent comme prévu avec 2 branches quelconques .Pour voir les changements locaux par rapport à votre succursale actuelle
Pour voir les modifications locales comparées à toute autre branche existante
Pour voir les modifications d'un fichier particulier
Assurez-vous de courir
git fetch
au début.la source