2016-06-29 51 views
2

我倾向于使用git log --all --graph --oneline很多。Git记录所有,显示当前的提交方式不同

如果我目前的状态在最后一次提交之后,我几乎找不到我在图形显示上的位置。

有没有一种方法,保存一般显示(oneline,graph),以某种方式突出显示当前修订?

回答

2

您可以使用git log--pretty选项包括在提交的名单references(分支,标签和HEAD):

git log --all --graph --pretty='%C(green)%h%Creset %C(cyan)%d%Creset %s' 

其中:

  • %C(color)%Creset改变颜色的输出并将其重置为其默认颜色,分别为
  • %h扩展为缩写提交散列
  • %d膨胀以指向的参考文献的列表提交
  • %s扩展到提交消息的第一行(即在“总结”)

您可以找到git log文档的Pretty Formats部分占位符的完整列表。

当然,你不希望这一切你想看看历史上的每一次输入,让我们创建一个alias它:

git config --global alias.lg \ 
    "log --all --graph --pretty='%C(green)%h%Creset %C(cyan)%d%Creset %s'" 

在这一点,你可以简单地说git lg

或者,你可以指定默认漂亮格式format.pretty配置设置用于git loggit showgit whatchanged

git config --global format.pretty '%C(green)%h%Creset %C(cyan)%d%Creset %s' 
+0

不错,你认为这是可以自定义的'pretty'有当前提交的不同亮点? – nobe4

+1

不幸的是,没有。至少我不知道。但是你总是可以编写一个脚本,它使用正则表达式来查找包含“HEAD”的行,并在将其发送到stdout之前应用不同的颜色。然后可以通过别名中的脚本来管理'git log'的输出。例如,假设你的脚本被称为'highlight-head',你可以写下如下的别名:'git config --global alias.lg“!git log --all --graph --pretty =''| highlight-head“' –

相关问题