git log(1) --no-decorate --pretty%3Dformat%3A --abbrev-commit --no-merges --first-parent --name-only develop.
Show commit logs
--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.
--no-merges
    Do not print commits with more than one parent. This is exactly the same as --max-parents=1.
--first-parent
    Follow only the first parent commit upon seeing a merge commit. This option can give a better
    overview when viewing the evolution of a particular topic branch, because merges into a topic branch
    tend to be only about adjusting to updated upstream from time to time, and this option allows you to
    ignore the individual commits brought in to your history by such a merge.
--name-only
    Show only names of changed files.
<since>..<until>
    Show only commits between the named two commits. When either <since> or <until> is omitted, it
    defaults to HEAD, i.e. the tip of the current branch. For a more complete list of ways to spell
    <since> and <until>, see gitrevisions(7).

[--] <path>...
    Show only commits that are enough to explain how the files that match the specified paths came to be.
    See "History Simplification" below for details and other simplification modes.

    To prevent confusion with options and branch names, paths may need to be prefixed with "-- " to
    separate them from options or refnames.
source manpages: git-log