在 git --for-each-ref 中限制主题长度

sfj*_*jac 5 git

有没有办法在格式字符串中指定主题的最大长度git --for-each-ref?我有一个方便的快捷方式,列出我的分支和最近提交的主题,但我想截断主题字段的长度,以便输出不会换行。一时兴起,我试过了,%(subject:short)但 git 说

fatal: %(subject) does not take arguments
Run Code Online (Sandbox Code Playgroud)

Ber*_*tel 5

您可以使用以下bash命令来显示字段并限制长度%.XXs

git for-each-ref --count=1 --sort='-*authordate' \
--format='%(*refname)|%(*authorname)|%(*authoremail)|%(*subject)|%(*authordate)' 'refs/tags' | \
while IFS='|' read refname authorname authoremail subject authordate
do 
    echo   "Ref      : $refname"
    echo   "From     : $authorname $authoremail"
    printf "Subject  : %.30s\n" "$subject"
    echo   "Date     : $authordate"
done 
Run Code Online (Sandbox Code Playgroud)

  • 对于存在 bash 的环境来说,这是一个非常好的决定。我们不能忽视这样一个事实,即有些地方并非如此——而 git 仍然充当 CLI 工具。 (2认同)