Hay dos escenarios para comparar archivos:
Escenario 1: Comparar archivos en sucursales remotas (ambas ramas deben existir en el repositorio remoto)
Escenario 2: compare los archivos locales (en la copia del área de trabajo local) con los archivos del repositorio remoto.
La lógica es simple. Si proporciona dos nombres de rama para diferenciar, siempre comparará las ramas remotas, y si proporciona solo un nombre de rama, siempre comparará su copia de trabajo local con el repositorio remoto (el que proporcionó). Puede usar el rango para proporcionar repositorios remotos.
Por ejemplo, pagar una sucursal
git checkout branch1
git diff branch2 [filename]
en este caso, si proporciona el nombre del archivo, comparará su copia local del nombre del archivo con la rama remota llamada " rama2 ".
git diff branch1 branch2 [filename]
en este caso, comparará el nombre de archivo de las ramas remotas llamadas " branch1 " versus " branch2 "
git diff ..branch2 [filename]
en este caso también, comparará el nombre de archivo de las ramas remotas llamadas " branch1 " versus " branch2 ". Entonces, es lo mismo que arriba. Sin embargo, si acaba de crear una rama de otra rama, diga "maestro" y su rama actual no existe en el repositorio remoto, comparará " maestro " remoto con " rama2 " remota .
Espero que sea útil.
git diff branch1 branch2 myfile.cs
. (Esto--
ya no debería ser necesario, ya que solo puede tomar hasta dos argumentos de revisión.)