簡體   English   中英

顏色git提交者名稱

[英]Color git commiter name

我正在一個很少有人參與的項目中,這是我第一次使用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。

如果您在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)部分。

不是直接在git中。 這些%C( name )指令可以讓您將作者名稱設置為藍色或綠色粗體,但是您無法以某種方式測試字符串,然后根據結果對其進行着色。

您可以用其他方式注釋作者名稱(以便您可以以某種自動化的方式准確地告訴git log輸出的哪一部分是作者姓名),然后使用單獨的git log程序對git log輸出進行后處理一個名稱,或幾個特定名稱,一種顏色,所有其他名稱為其他顏色。 然后制作一個git別名(例如git logx ),該別名調用外殼程序以運行git log ... | your-recoloring-program | less -FRSX git log ... | your-recoloring-program | less -FRSX git log ... | your-recoloring-program | less -FRSX或其他。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM