颜色git委托者名称

时间:2014-07-30 09:53:43

标签: git git-config

我在一个人很少的项目上工作,这是我第一次使用git,我找到了令人愉快的着色git输出。 例如:

 git log --graph --format='%C(yellow bold)%h%Creset %C(white bold)%s%Creset%n     %C(magenta    bold)%cr%Creset   %C(green bold)%an%Creset'

我现在想把我的名字涂成蓝色粗体,其他作者用绿色粗体。可能吗? 还有一件事:我正在使用 windows git bash。

2 个答案:

答案 0 :(得分:2)

如果您在git / compat / examples文件夹中使用示例git-log脚本并对其进行修改以一次处理一个修订版本,则可以检查作者并更改内容。然而,这明显慢于普通的git。这是我的版本:

#!/bin/bash
#

USAGE='[--max-count=<n>] [<since>..<limit>] [--pretty=<format>] [git-rev-list options]'
SUBDIRECTORY_OK='Yes'
. git-sh-setup

revs=$(git-rev-parse --revs-only --no-flags --default HEAD "$@") || exit
[ "$revs" ] || {
        die "No HEAD ref"
}

for rev in $(git-rev-list $(git-rev-parse --default HEAD "$@"))
do
    an=$(git log -1 --pretty=format:%an $rev)
    case $an in
        *Thoyts) color=blue ;;
        *)       color=green ;;
    esac
    git log -1 --decorate --pretty=format:"%C(yellow bold)%h%Creset %C(white bold)%<(70,trunc)%s%Creset%n    %C(magenta bold)%cr%Creset    %C(${color} bold)%an%Creset" $rev
done

在git-gui存储库上运行它似乎工作正常。我稍微截断了主题(%<(70,trunc)部分。

答案 1 :(得分:1)

不直接在git中。那些%C(name)指令可以让你将作者名称设置为蓝色或绿色粗体,但是你不能以某种方式测试字符串,然后根据结果对它进行着色。

您可以通过其他方式注释作者姓名(以便您可以以某种自动方式告诉git log输出的哪一部分是作者姓名)然后对{{1进行后处理使用单独的程序输出,该程序为一个名称或一些特定名称,一种颜色以及所有其他颜色设置其他颜色。然后创建一个调用shell的git别名(例如git log)来运行git logx或其他任何内容。