¿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
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
.
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.
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'
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^!
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