git log(1) --graph --decorate --pretty=oneline --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.
Commit Formatting
    --pretty[=<format>], --format=<format>
        Pretty-print the contents of the commit logs in a given format, where <format> can be one of oneline,
        short, medium, full, fuller, email, raw and format:<string>. See the "PRETTY FORMATS" section for
        some additional details for each format. When omitted, the format defaults to medium.

        Note: you can specify the default pretty format in the repository configuration (see git-config(1)).
--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