Git --distributed-is-the-new-centralized
Topics ▾ Version 1.7.4 ▾ git-shell last updated in 2.7.1


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 <>


Documentation by Petr Baudis and the git-list <>.


Part of the git(1) suite