Prácticamente, mostrar los nombres de los encabezados o etiquetas vinculados parece que ya está hecho de forma predeterminada desde alguna gitactualización reciente .
underscore_d
Respuestas:
321
Prueba la opción de decorar.
git log --graph --all --decorate
Anota confirmaciones a las que apuntan etiquetas o ramas.
Con --prettyusted puede usar %ddonde desee las 'decoraciones'.
CB Bailey
44
@noli: ¿Qué esperas que muestre? No todos los commits son consejos de rama.
CB Bailey
99
@noli git solo almacena el nombre de la sucursal en la confirmación más reciente de la sucursal (la sugerencia). Todos los commits en la historia son iguales y anónimos. Si desea ramas con nombre para que cada confirmación lleve el nombre de la rama, puede usar Mercurial.
Sampo Smolander
77
@CharlesBailey: me gustan los colores de los árbitros git log --graph --all --oneline --decorate. Tengo un alias git graphque usa --pretty(para mostrar también otras cosas, como autor y fecha), pero %dno me da los colores --decorate. Uso el amarillo para todas mis referencias por ahora, ¿sabes cómo puedo dejar que --prettyla %dcadena herede los colores --decorate?
Gauthier
3
@Gauthier Si desea tener colores predeterminados en sus --prettyformatos, agregue %C(auto)antes del elemento lo que debe colorearse. Por ejemplogit log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Radon8472
7
Estaba buscando algo similar a esto, pero quería saber en qué rama se realizó un cambio. Esperemos que esta respuesta sea útil para otros también.
Estoy investigando un riesgo con el blackboxcifrado, donde un repositorio y sus ramas / etiquetas pueden adminsdejar de estar disponibles cuando suficientes usuarios abandonan un proyecto y el keyringsdirectorio no se ha basado religiosamente en el maestro)
Encontré que la respuesta a continuación fue útil cuando el keyringsdirectorio no se actualizó desde el maestro ...
Básicamente, agregar --sourceera lo que necesitaba para mostrar las ramas / etiquetas. Agregar --name-onlytambién mostrará qué archivo se cambió realmente.
cd /path/to/repo-that-uses-blackbox-encryption
git log --graph --all --decorate --source --name-only keyrings
Para mí, --sourcesolo da HEADpara todos los commits. En combinación con --all, esto parece distinguir entre diferentes ramas, pero la información que se muestra no es lo que esperaba: para las confirmaciones que hice master, en lugar de obtener refs/heads/master, obtengo alguna rama privada ( refs/remotes/origin/…). Sospecho que las fusiones y / o nuevas sucursales hacen que se Gitpierda información del historial.
vinc17
En lugar de --all, puedo filtrar las ramas con --branches --remotes=<pattern>, pero tan pronto como se fusionan dos ramas, Git ya no tiene la información sobre cuál tenía la confirmación cuando se hizo.
vinc17
1
Si está usando oh-my-zsh como su terminal, entonces hay un montón de alias git disponibles. Todo lo cual se puede ver en su repositorio oh-my-zsh / plugins / git . Si no usa este terminal, simplemente puede tomar los alias y pegar los que desee en su propio entorno.
La respuesta aceptada presenta el git log --graph --all --decoratecomando, que está disponible como el glggaalias en oh-my-zsh.
Personalmente, prefiero el glodsalias que se traduce en:
git
actualización reciente .Respuestas:
Prueba la opción de decorar.
Anota confirmaciones a las que apuntan etiquetas o ramas.
fuente
--pretty
usted puede usar%d
donde desee las 'decoraciones'.git log --graph --all --oneline --decorate
. Tengo un aliasgit graph
que usa--pretty
(para mostrar también otras cosas, como autor y fecha), pero%d
no me da los colores--decorate
. Uso el amarillo para todas mis referencias por ahora, ¿sabes cómo puedo dejar que--pretty
la%d
cadena herede los colores--decorate
?--pretty
formatos, agregue%C(auto)
antes del elemento lo que debe colorearse. Por ejemplogit log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Estaba buscando algo similar a esto, pero quería saber en qué rama se realizó un cambio. Esperemos que esta respuesta sea útil para otros también.
Estoy investigando un riesgo con el
blackbox
cifrado, donde un repositorio y sus ramas / etiquetas puedenadmins
dejar de estar disponibles cuando suficientes usuarios abandonan un proyecto y elkeyrings
directorio no se ha basado religiosamente en el maestro)Encontré que la respuesta a continuación fue útil cuando el
keyrings
directorio no se actualizó desde el maestro ...Básicamente, agregar
--source
era lo que necesitaba para mostrar las ramas / etiquetas. Agregar--name-only
también mostrará qué archivo se cambió realmente.Otra respuesta útil: cómo mostrar git log con el nombre de la sucursal
fuente
--source
solo daHEAD
para todos los commits. En combinación con--all
, esto parece distinguir entre diferentes ramas, pero la información que se muestra no es lo que esperaba: para las confirmaciones que hicemaster
, en lugar de obtenerrefs/heads/master
, obtengo alguna rama privada (refs/remotes/origin/…
). Sospecho que las fusiones y / o nuevas sucursales hacen que seGit
pierda información del historial.--all
, puedo filtrar las ramas con--branches --remotes=<pattern>
, pero tan pronto como se fusionan dos ramas, Git ya no tiene la información sobre cuál tenía la confirmación cuando se hizo.Si está usando oh-my-zsh como su terminal, entonces hay un montón de alias git disponibles. Todo lo cual se puede ver en su repositorio oh-my-zsh / plugins / git . Si no usa este terminal, simplemente puede tomar los alias y pegar los que desee en su propio entorno.
La respuesta aceptada presenta el
git log --graph --all --decorate
comando, que está disponible como elglgga
alias en oh-my-zsh.Personalmente, prefiero el
glods
alias que se traduce en:fuente