Skip to main content

A helper tool for git that mimics mercurial's serve command

Project description

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.


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

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitserve-0.2.0.tar.gz (51.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page