Git:显示目录中每个文件的最后提交日期和消息,如Github

gvl*_*gvl 11 git github

在Github中,当使用Web界面浏览目录时,除了提交消息之外,还可以看到上次提交每个文件和子目录的时间.

你会如何使用git命令行界面做同样的事情?

Gab*_*lla 22

好的,我修改了这个答案,以产生更好的格式.这是ZSH的结果

在此输入图像描述

这是剧本

#!/bin/sh

FILES="$(git ls-tree --name-only HEAD .)"
MAXLEN=0
IFS="$(printf "\n\b")"
for f in $FILES; do
    if [ ${#f} -gt $MAXLEN ]; then
        MAXLEN=${#f}
    fi
done
for f in $FILES; do
    str="$(git log -1 --pretty=format:"%C(green)%cr%Creset %x09 %C(cyan)%h%Creset %s %C(yellow)(%cn)%Creset" $f)"
    printf "%-${MAXLEN}s -- %s\n" "$f" "$str"
done
Run Code Online (Sandbox Code Playgroud)

这是要点来源

  • 我建议使用`git ls-files`而不是`ls -A`,这样你只能通过Git获取文件. (3认同)