Il existe deux scénarios pour comparer des fichiers:
Scénario 1: comparer les fichiers dans les succursales distantes (les deux succursales devraient exister dans le référentiel distant)
Scénario 2: comparer les fichiers locaux (sur la copie de la zone de travail locale) aux fichiers du référentiel distant.
La logique est simple. Si vous fournissez deux noms de branche à diff, il comparera toujours les branches distantes et si vous ne fournissez qu'un seul nom de branche, il comparera toujours votre copie de travail locale avec le référentiel distant (celui que vous avez fourni). Vous pouvez utiliser range pour fournir des référentiels distants.
p.ex. commander une succursale
git checkout branch1
git diff branch2 [filename]
dans ce cas, si vous fournissez un nom de fichier, il comparera votre copie locale du nom de fichier avec la branche distante nommée " branch2 ".
git diff branch1 branch2 [filename]
dans ce cas, il comparera le nom de fichier des branches distantes nommées " branch1 " vs " branch2 "
git diff ..branch2 [filename]
dans ce cas également, il comparera le nom de fichier des branches distantes nommées " branch1 " vs " branch2 ". Donc, c'est la même chose que ci-dessus. Cependant, si vous venez de créer une branche à partir d'une autre branche, dites "maître" et que votre branche actuelle n'existe pas sur le référentiel distant, elle comparera à distance " maître " distant contre la " branche2 " distante .
J'espère que c'est utile.
git diff branch1 branch2 myfile.cs
. (Le--
ne devrait plus être nécessaire, car il ne peut prendre que deux arguments de révision.)