git-forest(1)
π git-forest β display the commit history forest π
okay bestie, sit down, hydrate, because we're about to look at your git history in a way that's actually pretty. this is git-forest, a lil tool from the hxtools family (yes, the whole hxtools crew is iconic, more on that in a sec) and it's here to show you your commit history as an actual forest. trees, vines, merges, the whole vibe. π³β¨
β¨ Name β¨
git-forest β display the commit history forest π¦
πΈ Syntax πΈ
git-forest [-a] [--no-rebase] [--style=number] [--sha] [--svdepth=depth]
[rev-list-options] [refspec...]
π Description π
git-forest is a command-line zero-lookahead git repository history visualizer that outputs Unicode and gives you just a lil hint of gitk energy. it runs in your terminal, no X server required, no drama. π
π Why another program? π
the tree visualization in gitk is genuinely useful, no hate, but back in the day (we're talking the git 1.5.4 timeframe) there were no decent visualizers that could run in a console window without needing X around β and gitk depends on X, so that's a whole thing. π
and tig? bestie, tig has numerous limitations. it cannot display octopus merges. it cannot display octopus branching. nope. not the vibe.
and as of git 1.5.6, there were still no other Unicode-output programs known to the author. literally nobody else was doing it. main character energy fr fr. π
π§ A bit of internals π§
git-forest originally was a zero-lookahead visualizer β meaning branches were accommodated when they were first seen. like, when they showed up, they got placed. no planning ahead. π«
since mid-June 2008, though, git-forest has a lookahead tunable that controls how long an inter-merge vine (a branch in the graphical sense) can be. glow-up era. π
π₯ Options π₯
-aβ Display author for each commit. π€--no-rebaseβ Do not show the rebase pseudo-refs. π βοΈ--style=1β Use single-line visuals (this is the default, bestie). β--style=2β Use double-line visuals. β--style=10β Use specific rounded Unicode visuals for edges; heads up though, the glyphs might only be available with X11 terminals and the 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 to2. π- everything else β All other options and arguments are passed down to
git-log. the commonly useful ones are--alland--topo-order. π«Ά
π Examples π
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. π
π See also π
okay that's the whole page, you ate it, periodt. this beauty came from hxtools, dated 2008-07-06 β go forth and visualize your commits, bestie, you're gonna look so good doing it πβ¨π
π¦ where this page comes from
- fedora 43: hxtools 20150304-23.fc43 Β· GPL-2.0-or-later OR LicenseRef-Callaway-LGPLv2 OR LGPL-3.0-only
- fedora 44: hxtools 20150304-24.fc44 Β· GPL-2.0-or-later OR LicenseRef-Callaway-LGPLv2 OR LGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms