git shell [-c <command> <argument>]
A login shell for SSH accounts to provide restricted Git access. When -c is given, the program executes <command> non-interactively; <command> can be one of git receive-pack, git upload-pack, git upload-archive, cvs server, or a command in COMMAND_DIR. The shell is started in interactive mode when no arguments are given; in this case, COMMAND_DIR must exist, and any of the executables in it can be invoked.
cvs server is a special command which executes git-cvsserver.
COMMAND_DIR is the path "$HOME/git-shell-commands". The user must have read and execute permissions to the directory in order to execute the programs in it. The programs are executed with a cwd of $HOME, and <argument> is parsed as a command-line string.
Written by Linus Torvalds <m[blue]firstname.lastname@example.org>
Documentation by Petr Baudis and the git-list <m[blue]email@example.com>.
Part of the git(1) suite