Uno de mis colegas recientemente notó una discrepancia entre el comando normal de git log
, y el siguiente y alias:¿Por qué algunos commits de git están ocultos dentro del shell cygwin?
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
Después de un poco de hurgar, nos dimos cuenta de que puede estar relacionado con la fiesta de cygwin.
Estas son nuestras conclusiones:
git log --graph
todas las confirmaciones visibles
git log --oneline
algunas confirmaciones que faltan ... bien! vamos a preparar un informe de errores mediante la reorientación de la salida a un archivo de texto:
git log --oneline > test.txt
Por desgracia, todos los envíos son visibles en
test.txt
?!? Investiguemos más deteniendo el alias. Eliminación de los códigos de color:git log --graph --pretty=format:'%h - %d %s (%cr) <%an>'
algunas confirmaciones que falta. Por lo que debe ser una de las variables ...
[... algunos frobnications después ...]
git log --graph --pretty=format:'%h - %d %s (%cr)'
todas las confirmaciones visibles
git log --graph --pretty=format:'%h - %d %s <%an>'
all commits visible
Parece que romper después de ciertas combinaciones de variables. En este caso (%cr) <%an>
También probé el mismo repositorio en Linux y allí funciona como se esperaba (es decir, todas las confirmaciones se muestran en el registro).
Nos gustaría saber por qué sucede esto.
¿trató de evitar ''>' 'y' '<' 'en su definición de alias, para ver si el comando funciona mejor en su sesión de Cygwin? – VonC
La eliminación de los soportes angulares no resolvió el problema. Aunque parezca extraño, ahora aparece una confirmación adicional en el registro. Pero todavía no están todos allí. – exhuma
Ok, solo comprobando. – VonC