- git-forest — display the commit history forest
git-forest [-a] [--no-rebase]
[--style=number] [--sha] [--svdepth=depth]
[rev-list-options] [refspec...]
git-forest is a command-line zero-lookahead git repository history visualizer
with Unicode output with a bit of gitk resemblance.
The tree visualization of gitk is very useful, but there were (git 1.5.4
timeframe) no decent visualizers that can run in a console window, without the
need to have X around (which gitk depends on). tig has numerous limitations,
it cannot display octopus merges or octopus branching. As of git 1.5.6, there
are still no other Unicode-output programs known to me.
git-forest originally was a zero-lookahead visualizer, i.e. branches were
accomodated when they have first been seen. Since mid-June 2008, git-forest
has a lookahead tunable that controls how long an inter-merge vine (a branch
in the graphical sense) can be.
- -a
- Display author for each commit.
- --no-rebase
- Do not show the rebase pseudo-refs.
- --style=1
- Use single-line visuals (default).
- --style=2
- Use double-line visuals.
- --style=10
- Use specific rounded Unicode visuals for edges; glyphs might only be
available with X11 terminals and appropriate fonts.
- --style=15
- Use single bold-line visuals. Not readily usable with VGA console fonts
without special unimaps.
- --sha
- Display (abbreviated) SHAs for each commit.
- --svdepth=depth
- This option controls the maximum length of merge subvines. It defaults to
2.
All other options and arguments are passed down to git-log.
Commonly useful options are --all and --topo-order.
git-forest --all | less -RS
git-forest origin/master | less -RS
This tool does not try to minimize the empty space between
branches like gitk does. Take it as a feature.