¿Puedo hacer una list de directorys con git, mostrando las últimas dates de compromiso?

Estoy buscando algo como ls -l con una columna adicional que muestra la date de confirmación más reciente de cada file (posiblemente también hash acortado y la primera línea de post de logging).

Puedes hacer algo como esto:

 git ls-tree --name-only HEAD | xargs -I %% sh -c 'echo %% `git log -n 1 "--pretty=format:%C(green)%h (%cr) %C(cyan)%s%Creset" -- %%`' 

Esto imprimirá el nombre del file seguido de su último hash de confirmación, la date y el asunto de la confirmación.

Estoy seguro de que puedes hacer que esto sea aún mejor, pero mi conocimiento básico es un poco limitado. Mi bonita solución PowerShell se ve así:

 git ls-tree --name-only HEAD | % { Write-Host ("{0,-30} {1}" -f $_, (git log -n 1 "--pretty=format:%C(green)%h (%cr) %C(blue)%s%Creset" -- $_)) } 

Algo así podría funcionar (para ser mejorado para files no rastreados)

 for i in *; do echo -n "$i - "; git --no-pager log -1 --format='%ad' $i; done 

Deberías ejecutar eso en bash.