Pro Git
Pro Git Este comando te da las diferencias, pero los resultados podrÃan ser confusos. Si tu rama master ha avanzado desde que creaste la rama puntual, entonces obtendrás resultados aparentemente extraños. Esto ocurre porque Git compara directamente las instantáneas del último commit de la rama puntual en la que estás con la instantánea del último commit de la rama master. Por ejemplo, si has añadido una lÃnea a un archivo en la rama master, al hacer una comparación directa de las instantáneas parecerá que la rama puntual va a eliminar esa lÃnea.
Si master es un ancestro de tu rama puntual, esto no supone un problema; pero si los dos historiales divergen, al hacer una comparación directa parecerá que estás añadiendo todos los cambios nuevos en tu rama puntual y eliminándolos de la rama master.
Lo que realmente necesitas ver son los cambios añadidos en tu rama puntual – el trabajo que introducirás si integras esta rama en la master. Para conseguir esto, Git compara el último commit de tu rama puntual con el primer ancestro en común respecto a la rama master.
Técnicamente puedes hacer esto averiguando explÃcitamente el ancestro común y ejecutando el diff sobre dicho ancestro: