git log(1) --graph --decorate --pretty%3Doneline --abbrev-commit
Show commit logs
--graph
    Draw a text-based graphical representation of the commit history on the left hand side of the output.
    This may cause extra lines to be printed in between commits, in order for the graph history to be
    drawn properly.

    This enables parent rewriting, see History Simplification below.

    This implies the --topo-order option by default, but the --date-order option may also be specified.
--no-decorate, --decorate[=short|full|no]
    Print out the ref names of any commits that are shown. If short is specified, the ref name prefixes
    refs/heads/, refs/tags/ and refs/remotes/ will not be printed. If full is specified, the full ref
    name (including prefix) will be printed. The default option is short.
--abbrev-commit
    Instead of showing the full 40-byte hexadecimal commit object name, show only a partial prefix. Non
    default number of digits can be specified with "--abbrev=<n>" (which also modifies diff output, if it
    is displayed).

    This should make "--pretty=oneline" a whole lot more readable for people using 80-column terminals.
source manpages: git-log