【发布时间】:2013-08-06 20:59:50
【问题描述】:
我使用git for-each-ref 作为 git 别名来显示分支名称和该分支上最后一次提交的主题。也就是说,很难分辨分支名称的结束位置和提交消息主题的开始位置,因此我尝试对分支名称进行着色以更轻松地区分两者之间的区别。下面是没有颜色的工作别名:
[alias]
logbranch = for-each-ref --sort=-committerdate refs/heads/ --format='%(refname:short) %(subject)'
为了添加颜色,我尝试使用 shell 颜色转义(我正在使用 bash),如下所示:
[alias]
logbranch = for-each-ref --sort=-committerdate refs/heads/ --format='[\033[0;31m]%(refname:short)[\e[m] %(subject)'
这给了我一个 git config 错误。我还尝试用双引号替换单引号,并转义方括号,但没有骰子。
想法?
【问题讨论】:
-
根据docs for
git for-each-ref,您可以使用%xx,其中xx是一个十六进制数字,在格式字符串中,以便它由宿主语言评估(在这种情况下是Bash? )。我一直在尝试,不知道它是否有效。 -
git branch -vv给你的分支机构信息不一样吗? -
@R0MANARMY /facepalm 谢谢,这正是我试图模仿的——应该更仔细地阅读 git 分支手册页。
-
@akhaku 你可能也对这个问题感兴趣:how do I get git to show me which branches are tracking what?
-
注意:这个来了!见my answer below。
标签: git