sudo(8) useradd(8) -r -m -U -d /home/git -s /usr/bin/git-shell git
execute a command as another user
create a new user or update default new user information
-r, --system
    Create a system account.

    System users will be created with no aging information in /etc/shadow, and their numeric identifiers
    are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of
    UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).

    Note that useradd will not create a home directory for such an user, regardless of the default
    setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home
    directory for a system account to be created.
-m, --create-home
    Create the user's home directory if it does not exist. The files and directories contained in the
    skeleton directory (which can be defined with the -k option) will be copied to the home directory.

    By default, if this option is not specified and CREATE_HOME is not enabled, no home directories are
    created.
-U, --user-group
    Create a group with the same name as the user, and add the user to this group.

    The default behavior (if the -g, -N, and -U options are not specified) is defined by the
    USERGROUPS_ENAB variable in /etc/login.defs.
-d, --home HOME_DIR
    The new user will be created using HOME_DIR as the value for the user's login directory. The default
    is to append the LOGIN name to BASE_DIR and use that as the login directory name. The directory
    HOME_DIR does not have to exist but will not be created if it is missing.
-s, --shell SHELL
    The name of the user's login shell. The default is to leave this field blank, which causes the system
    to select the default login shell specified by the SHELL variable in /etc/default/useradd, or an
    empty string by default.
source manpages: sudouseradd