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:
gitactualización reciente .Respuestas:
Prueba la opción de decorar.
Anota confirmaciones a las que apuntan etiquetas o ramas.
fuente
--prettyusted puede usar%ddonde desee las 'decoraciones'.git log --graph --all --oneline --decorate. Tengo un aliasgit 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?--prettyformatos, 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
blackboxcifrado, donde un repositorio y sus ramas / etiquetas puedenadminsdejar de estar disponibles cuando suficientes usuarios abandonan un proyecto y elkeyringsdirectorio 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.Otra respuesta útil: cómo mostrar git log con el nombre de la sucursal
fuente
--sourcesolo daHEADpara 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 seGitpierda 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 --decoratecomando, que está disponible como elglggaalias en oh-my-zsh.Personalmente, prefiero el
glodsalias que se traduce en:fuente