¿Cómo corro git log para ver los cambios solo para una rama específica?


Tengo una rama local que rastrea la rama remote/master. Después de ejecutar git-pull y git-log, el registro mostrará todas las confirmaciones en la rama de seguimiento remoto, así como la rama actual. Sin embargo, debido a que se realizaron muchos cambios en la rama remota, necesito ver solo las confirmaciones realizadas en la rama local actual.

¿Cuál sería el comando Git a usar para mostrar solo commits para una rama específica?

Notas:

Información de configuración:

[branch "my-branch"]
  remote = origin
  merge = refs/heads/master
Author: Peter Mortensen, 2011-01-10

4 answers

Asumiendo que tu rama fue creada fuera de master, entonces mientras estás en la rama (es decir, tienes la rama comprobada):

git cherry -v master

O

git log master..

Si no estás en la rama, entonces puedes agregar el nombre de la rama al comando" git log", así:

git log master..branchname

Si tu rama fue hecha de origin/master, entonces di origin/master en lugar de master.

 362
Author: Wayne Conrad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-07 16:10:39

Uso:

git log --graph --abbrev-commit --decorate  --first-parent <branch_name>

Es solo para la rama de destino (por supuesto --graph, abbre abrev-commit are decorate son más polisihing).

La opción clave es first first-parent: "Seguir solo el primer commit padre al ver un commit de fusión" (https://git-scm.com/docs/git-log)

Evita que se muestren las bifurcaciones de confirmación.

 54
Author: yerlilbilgin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-24 16:04:17

Si quieres solo aquellas confirmaciones que son hechas por ti en una rama en particular, usa el siguiente comando.

git log branch_name --author='Dyaniyal'
 11
Author: Dyaniyal Nadar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-03 10:10:39

El problema que estaba teniendo, que creo que es similar a esto, es que master estaba demasiado adelantado a mi punto de ramificación para que la historia fuera útil. (Navegar hasta el punto de bifurcación llevaría demasiado tiempo.)

Después de algún ensayo y error, esto me dio aproximadamente lo que quería:

git log --graph --decorate --oneline --all ^master^!
 3
Author: GPHemsley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-17 08:41:21