Home Explore Blog CI



git

2nd chunk of `Documentation/git-daemon.adoc`
ea31fb2153196e473a46135fe048d51207addf463011acf40000000100000fa3

`--export-all`::
	Allow pulling from all directories that look like Git repositories
	(have the 'objects' and 'refs' subdirectories), even if they
	do not have the `git-daemon-export-ok` file.

`--inetd`::
	Have the server run as an inetd service. Implies `--syslog` (may
	be overridden with `--log-destination=`).
	Incompatible with `--detach`, `--port`, `--listen`, `--user` and
	`--group` options.

`--listen=<host-or-ipaddr>`::
	Listen on a specific IP address or hostname.  IP addresses can
	be either an IPv4 address or an IPv6 address if supported.  If IPv6
	is not supported, then `--listen=<hostname>` is also not supported
	and `--listen` must be given an IPv4 address.
	Can be given more than once.
	Incompatible with `--inetd` option.

`--port=<n>`::
	Listen on an alternative port.  Incompatible with `--inetd` option.

`--init-timeout=<n>`::
	Timeout (in seconds) between the moment the connection is established
	and the client request is received (typically a rather low value, since
	that should be basically immediate).

`--timeout=<n>`::
	Timeout (in seconds) for specific client sub-requests. This includes
	the time it takes for the server to process the sub-request and the
	time spent waiting for the next client's request.

`--max-connections=<n>`::
	Maximum number of concurrent clients, defaults to 32.  Set it to
	zero for no limit.

`--syslog`::
	Short for `--log-destination=syslog`.

`--log-destination=<destination>`::
	Send log messages to the specified destination.
	Note that this option does not imply `--verbose`,
	thus by default only error conditions will be logged.
	The _<destination>_ must be one of:
+
--
`stderr`::
	Write to standard error.
	Note that if `--detach` is specified,
	the process disconnects from the real standard error,
	making this destination effectively equivalent to `none`.
`syslog`::
	Write to syslog, using the `git-daemon` identifier.
`none`::
	Disable all logging.
--
+
The default destination is `syslog` if `--inetd` or `--detach` is specified,
otherwise `stderr`.

`--user-path`::
`--user-path=<path>`::
	Allow {tilde}user notation to be used in requests.  When
	specified with no parameter, a request to
	git://host/{tilde}alice/foo is taken as a request to access
	'foo' repository in the home directory of user `alice`.
	If `--user-path=<path>` is specified, the same request is
	taken as a request to access `<path>/foo` repository in
	the home directory of user `alice`.

`--verbose`::
	Log details about the incoming connections and requested files.

`--reuseaddr`::
	Use `SO_REUSEADDR` when binding the listening socket.
	This allows the server to restart without waiting for
	old connections to time out.

`--detach`::
	Detach from the shell. Implies `--syslog`.

`--pid-file=<file>`::
	Save the process id in _<file>_.  Ignored when the daemon
	is run under `--inetd`.

`--user=<user>`::
`--group=<group>`::
	Change daemon's uid and gid before entering the service loop.
	When only `--user` is given without `--group`, the
	primary group ID for the user is used.  The values of
	the option are given to `getpwnam(3)` and `getgrnam(3)`
	and numeric IDs are not supported.
+
Giving these options is an error when used with `--inetd`; use
the facility of inet daemon to achieve the same before spawning
`git daemon` if needed.
+
Like many programs that switch user id, the daemon does not reset
environment variables such as `HOME` when it runs git programs,
e.g. `upload-pack` and `receive-pack`. When using this option, you
may also want to set and export `HOME` to point at the home
directory of _<user>_ before starting the daemon, and make sure any
Git configuration files in that directory are readable by _<user>_.

`--enable=<service>`::
`--disable=<service>`::
	Enable/disable the service site-wide per default.  Note
	that a service disabled site-wide can still be enabled
	per repository if it is marked overridable and the
	repository enables the service with a configuration
	item.

`--allow-override=<service>`::

Title: Git Daemon Options
Summary
The git-daemon command provides various options to customize its behavior, including settings for logging, security, and repository access, allowing for flexible configuration of the Git server, such as enabling or disabling services, setting timeouts, and specifying listening ports, as well as options for user authentication, path manipulation, and logging destinations, which can be used to tailor the server to specific needs and environments.