chris hansen
¿Cómo uso git diff
para mostrar solo los mensajes de confirmación?
Solo quiero el mensaje de la confirmación, no el nombre de los archivos. Estoy tratando de obtener un registro de cambios en Git.
Simón Clewer
Tu podrías intentar git log
de este modo,
git log commitA...commitB
La notación de punto triple ‘…’ le da solo los mensajes de confirmación para todas las confirmaciones a las que se puede acceder desde commitA o commitB, pero no desde ambas, es decir, la diferencia entre commitA y commitB.
Puede reducirse fácilmente al mensaje de confirmación con algo como:
git log --pretty=%B commitA...commitB
Algunos ejemplos
# Show a log of all commits in either the development branch or master branch since they diverged.
git log --pretty=%B development...master
# Ahow a log of all commits made to either commit b8c9577 or commit 92b15da, but not to both.
git log --pretty=%B b8c9577...92b15da
# Show a log for all commits unique to either the local branch master or local version of the origin's master branch.
git co master
git log --pretty=%B master...origin/master
# Show a log for all commits unique to either the local HEAD or local version of the origin's master branch.
git co master
# Hack, hack
git log --pretty=%B HEAD...origin/master
-
Puede ser maestro… desarrollo no desarrollo… maestro
– Anton Rybalko
5 de noviembre de 2020 a las 14:17
-
%B
representaraw body (unwrapped subject and body)
. Creo que el uso de la%s subject
es mejor.– IgorZ
21 de septiembre de 2021 a las 12:12
Asistente de código
Usar:
git log --oneline -n 10
Imprimirá el último norte (10) confirma en líneas individuales. Solo los mensajes de confirmación.
También puede combinarlo con otros parámetros de registro, como:
git log --oneline --graph --decorate -n 10
-
¿Eso también funciona con submódulos? También quiero obtener los cambios de los submódulos.
– Chris Hansen
10 de noviembre de 2015 a las 23:22
-
Los submódulos son básicamente un repositorio git dentro del repositorio root git, por lo que tendrá que hacerlo dentro de la carpeta. siempre puede escribir un script o un alias para que lo haga por usted.
– Asistente de código
10 de noviembre de 2015 a las 23:24
-
¿No puedo usar git diff para mostrar los cambios del submódulo?
– Chris Hansen
10 de noviembre de 2015 a las 23:24
-
por ejemplo:
git submodule foreach git log --oneline ...
. El for each se repetirá en todos sus submódulos.– Asistente de código
10 de noviembre de 2015 a las 23:25
anton rybalko
Además de la respuesta de Simon Clewer:
git log master..dev --no-merges --pretty='format:%cs %s'
Imprime solo sujetos de confirmaciones entre ramas maestras y de desarrollo (sin confirmaciones de combinación). Algo como esto:
2020-12-31 Hot fix
2020-12-30 Change some stuff
2020-12-29 Add the feature
Cambios entre sucursales locales y remotas:
git log HEAD..origin --no-merges --pretty='format:%cs %s'
Ver también ¿Cuáles son algunas buenas formas de administrar un registro de cambios usando Git?.
Simón
git log --pretty=%B
le mostrará los últimos mensajes de confirmación.
En caso de que desee limitar la cantidad de mensajes de confirmación que se muestran mediante un número, nortepuede hacerlo proporcionando un adicional -N
p.ej,
git log -3 --pretty=%B
para los últimos tres mensajes de confirmación.
¿Usar git log en su lugar?
– Ismail Badaui
10 de noviembre de 2015 a las 23:08