[OUTDATED, Use git instaweb instead] A helper tool for git that mimics mercurial's serve command.



This is a helper tool for git that mimics mercurial’s serve command.

It makes it very easy to see all your git project via git’s own gitweb by running a lightweight local server.

.. _mercurial: .. _serve: .. _git: .. _gitweb:


When gitserve was installed correctly (with sudo) it’s usually located in /usr/local/bin. Note that this directory needs to be on your $PATH environment variable to be found by your shell.

Usage pretty easy::

$ gitserve --help
Usage: gitserve [options] <dir>

  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         print status messages to stdout
  -q, --quiet           don't print anything to stdout
  -p PORT, --port=PORT  port to listen on (default: 8000)
  -a ADDRESS, --address=ADDRESS
                        address to listen on (default: hostname)
  -l, --local           only listen on
  -b, --browser         open default browser automatically
  -d, --daemon          detach from terminal and become a daemon
  --pid-file=PIDFILE    write the spawned process-id to this file
  --gitweb=GITWEB       use this gitweb cgi file instead of the included

As the only argument you can specify a directory that contains your git projects. If you leave this argument blank gitserve will automatically uses the current directory as the source for the gitweb script. E.g.::

$ gitserve /home/jannis/git-projects

Shortcuts in the directory argument are also possible and will be expanded on runtime::

$ gitserve ~/git-projects

The default gitserve process will listen on your machine’s hostname and on port 8000, for example:

If you provide a --port or --address option while starting gitserve you can have gitserve listen on your choices. You need to be root to run it on port 80 or any other port below 1024. The --local option tells gitserve to listen only on

The --browser option tells gitserve to automatically start your system’s default web browser with the URL of the gitserve server while starting it.

The --daemon option causes the whole gitserve process to detach from your current shell session, becoming a daemon process that runs in background. This is very useful in combination with the --pid-file option that write the process id in the given file.

You can specify the location of the gitweb.cgi file that gitserve uses with the --gitweb option (e.g. /home/jannis/lib/git/gitweb.cgi).

Related Repositories



[OUTDATED, Use git instaweb instead] A helper tool for git that mimics mercurial's serve command. ...



A restricted SSH server and library for supporting controlled Git repository access and code submission. ...



[Work in progress] ruby gem for serving git repositories with private/public key permissions. ...



git => http bridge ...

Top Contributors