Color in git-log

NorthIsUp picture NorthIsUp · May 4, 2011 · Viewed 40.9k times · Source

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

Elad Shahar picture Elad Shahar · May 30, 2013

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.)