给定以下git-log命令:
git log --max-count=1 --format='format:%C(cyan)%GG'只有%GG多行占位符值的第一行被着色。但是,我希望在当前选择的颜色被下一个%C(...)语句重置之前,下面的文本是相同的颜色。我怎样才能做到这一点?
我在21上使用Git版本2.1.0。
发布于 2015-03-31 22:52:52
同时,我想出了一个解决方案,就是下面的Bash脚本片段:
function foobar {
local -r committish="${1:-HEAD}"
local -r tput_app="$(type -p tput)"
if [[ -n $tput_app ]]; then
local -r color_cyan="$("$tput_app" setaf 6)"
local line=''
while read -r line; do
printf '%s\n' "$color_cyan$line"
done < <(git log --max-count=1 --format='format:%GG' "$committish")
printf '%s\n' "$("$tput_app" sgr0)"
else
git log --max-count=1 --format='format:%GG' "$committish"
fi
}这个解决方案不满足我,因为我通常更喜欢简单的解决方案而不是简单的问题。但至少对我有用。
https://stackoverflow.com/questions/29379176
复制相似问题