How to emulate git log --decorate's different colors per branch-type

git, git-config

Solution

Per https://stackoverflow.com/a/16844346/55948

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

Problem

In making my favorite git log view I've created this alias: `graph = log --pretty=format:'%Cgreen%ad%Creset %C(yellow)%h%Creset%C(yellow)%d%Creset %s %C(cyan)[%an]%Creset %Cgreen(%ar)%Creset' --date=short --graph` This creates an output like: What I'm missing here is the different coloring of branch types like in `log --oneline --decorate --graph`. The --decorate (which uses =short by default) gives the different recognized branches a different color. The branch types `(HEAD, origin/master, origin/HEAD, master)` are colored cyan, red, red, green. Mine however are uncolored; colored only with the yellow of the whole branches part. Is there a way to give different colors to the different kind of branches with an own alias?

Original source