NorthIsUp NorthIsUp - 10 months ago 73
Git Question

Color in git-log

When you run

git log --decorate --pretty=oneline
the output will have entries like
(HEAD, refs/published/master, master)
with coloration.

I also have the following in my gitconfig:

[color "branch"]
current = yellow reverse
local = yellow
remote = green

How do you replicate those colors when doing a custom format like the following?

git log --decorate --stat --graph --pretty=format:"%d %Cgreen%h%Creset (%ar - %Cred%an%Creset), %s%n"

Answer Source

As of git 1.8.3 (May 24, 2013), you can use %C(auto) to decorate %d in the format string of git log.

From the release notes:

 * "git log --format" specifier learned %C(auto) token that tells Git
   to use color when interpolating %d (decoration), %h (short commit
   object name), etc. for terminal output.)