CINXE.COM

Git - git-daemon Documentation

<!DOCTYPE html> <html lang="fr"> <head> <script type="text/javascript"> const currentTheme = localStorage.getItem("theme") if (currentTheme) { const prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)").matches if ((prefersDarkScheme && currentTheme === "light") || (!prefersDarkScheme && currentTheme === "dark")) { document.documentElement.dataset.theme = currentTheme } } </script> <meta charset='utf-8'> <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Git - git-daemon Documentation</title> <link href="/favicon.ico" rel='shortcut icon' type='image/x-icon'> <link rel="stylesheet" href="/application.min.css"> </head> <body id="documentation"> <div class="inner"> <header> <a id="logo" href="/"><img src="/images/logo@2x.png" width="110" height="46" alt="Git" class="no-filter" /></a> <span id="tagline"></span> <script type="text/javascript"> const taglines = [ "fast-version-control", "everything-is-local", "distributed-even-if-your-workflow-isnt", "local-branching-on-the-cheap", "distributed-is-the-new-centralized" ]; var tagline = taglines[Math.floor(Math.random() * taglines.length)]; document.getElementById('tagline').innerHTML = '--' + tagline; </script> <div id="search-container"> <form id="search" action="/search/results"> <input id="search-text" name="search" placeholder="Type / to search entire site…" autocomplete="off" type="text" /> </form> <div id="search-results"></div> </div> <img src="/images/dark-mode.svg" id="dark-mode-button" /> </header> </div> <div class="inner"> <div id="content-wrapper"> <div tabindex="1" class="sidebar-btn"></div> <aside class="sidebar" id="sidebar"> <nav> <ul> <li> <a href="/about">About</a> <ul> </ul> </li> <li> <a href="/doc" class="active">Documentation</a> <ul class="expanded"> <li> <a href="/docs" class="active">Reference</a> </li> <li> <a href="/book">Book</a> </li> <li> <a href="/videos">Videos</a> </li> <li> <a href="/doc/ext">External Links</a> </li> </ul> </li> <li> <a href="/downloads">Downloads</a> <ul > <li> <a href="/downloads/guis">GUI Clients</a> </li> <li> <a href="/downloads/logos">Logos</a> </li> </ul> </li> <li> <a href="/community">Community</a> </li> </ul> </nav> </aside> <div id="content"> <div id='reference-version'> <a class="dropdown-trigger" id="reference-languages-trigger" data-panel-id="l10n-versions-dropdown" href="#"> Français ▾</a> <div class='dropdown-panel right' id='l10n-versions-dropdown'> <header>Localized versions of <strong>git-daemon</strong> manual</header> <ol class='reference-previous-versions'> <li> <a href="/docs/git-daemon"><span class="version">English</span> </a> </li> <li> <a href="/docs/git-daemon/fr"><span class="version">Français</span> </a> </li> <li> <a href="/docs/git-daemon/pt_BR"><span class="version">Português (Brasil)</span> </a> </li> <li> <a href="/docs/git-daemon/zh_HANS-CN"><span class="version">简体中文</span> </a> </li> </ol> <footer> Want to read in your language or fix typos?<br/> <a href="https://github.com/jnavila/git-manpages-l10n">You can help translate this page</a>. </footer> </div> <a class="dropdown-trigger" id="reference-topics-trigger" data-panel-id="topics-dropdown" href="#">Topics ▾</a> <div class='dropdown-panel right' id='topics-dropdown'> <div class='three-column'> <div class='column-left'> <h3 class='setup'>Setup and Config</h3> <ul class='unstyled'> <li> <a href="/docs/git/fr"> git </a> </li> <li> <a href="/docs/git-config/fr"> config </a> </li> <li> <a href="/docs/git-help/fr"> help </a> </li> <li> <a href="/docs/git-bugreport/fr"> bugreport </a> </li> <li> <a href="/doc/credential-helpers"> Credential helpers </a> </li> </ul> <h3 class='projects'>Getting and Creating Projects</h3> <ul class='unstyled'> <li> <a href="/docs/git-init/fr"> init </a> </li> <li> <a href="/docs/git-clone/fr"> clone </a> </li> </ul> <h3 class='snapshotting'>Basic Snapshotting</h3> <ul class='unstyled'> <li> <a href="/docs/git-add/fr"> add </a> </li> <li> <a href="/docs/git-status/fr"> status </a> </li> <li> <a href="/docs/git-diff/fr"> diff </a> </li> <li> <a href="/docs/git-commit/fr"> commit </a> </li> <li> <a href="/docs/git-notes/fr"> notes </a> </li> <li> <a href="/docs/git-restore/fr"> restore </a> </li> <li> <a href="/docs/git-reset/fr"> reset </a> </li> <li> <a href="/docs/git-rm/fr"> rm </a> </li> <li> <a href="/docs/git-mv/fr"> mv </a> </li> </ul> <h3 class='branching'>Branching and Merging</h3> <ul class='unstyled'> <li> <a href="/docs/git-branch/fr"> branch </a> </li> <li> <a href="/docs/git-checkout/fr"> checkout </a> </li> <li> <a href="/docs/git-switch/fr"> switch </a> </li> <li> <a href="/docs/git-merge/fr"> merge </a> </li> <li> <a href="/docs/git-mergetool/fr"> mergetool </a> </li> <li> <a href="/docs/git-log/fr"> log </a> </li> <li> <a href="/docs/git-stash/fr"> stash </a> </li> <li> <a href="/docs/git-tag/fr"> tag </a> </li> <li> <a href="/docs/git-worktree/fr"> worktree </a> </li> </ul> <h3 class='sharing'>Sharing and Updating Projects</h3> <ul class='unstyled'> <li> <a href="/docs/git-fetch/fr"> fetch </a> </li> <li> <a href="/docs/git-pull/fr"> pull </a> </li> <li> <a href="/docs/git-push/fr"> push </a> </li> <li> <a href="/docs/git-remote/fr"> remote </a> </li> <li> <a href="/docs/git-submodule/fr"> submodule </a> </li> </ul> </div> <div class='column-middle'> <h3 class='inspection'>Inspection and Comparison</h3> <ul class='unstyled'> <li> <a href="/docs/git-show/fr"> show </a> </li> <li> <a href="/docs/git-log/fr"> log </a> </li> <li> <a href="/docs/git-diff/fr"> diff </a> </li> <li> <a href="/docs/git-difftool/fr"> difftool </a> </li> <li> <a href="/docs/git-range-diff/fr"> range-diff </a> </li> <li> <a href="/docs/git-shortlog/fr"> shortlog </a> </li> <li> <a href="/docs/git-describe/fr"> describe </a> </li> </ul> <h3 class='patching'>Patching</h3> <ul class='unstyled'> <li> <a href="/docs/git-apply/fr"> apply </a> </li> <li> <a href="/docs/git-cherry-pick/fr"> cherry-pick </a> </li> <li> <a href="/docs/git-diff/fr"> diff </a> </li> <li> <a href="/docs/git-rebase/fr"> rebase </a> </li> <li> <a href="/docs/git-revert/fr"> revert </a> </li> </ul> <h3 class='debugging'>Debugging</h3> <ul class='unstyled'> <li> <a href="/docs/git-bisect/fr"> bisect </a> </li> <li> <a href="/docs/git-blame/fr"> blame </a> </li> <li> <a href="/docs/git-grep/fr"> grep </a> </li> </ul> <h3 class='email'>Email</h3> <ul class='unstyled'> <li> <a href="/docs/git-am/fr"> am </a> </li> <li> <a href="/docs/git-apply/fr"> apply </a> </li> <li> <a href="/docs/git-format-patch/fr"> format-patch </a> </li> <li> <a href="/docs/git-send-email"> send-email </a> </li> <li> <a href="/docs/git-request-pull/fr"> request-pull </a> </li> </ul> <h3 class='external'>External Systems</h3> <ul class='unstyled'> <li> <a href="/docs/git-svn"> svn </a> </li> <li> <a href="/docs/git-fast-import/fr"> fast-import </a> </li> </ul> <h3 class='server-admin'>Server Admin</h3> <ul class='unstyled'> <li> <a href="/docs/git-daemon/fr"> daemon </a> </li> <li> <a href="/docs/git-update-server-info"> update-server-info </a> </li> </ul> </div> <div class='column-right'> <h3 class='guides'>Guides</h3> <ul class='unstyled'> <li> <a href="/docs/gitattributes"> gitattributes </a> </li> <li> <a href="/docs/gitcli"> Command-line interface conventions </a> </li> <li> <a href="/docs/giteveryday"> Everyday Git </a> </li> <li> <a href="/docs/gitfaq"> Frequently Asked Questions (FAQ) </a> </li> <li> <a href="/docs/gitglossary/fr"> Glossary </a> </li> <li> <a href="/docs/githooks"> Hooks </a> </li> <li> <a href="/docs/gitignore/fr"> gitignore </a> </li> <li> <a href="/docs/gitmodules"> gitmodules </a> </li> <li> <a href="/docs/gitrevisions"> Revisions </a> </li> <li> <a href="/docs/gitsubmodules"> Submodules </a> </li> <li> <a href="/docs/gittutorial"> Tutorial </a> </li> <li> <a href="/docs/gitworkflows"> Workflows </a> </li> <li> <a href="/docs/git#_guides"> All guides... </a> </li> </ul> <h3 class='admin'>Administration</h3> <ul class='unstyled'> <li> <a href="/docs/git-clean/fr"> clean </a> </li> <li> <a href="/docs/git-gc/fr"> gc </a> </li> <li> <a href="/docs/git-fsck/fr"> fsck </a> </li> <li> <a href="/docs/git-reflog/fr"> reflog </a> </li> <li> <a href="/docs/git-filter-branch"> filter-branch </a> </li> <li> <a href="/docs/git-instaweb/fr"> instaweb </a> </li> <li> <a href="/docs/git-archive/fr"> archive </a> </li> <li> <a href="/docs/git-bundle/fr"> bundle </a> </li> </ul> <h3 class='plumbing'>Plumbing Commands</h3> <ul class='unstyled'> <li> <a href="/docs/git-cat-file/fr"> cat-file </a> </li> <li> <a href="/docs/git-check-ignore/fr"> check-ignore </a> </li> <li> <a href="/docs/git-checkout-index/fr"> checkout-index </a> </li> <li> <a href="/docs/git-commit-tree/fr"> commit-tree </a> </li> <li> <a href="/docs/git-count-objects/fr"> count-objects </a> </li> <li> <a href="/docs/git-diff-index"> diff-index </a> </li> <li> <a href="/docs/git-for-each-ref"> for-each-ref </a> </li> <li> <a href="/docs/git-hash-object"> hash-object </a> </li> <li> <a href="/docs/git-ls-files"> ls-files </a> </li> <li> <a href="/docs/git-ls-tree"> ls-tree </a> </li> <li> <a href="/docs/git-merge-base"> merge-base </a> </li> <li> <a href="/docs/git-read-tree"> read-tree </a> </li> <li> <a href="/docs/git-rev-list/fr"> rev-list </a> </li> <li> <a href="/docs/git-rev-parse"> rev-parse </a> </li> <li> <a href="/docs/git-show-ref"> show-ref </a> </li> <li> <a href="/docs/git-symbolic-ref"> symbolic-ref </a> </li> <li> <a href="/docs/git-update-index"> update-index </a> </li> <li> <a href="/docs/git-update-ref"> update-ref </a> </li> <li> <a href="/docs/git-verify-pack"> verify-pack </a> </li> <li> <a href="/docs/git-write-tree"> write-tree </a> </li> </ul> </div> </div> </div> <a class="dropdown-trigger" id="reference-versions-trigger" data-panel-id="previous-versions-dropdown" href="#"> Latest version ▾ </a> <span class="light d-flex">git-daemon last updated in 2.44.0</span> <div class='dropdown-panel left' id='previous-versions-dropdown'> <header>Changes in the <strong>git-daemon</strong> manual</header> <ol class='reference-previous-versions'> <li class="no-change"><span>2.44.1 &rarr; 2.49.0 no changes</span></li> <li> <a href="/docs/git-daemon/2.44.0"><span class="version">2.44.0</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2024-02-23</em> </a> </li> <li class="no-change"><span>2.43.1 &rarr; 2.43.6 no changes</span></li> <li> <a href="/docs/git-daemon/2.43.0"><span class="version">2.43.0</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2023-11-20</em> </a> </li> <li class="no-change"><span>2.37.3 &rarr; 2.42.4 no changes</span></li> <li> <a href="/docs/git-daemon/2.37.2"><span class="version">2.37.2</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2022-08-11</em> </a> </li> <li class="no-change"><span>2.22.1 &rarr; 2.37.1 no changes</span></li> <li> <a href="/docs/git-daemon/2.22.0"><span class="version">2.22.0</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2019-06-07</em> </a> </li> <li class="no-change"><span>2.17.1 &rarr; 2.21.4 no changes</span></li> <li> <a href="/docs/git-daemon/2.17.0"><span class="version">2.17.0</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2018-04-02</em> </a> </li> <li class="no-change"><span>2.10.5 &rarr; 2.16.6 no changes</span></li> <li> <a href="/docs/git-daemon/2.9.5"><span class="version">2.9.5</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2017-07-30</em> </a> </li> <li class="no-change"><span>2.2.3 &rarr; 2.8.6 no changes</span></li> <li> <a href="/docs/git-daemon/2.1.4"><span class="version">2.1.4</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2014-12-17</em> </a> </li> <li> <a href="/docs/git-daemon/2.0.5"><span class="version">2.0.5</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2014-12-17</em> </a> </li> <li>&nbsp;</li> </ol> <footer> <p>Check your version of git by running</p> <code class="command">git --version</code> </footer> </div> </div> <div id="main" data-pagefind-filter="category:reference" data-pagefind-meta="category:Reference" data-pagefind-weight="0.05" data-pagefind-body> <div class="sect1"> <h2 id="_nom"><a class="anchor" href="#_nom"></a>NOM</h2> <div class="sectionbody"> <div class="paragraph"> <p>git-daemon - un serveur vraiment très simple pour les dépôts Git</p> </div> </div> </div> <div class="sect1"> <h2 id="_synopsis"><a class="anchor" href="#_synopsis"></a>SYNOPSIS</h2> <div class="sectionbody"> <div class="verseblock"> <pre class="content"><em>git daemon</em> [--verbose] [--syslog] [--export-all] [--timeout=&lt;n&gt;] [--init-timeout=&lt;n&gt;] [--max-connections=&lt;n&gt;] [--strict-paths] [--base-path=&lt;chemin&gt;] [--base-path-relaxed] [--user-path | --user-path=&lt;chemin&gt;] [--interpolated-path=&lt;chemin-de-modèle&gt;] [--reuseaddr] [--detach] [--pid-file=&lt;fichier&gt;] [--enable=&lt;service&gt;] [--disable=&lt;service&gt;] [--allow-override=&lt;service&gt;] [--forbid-override=&lt;service&gt;] [--access-hook=&lt;chemin&gt;] [--[no-]informative-errors] [--inetd | [--listen=&lt;hôte-ou-adr-ip&gt;] [--port=&lt;n&gt;] [--user=&lt;user&gt; [--group=&lt;groupe&gt;]]] [--log-destination=(stderr|syslog|none)] [&lt;répertoire&gt;&#8230;&#8203;]</pre> </div> </div> </div> <div class="sect1"> <h2 id="_description"><a class="anchor" href="#_description"></a>DESCRIPTION</h2> <div class="sectionbody"> <div class="paragraph"> <p>Un démon TCP Git très simple qui écoute normalement sur le port "DEFAULT_GIT_PORT" soit 9418. Il attend une connexion demandant un service, et servira ce service s&#8217;il est activé.</p> </div> <div class="paragraph"> <p>Il vérifie que le répertoire possède le fichier magique "git-daemon-export-ok", et il refusera d&#8217;exporter tout répertoire Git qui n&#8217;a pas été explicitement marqué pour l&#8217;exportation de cette façon (à moins que le paramètre <code>--export-all</code> soit spécifié). Si vous passez certains chemins de répertoire en tant qu&#8217;arguments de <em>git daemon</em>, les offres sont limitées aux dépôts dans ces répertoires.</p> </div> <div class="paragraph"> <p>Par défaut, seul le service <code>upload-pack</code> est activé, qui sert les clients <em>git fetch-pack</em> et <em>git ls-remote</em>, qui sont invoqués depuis <em>git fetch</em>, <em>git pull</em>, et <em>git clone</em>.</p> </div> <div class="paragraph"> <p>Cette méthode convient parfaitement aux mises à jour en lecture seule, c&#8217;est-à-dire à l&#8217;extraction de dépôts Git.</p> </div> <div class="paragraph"> <p>Une <em>upload-archive</em> existe également pour servir <em>git archive</em>.</p> </div> </div> </div> <div class="sect1"> <h2 id="_options"><a class="anchor" href="#_options"></a>OPTIONS</h2> <div class="sectionbody"> <div class="dlist"> <dl> <dt class="hdlist1" id="git-daemon---strict-paths"> <a class="anchor" href="#git-daemon---strict-paths"></a>--strict-paths </dt> <dd> <p>Faire correspondre exactement les chemins (c’est-à-dire ne pas autoriser « /foo/dépôt » lorsque le chemin réel est « /foo/dépôt.git » ou « /foo/dépôt/.git ») et ne pas faire de chemins relatifs à l’utilisateur. <em>git daemon</em> refusera de démarrer lorsque cette option est activée et qu&#8217;aucun argument de répertoire n&#8217;est spécifié.</p> </dd> <dt class="hdlist1" id="git-daemon---base-pathltchemingt"> <a class="anchor" href="#git-daemon---base-pathltchemingt"></a>--base-path=&lt;chemin&gt; </dt> <dd> <p>Relocalise toutes les chemins de requêtes comme relatifs au chemin donné. C&#8217;est une sorte de "racine Git" - si vous exécutez <em>git daemon</em> avec <em>--base-path=/srv/git</em> sur exemple.com, alors si vous essayez plus tard de tirer <em>git://exemple.com/hello.git</em>, <em>git daemon</em> interprétera le chemin comme <code>/srv/git/hello.git</code>.</p> </dd> <dt class="hdlist1" id="git-daemon---base-path-relaxed"> <a class="anchor" href="#git-daemon---base-path-relaxed"></a>--base-path-relaxed </dt> <dd> <p>Si --base-path est activé et que la recherche de dépôt échoue, avec cette option <em>git daemon</em> tentera de faire la recherche sans préfixer le chemin de base. Ceci est utile pour passer à l&#8217;utilisation de --base-path, tout en autorisant toujours les anciens chemins.</p> </dd> <dt class="hdlist1" id="git-daemon---interpolated-pathltmodle-de-chemingt"> <a class="anchor" href="#git-daemon---interpolated-pathltmodle-de-chemingt"></a>--interpolated-path=&lt;modèle-de-chemin&gt; </dt> <dd> <p>Pour prendre en charge l&#8217;hébergement virtuel, un modèle de chemin interpolé peut être utilisé pour construire dynamiquement des chemins alternatifs. Le modèle prend en charge %H pour le nom d&#8217;hôte cible tel que fourni par le client mais converti en minuscules, %CH pour le nom d&#8217;hôte canonique, %IP pour l&#8217;adresse IP du serveur, %P pour le numéro de port et %D pour le chemin absolu du dépôt nommé. Après interpolation, le chemin est validé par rapport à la liste des répertoires.</p> </dd> <dt class="hdlist1" id="git-daemon---export-all"> <a class="anchor" href="#git-daemon---export-all"></a>--export-all </dt> <dd> <p>Autoriser les tirages à partir de tous les répertoires qui ressemblent à des dépôts Git (avec les sous-répertoires <em>objects</em> et <em>refs</em>), même s&#8217;ils ne possèdent pas le fichier <em>git-daemon-export-ok</em>.</p> </dd> <dt class="hdlist1" id="git-daemon---inetd"> <a class="anchor" href="#git-daemon---inetd"></a>--inetd </dt> <dd> <p>Faire tourner le serveur comme un service inetd. Implique --syslog (peut être surchargé avec <code>--log-destination=</code>). Incompatible avec les options --detach, --port, --listen, --user et --group.</p> </dd> <dt class="hdlist1" id="git-daemon---listenlthte-ou-adr-ipgt"> <a class="anchor" href="#git-daemon---listenlthte-ou-adr-ipgt"></a>--listen=&lt;hôte-ou-adr-ip&gt; </dt> <dd> <p>Écouter sur une adresse IP ou un nom d&#8217;hôte spécifique. Les adresses IP peuvent être soit une adresse IPv4, soit une adresse IPv6 si elle est supportée. Si IPv6 n&#8217;est pas supporté, alors --listen=&lt;nom-d-hote&gt; n&#8217;est pas supporté non plus et --listen doit recevoir une adresse IPv4. Peut être donné plus d&#8217;une fois. Incompatible avec l&#8217;option <code>--inetd</code>.</p> </dd> <dt class="hdlist1" id="git-daemon---portltngt"> <a class="anchor" href="#git-daemon---portltngt"></a>--port=&lt;n&gt; </dt> <dd> <p>Écouter sur un port alternatif. Incompatible avec l&#8217;option <code>--inetd</code>.</p> </dd> <dt class="hdlist1" id="git-daemon---init-timeoutltngt"> <a class="anchor" href="#git-daemon---init-timeoutltngt"></a>--init-timeout=&lt;n&gt; </dt> <dd> <p>Délai d&#8217;attente (en secondes) entre le moment où la connexion est établie et celui où la demande du client est reçue (généralement une valeur assez faible, puisque cela devrait être essentiellement immédiat).</p> </dd> <dt class="hdlist1" id="git-daemon---timeoutltngt"> <a class="anchor" href="#git-daemon---timeoutltngt"></a>--timeout=&lt;n&gt; </dt> <dd> <p>Délai d&#8217;attente (en secondes) pour les sous-requêtes spécifiques du client. Cela comprend le temps nécessaire au serveur pour traiter la sous-demande et le temps d&#8217;attente de la demande du client suivant.</p> </dd> <dt class="hdlist1" id="git-daemon---max-connectionsltngt"> <a class="anchor" href="#git-daemon---max-connectionsltngt"></a>--max-connections=&lt;n&gt; </dt> <dd> <p>Nombre maximum de clients simultanés, la valeur par défaut est de 32. Définissez-le à zéro pour ne pas avoir de limite.</p> </dd> <dt class="hdlist1" id="git-daemon---syslog"> <a class="anchor" href="#git-daemon---syslog"></a>--syslog </dt> <dd> <p>Abréviation de <code>--log-destination=syslog</code>.</p> </dd> <dt class="hdlist1" id="git-daemon---log-destinationltdestinationgt"> <a class="anchor" href="#git-daemon---log-destinationltdestinationgt"></a>--log-destination=&lt;destination&gt; </dt> <dd> <p>Envoyer les messages de journal à la destination spécifiée. Notez que cette option n&#8217;implique pas --verbose, donc par défaut, seules les conditions d&#8217;erreur seront enregistrées. La &lt;destination&gt; doit être l&#8217;une des suivantes :</p> <div class="openblock"> <div class="content"> <div class="dlist"> <dl> <dt class="hdlist1" id="git-daemon-stderr"> <a class="anchor" href="#git-daemon-stderr"></a>stderr </dt> <dd> <p>Écriture sur le flux d&#8217;erreur standard. Notez que si <code>--detach</code> est spécifié, le processus se déconnecte de l&#8217;erreur standard réelle, rendant cette destination effectivement équivalente à <code>none</code>.</p> </dd> <dt class="hdlist1" id="git-daemon-syslog"> <a class="anchor" href="#git-daemon-syslog"></a>syslog </dt> <dd> <p>Écrire dans syslog, en utilisant l&#8217;identifiant <code>git-daemon</code>.</p> </dd> <dt class="hdlist1" id="git-daemon-none"> <a class="anchor" href="#git-daemon-none"></a>none </dt> <dd> <p>Désactiver toute la journalisation.</p> </dd> </dl> </div> </div> </div> <div class="paragraph"> <p>La destination par défaut est <code>syslog</code> si <code>--inetd</code> ou <code>--detach</code> est spécifié, sinon <code>stderr</code>.</p> </div> </dd> <dt class="hdlist1" id="git-daemon---user-path"> <a class="anchor" href="#git-daemon---user-path"></a>--user-path </dt> <dt class="hdlist1" id="git-daemon---user-pathltchemingt"> <a class="anchor" href="#git-daemon---user-pathltchemingt"></a>--user-path=&lt;chemin&gt; </dt> <dd> <p>Autoriser l’utilisation de la notation ~user dans les requêtes. Lorsqu’elle est spécifiée sans paramètre, une demande à git://hôte/~alice/foo est considérée comme une demande d’accès au dépôt <em>foo</em> dans le répertoire de base de l’utilisateur <code>alice</code>. Si <code>--user-path=&lt;chemin&gt;</code> est spécifié, la même demande est prise comme une demande d’accès au dépôt <code>&lt;chemin&gt;/foo' dans le répertoire de base de l’utilisateur `alice</code>.</p> </dd> <dt class="hdlist1" id="git-daemon---verbose"> <a class="anchor" href="#git-daemon---verbose"></a>--verbose </dt> <dd> <p>Enregistre les détails des connexions entrantes et des fichiers demandés.</p> </dd> <dt class="hdlist1" id="git-daemon---reuseaddr"> <a class="anchor" href="#git-daemon---reuseaddr"></a>--reuseaddr </dt> <dd> <p>Utiliser SO_REUSEADDR pour lier la socket d&#8217;écoute. Cela permet au serveur de redémarrer sans attendre la fin des anciennes connexions.</p> </dd> <dt class="hdlist1" id="git-daemon---detach"> <a class="anchor" href="#git-daemon---detach"></a>--detach </dt> <dd> <p>Se détacher du shell. Implique --syslog.</p> </dd> <dt class="hdlist1" id="git-daemon---pid-fileltfichiergt"> <a class="anchor" href="#git-daemon---pid-fileltfichiergt"></a>--pid-file=&lt;fichier&gt; </dt> <dd> <p>Sauvegarder l&#8217;id du processus dans le <em>fichier</em>. Ignoré lorsque le démon est exécuté sous <code>--inetd</code>.</p> </dd> <dt class="hdlist1" id="git-daemon---userltutilisateurgt"> <a class="anchor" href="#git-daemon---userltutilisateurgt"></a>--user=&lt;utilisateur&gt; </dt> <dt class="hdlist1" id="git-daemon---groupltgroupegt"> <a class="anchor" href="#git-daemon---groupltgroupegt"></a>--group=&lt;groupe&gt; </dt> <dd> <p>Changer le uid et gid du daemon avant d&#8217;entrer la boucle du service. Le groupe ID primaire de l&#8217;utilisateur est utilisé quand seule l&#8217;option <code>--user</code> est donnée sans l&#8217;option <code>--group</code>. Les valeurs de l&#8217;option sont données par <code>getpwnam(3)</code> et <code>getgrnam(3)</code>, les valeurs numériques ne sont pas supportées.</p> <div class="paragraph"> <p>Donner ces options est une erreur lorsqu&#8217;elles sont utilisées avec <code>--inetd</code> ; utilisez la fonction du daemon inet pour réaliser la même chose avant de lancer <em>git daemon</em> si nécessaire.</p> </div> <div class="paragraph"> <p>Comme beaucoup de programmes qui changent d&#8217;identité d&#8217;utilisateur, le daemon ne réinitialise pas les variables d&#8217;environnement telles que <code>$HOME</code> lorsqu&#8217;il exécute les programmes git, par exemple <code>upload-pack</code> et <code>receive-pack</code>. Si vous utilisez cette option, vous voudrez peut-être aussi définir et exporter <code>HOME</code> pour qu&#8217;il pointe sur le répertoire personnel de <code>&lt;utilisateur&gt;</code> avant de lancer le démon, et vous assurer que tous les fichiers de configuration de Git dans ce répertoire sont lisibles par <code>&lt;utilisateur&gt;</code>.</p> </div> </dd> <dt class="hdlist1" id="git-daemon---enableltservicegt"> <a class="anchor" href="#git-daemon---enableltservicegt"></a>--enable=&lt;service&gt; </dt> <dt class="hdlist1" id="git-daemon---disableltservicegt"> <a class="anchor" href="#git-daemon---disableltservicegt"></a>--disable=&lt;service&gt; </dt> <dd> <p>Activer/désactiver le service à l’échelle du site par défaut. Notez qu’un service désactivé à l’échelle du site peut toujours être activé par dépôt s’il est marqué comme substituable et que le dépôt active le service avec un élément de configuration.</p> </dd> <dt class="hdlist1" id="git-daemon---allow-overrideltservicegt"> <a class="anchor" href="#git-daemon---allow-overrideltservicegt"></a>--allow-override=&lt;service&gt; </dt> <dt class="hdlist1" id="git-daemon---forbid-overrideltservicegt"> <a class="anchor" href="#git-daemon---forbid-overrideltservicegt"></a>--forbid-override=&lt;service&gt; </dt> <dd> <p>Autoriser/interdire le remplacement de la valeur par défaut du site par une configuration par dépôt. Par défaut, tous les services peuvent être remplacés.</p> </dd> <dt class="hdlist1" id="git-daemon---no-informative-errors"> <a class="anchor" href="#git-daemon---no-informative-errors"></a>--[no-]informative-errors </dt> <dd> <p>Lorsque les erreurs informatives sont activées, git-daemon rapportera des erreurs plus détaillées au client, en différenciant des conditions comme "no such repository" de "repository not exported". Ceci est plus pratique pour les clients, mais peut laisser fuir des informations sur l&#8217;existence de dépôts non exportés. Lorsque les erreurs informatives ne sont pas activées, toutes les erreurs signalent "accès refusé" au client. La valeur par défaut est --no-informative-errors.</p> </dd> <dt class="hdlist1" id="git-daemon---access-hookltchemingt"> <a class="anchor" href="#git-daemon---access-hookltchemingt"></a>--access-hook=&lt;chemin&gt; </dt> <dd> <p>Chaque fois qu&#8217;un client se connecte, il lance d&#8217;abord une commande externe spécifiée par le &lt;chemin&gt; avec le nom du service (par exemple "upload-pack" ;), le chemin vers le dépôt, le nom d&#8217;hôte (%H), le nom d&#8217;hôte canonique (%CH), l&#8217;adresse IP (%IP) et le port TCP (%P) comme arguments de ligne de commande. La commande externe peut décider de refuser le service en sortant avec un état non nul (ou de l&#8217;autoriser en sortant avec un état nul). Elle peut également consulter les variables d&#8217;environnement $REMOTE_ADDR et <code>$REMOTE_PORT</code> pour en savoir plus sur le demandeur lorsqu&#8217;elle prend cette décision.</p> <div class="paragraph"> <p>Le command externe peut écrire optionalement une ligne en se sortie standard par être envoyé pour le requisiteur comme une méssage d&#8217;error quand lui decline le service.</p> </div> </dd> <dt class="hdlist1" id="git-daemon-ltrpertoiregt"> <a class="anchor" href="#git-daemon-ltrpertoiregt"></a>&lt;répertoire&gt; </dt> <dd> <p>Les arguments restants fournissent une liste de répertoires. Si des répertoires sont spécifiés, alors le processus <code>git-daemon</code> servira un répertoire demandé seulement s&#8217;il est contenu dans un de ces répertoires. Si <code>--strict-paths</code> est spécifié, alors le répertoire demandé doit correspondre exactement à l&#8217;un de ces répertoires.</p> </dd> </dl> </div> </div> </div> <div class="sect1"> <h2 id="_services"><a class="anchor" href="#_services"></a>SERVICES</h2> <div class="sectionbody"> <div class="paragraph"> <p>Ces services peuvent être globalement activés/désactivés en utilisant les options de la ligne de commande de cette commande. Si un contrôle plus fin est souhaité (par exemple pour permettre à <em>git archive</em> d&#8217;être exécuté uniquement dans quelques dépôts sélectionnés que le démon sert), le fichier de configuration par dépôt peut être utilisé pour les activer ou les désactiver.</p> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-daemon-upload-pack"> <a class="anchor" href="#git-daemon-upload-pack"></a>upload-pack </dt> <dd> <p>Cela sert les clients <em>git fetch-pack</em> et <em>git ls-remote</em>. Il est activé par défaut, mais un dépôt peut le désactiver en definissant l&#8217;élement de configuration <em>daemon.uploadpack</em> sur <em>false</em>.</p> </dd> <dt class="hdlist1" id="git-daemon-upload-archive"> <a class="anchor" href="#git-daemon-upload-archive"></a>upload-archive </dt> <dd> <p>Cela sert <em>git archive --remote</em>. Il est désactivé par défaut, mais un dépôt peut l&#8217;activer en definissant l&#8217;element de configuration <em>daemon.uploadarch</em> sur <em>true</em>.</p> </dd> <dt class="hdlist1" id="git-daemon-receive-pack"> <a class="anchor" href="#git-daemon-receive-pack"></a>receive-pack </dt> <dd> <p>Cette fonction est destinée aux clients "git send-pack" et permet de faire des poussées anonymes. Il est désactivé par défaut, car il n&#8217;y a <em>pas</em> d&#8217;authentification dans le protocole (en d&#8217;autres termes, n&#8217;importe qui peut pousser n&#8217;importe quoi dans le dépôt, y compris la suppression des références). Ceci est uniquement destiné à un environnement LAN fermé où tout le monde est amical. Ce service peut être activé en mettant l&#8217;élément de configuration <code>daemon.receivepack</code> à <code>true</code>.</p> </dd> </dl> </div> </div> </div> <div class="sect1"> <h2 id="_exemples"><a class="anchor" href="#_exemples"></a>EXEMPLES</h2> <div class="sectionbody"> <div class="dlist"> <dl> <dt class="hdlist1" id="git-daemon-Noussupposonscequisuitdansetcservices"> <a class="anchor" href="#git-daemon-Noussupposonscequisuitdansetcservices"></a>Nous supposons ce qui suit dans /etc/services </dt> <dd> <div class="listingblock"> <div class="content"> <pre>$ grep 9418 /etc/services git 9418/tcp # Système de gestion de version Git</pre> </div> </div> </dd> <dt class="hdlist1" id="git-daemon-emgitdaemonemcommeserveurinetd"> <a class="anchor" href="#git-daemon-emgitdaemonemcommeserveurinetd"></a><em>git daemon</em> comme serveur inetd </dt> <dd> <p>Pour configurer <em>git daemon</em> comme un service inetd qui gère tout dépôt sous /pub/foo ou /pub/bar, placez une entrée comme ceci dans <code>/etc/inetd</code> sur une seule ligne :</p> <div class="listingblock"> <div class="content"> <pre> git stream tcp nowait nobody /usr/bin/git git daemon --inetd --verbose --export-all /pub/foo /pub/bar</pre> </div> </div> </dd> <dt class="hdlist1" id="git-daemon-emgitdaemonemcommeserveurinetdpourdeshtesvirtuels"> <a class="anchor" href="#git-daemon-emgitdaemonemcommeserveurinetdpourdeshtesvirtuels"></a><em>git daemon</em> comme serveur inetd pour des hôtes virtuels </dt> <dd> <p>Pour configurer <em>git daemon</em> en tant que service inetd qui gère les dépôts pour différents hôtes virtuels, <em>www.example.com</em> et <em>www.example.org</em>, placez une entrée comme celle-ci dans <em>/etc/inetd</em> sur une seule ligne :</p> <div class="listingblock"> <div class="content"> <pre> git stream tcp nowait nobody /usr/bin/git git daemon --inetd --verbose --export-all --interpolated-path=/pub/%H%D /pub/www.example.org/software /pub/www.example.com/software /software</pre> </div> </div> <div class="paragraph"> <p>Dans cet exemple, le répertoire de niveau racine <code>/pub</code> contiendra un sous-répertoire pour chaque nom d&#8217;hôte virtuel supporté. De plus, les deux hôtes annoncent les dépôts simplement comme <code>git://www.example.com/software/repo.git</code>. Pour les clients antérieurs à la version 1.4.0, un lien symbolique de <code>/software</code> vers le dépôt par défaut approprié peut également être créé.</p> </div> </dd> <dt class="hdlist1" id="git-daemon-emgitdaemonemcommedmonrgulierpourdeshtesvirtuels"> <a class="anchor" href="#git-daemon-emgitdaemonemcommedmonrgulierpourdeshtesvirtuels"></a><em>git daemon</em> comme démon régulier pour des hôtes virtuels </dt> <dd> <p>Pour configurer <em>git daemon</em> comme un service ordinaire, non inetd, qui gère les dépôts de plusieurs hôtes virtuels en fonction de leurs adresses IP, démarrez le daemon comme suit :</p> <div class="listingblock"> <div class="content"> <pre> git daemon --verbose --export-all --interpolated-path=/pub/%IP/%D /pub/192.168.1.200/software /pub/10.10.220.23/software</pre> </div> </div> <div class="paragraph"> <p>Dans cet exemple, le répertoire de niveau racine <code>/pub</code> contiendra un sous-répertoire pour chaque adresse IP d&#8217;hôte virtuel supportée. Les dépôts peuvent toujours être accédés par nom d&#8217;hôte, en supposant qu&#8217;ils correspondent à ces adresses IP.</p> </div> </dd> <dt class="hdlist1" id="git-daemon-activerdsactiverslectivementlesservicespardpt"> <a class="anchor" href="#git-daemon-activerdsactiverslectivementlesservicespardpt"></a>activer/désactiver sélectivement les services par dépôt </dt> <dd> <p>Pour activer l&#8217;option <em>git archive --remote</em> et désactiver l&#8217;option <em>git fetch</em> contre un dépôt, il faut avoir ce qui suit dans le fichier de configuration du dépôt (c&#8217;est-à-dire le fichier <em>config</em> à côté de <code>HEAD</code>, <em>refs</em> et <em>objects</em>).</p> <div class="listingblock"> <div class="content"> <pre> [daemon] uploadpack = false uploadarch = true</pre> </div> </div> </dd> </dl> </div> </div> </div> <div class="sect1"> <h2 id="_environnement"><a class="anchor" href="#_environnement"></a>ENVIRONNEMENT</h2> <div class="sectionbody"> <div class="paragraph"> <p><em>git daemon</em> définira REMOTE_ADDR à l&#8217;adresse IP du client qui s&#8217;est connecté à lui, si l&#8217;adresse IP est disponible. REMOTE_ADDR sera disponible dans l&#8217;environnement des crochets appelés lors de l&#8217;exécution des services.</p> </div> </div> </div> <div class="sect1"> <h2 id="_git"><a class="anchor" href="#_git"></a>GIT</h2> <div class="sectionbody"> <div class="paragraph"> <p>Fait partie de la suite <a href='/docs/git/fr'>git[1]</a></p> </div> </div> </div> <div class="sect1"> <h2 id="_traduction"><a class="anchor" href="#_traduction"></a>TRADUCTION</h2> <div class="sectionbody"> <div class="paragraph"> <p>Cette page de manuel a été traduite par Jean-Noël Avila &lt;jn.avila AT free DOT fr&gt; et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site <a href="https://github.com/jnavila/git-manpages-l10n" class="bare">https://github.com/jnavila/git-manpages-l10n</a> .</p> </div> </div> </div> </div> </div> </div> <footer> <div class="site-source"> <a href="/site">About this site</a><br> Patches, suggestions, and comments are welcome. </div> <div class="sfc-member"> Git is a member of <a href="/sfc">Software Freedom Conservancy</a> </div> </footer> <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top"> <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/> </a> <script src="/js/jquery-1.7.1.min.js"></script> <script src="/js/jquery-ui-1.8.18.custom.min.js"></script> <script src="/js/jquery.defaultvalue.js"></script> <script src="/js/session.min.js"></script> <script src="/js/modernizr.js"></script> <script src="/js/modernize.js"></script> <script src="/js/application.min.js"></script> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10