我正在使用git for-each-refgit别名来显示分支名称和该分支上最后一次提交的主题.也就是说,很难分辨出分支名称的结束位置以及提交消息主题的开始,所以我试图将分支名称着色,以便更容易地分辨出两者之间的区别.以下是没有颜色的工作别名:
[alias]
logbranch = for-each-ref --sort=-committerdate refs/heads/ --format='%(refname:short) %(subject)'
Run Code Online (Sandbox Code Playgroud)
为了添加颜色,我尝试使用shell颜色转义(我正在使用bash),如下所示:
[alias]
logbranch = for-each-ref --sort=-committerdate refs/heads/ --format='[\033[0;31m]%(refname:short)[\e[m] %(subject)'
Run Code Online (Sandbox Code Playgroud)
这给了我一个git配置错误.我也尝试用双引号替换单引号,并转出方括号,但没有骰子.
想法?
Von*_*onC 22
Git 1.9/2.0(2014年第一季度)将推出颜色格式git for-each-ref.
见提交fddb74c从Ramkumar拉玛昌德拉(artagnon) :
for-each-ref:介绍%(color:...)颜色
git for-each-ref使用颜色格式选项增强' '.
您现在可以在for-each-ref中使用以下格式:
%(color:green)%(refname:short)%(color:reset)
Run Code Online (Sandbox Code Playgroud)
其中描述了颜色名称
color.branch.*.
使用Git 2.5(2017年第4季度),您可以打开或关闭这些颜色.
请参阅Jeff King()提交0c88bf5(2017年10月3日).(2017年10月4日合并)peff
--color为所有ref-filter用户提供选项当ref-filter在11b087a中了解了want_color()时 (
ref-filter:在发出颜色之前咨询want_color(),2017-07-13),能够为特定命令打开和关闭颜色变得很有用.对于git-branch,您可以使用--color/来完成--no-color.但对于
git-for-each-ref和git-tag,以及ref-filter的其他用户,除了调整"color.ui"配置设置外,你别无选择.让我们给这两个命令提供常用的颜色命令行选项.作为覆盖配置的方法,这一点更为明显.它还使我们为
always"改变"的行为做好准备(这样当我们的输出转到非终端时,我们仍然有一种强制颜色的方式).
我在for-each-ref手册页中没有看到任何暗示它支持反斜杠转义序列的内容\033.如果用文字转义字符替换\033(和\e),它似乎工作得很好.
Cupcake说for-each-ref它还支持%xx十六进制转义序列,它看起来像:
[alias]
logbranch = "for-each-ref --sort=-committerdate refs/heads/ --format='[%1B[0;31m]%(refname:short)[%1B[m] %(subject)' "
Run Code Online (Sandbox Code Playgroud)
这在我的系统上也可以正常工作.
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |