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

时间:2013-06-28 07:21:53

标签: git github

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

如何使用git命令行界面执行相同的操作?

2 个答案:

答案 0 :(得分:22)

好的,我稍微修改了this answer以生成更好的格式。这是ZSH的结果

enter image description here

这是脚本

#!/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

这是gist source

答案 1 :(得分:2)

我使用以下行:

git log --decorate=full --pretty=full --graph -b --stat

您应该将其作为别名放在.gitconfig中(Perso,我使用git l作为别名。)