All Projects → takaaki-kasai → Git Foresta

takaaki-kasai / Git Foresta

Licence: gpl-3.0
git-foresta: Text-based git log graph viewer

Programming Languages

perl
6916 projects

Labels

git-foresta

git-foresta is a text-based git log graph viewer. It is a modified version of git-forest (written in Perl by Jan Engelhardt).

Samples

Following image is a result of git-foresta --all --style=10 | less -RSX with font Meslo LG.

git-foresta sample 1

Following image is a result of git-foresta --all --style=1 --graph-symbol-commit=★ --graph-symbol-tip=☆ --graph-margin-right=2 | less -RSX with font Ricty Diminished.

git-foresta sample 2

Terminal emulator of sample screenshots: iTerm2 with Solarized Dark color scheme.

Usage

The command git-foresta can take same options and arguments as git log (except --pretty or --format). It can take additional options below.

  • --help: Show help and exit.
  • --svdepth=<Subvine depth>: Maximum length of merge subvines (default: 2).
  • --no-status: Do not show the working tree status near HEAD (show by defalt).
  • --style=<Style>: Select <Style> from following.
    • 1: Use single-line visuals (default).
    • 2: Use double-line visuals.
    • 10: Use specific rounded Unicode visuals for edges.
    • 15: Use single bold-line visuals.
  • --graph-margin-left=<Margin>: Left margin of the commit graph (default: 2).
  • --graph-margin-right=<Margin>: Right margin of the commit graph (default: 1).
  • --graph-symbol-commit=<Symbol>: Graph symbol of commit (default: ).
  • --graph-symbol-merge=<Symbol>: Graph symbol of merge (default: ).
  • --graph-symbol-overpass=<Symbol>: Graph symbol of overpass (default: ).
  • --graph-symbol-root=<Symbol>: Graph symbol of root (default: ).
  • --graph-symbol-tip=<Symbol>: Graph symbol of tip (default: ).
  • --version : Print the version number and exit.

All other options and arguments (except --pretty or --format) are passed down to git-log. (e.g. --all)

Since git-foresta has no pager of is own, it is recommended to use some paging program via pipe with appropriate option (e.g. git-foresta | less -RSX).

Install

Copy the git-foresta file (at the root of this repository) to one of the place in your PATH, and give execute permission to it.

For example, if you have ~/bin in your PATH, you can install git-foresta by following one-liner:

curl -L https://github.com/takaaki-kasai/git-foresta/raw/master/git-foresta -o ~/bin/git-foresta && chmod +x ~/bin/git-foresta

Tips

  • Without --no-status option, current working tree status is shown near HEAD. Meanings of the symbols are as follows:

    • *: There are unstaged changes.
    • +: There are staged changes.
    • %: There are untracked files.
    • $: There are stashed changes.
  • Example of shell configuration for zsh:

    function gifo() { git-foresta --style=10 "[email protected]" | less -RSX }
    function gifa() { git-foresta --all --style=10 "[email protected]" | less -RSX }
    compdef _git gifo=git-log
    compdef _git gifa=git-log
    

License

GPL-3.0, see LICENSE.

Copyright (C) 2008 Jan Engelhardt
Copyright (C) 2017 Takaaki Kasai

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].