我在一个人很少的项目上工作,这是我第一次使用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。
答案 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
或其他任何内容。