CINXE.COM
Git - git-bundle 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-bundle 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-bundle</strong> manual</header> <ol class='reference-previous-versions'> <li> <a href="/docs/git-bundle"><span class="version">English</span> </a> </li> <li> <a href="/docs/git-bundle/fr"><span class="version">Français</span> </a> </li> <li> <a href="/docs/git-bundle/pt_BR"><span class="version">Português (Brasil)</span> </a> </li> <li> <a href="/docs/git-bundle/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-bundle last updated in 2.48.0</span> <div class='dropdown-panel left' id='previous-versions-dropdown'> <header>Changes in the <strong>git-bundle</strong> manual</header> <ol class='reference-previous-versions'> <li class="no-change"><span>2.48.1 → 2.49.0 no changes</span></li> <li> <a href="/docs/git-bundle/2.48.0"><span class="version">2.48.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">2025-01-10</em> </a> </li> <li class="no-change"><span>2.41.1 → 2.47.2 no changes</span></li> <li> <a href="/docs/git-bundle/2.41.0"><span class="version">2.41.0</span> <span class="diff"> <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/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">2023-06-01</em> </a> </li> <li class="no-change"><span>2.38.1 → 2.40.4 no changes</span></li> <li> <a href="/docs/git-bundle/2.38.0"><span class="version">2.38.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/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-10-02</em> </a> </li> <li class="no-change"><span>2.36.1 → 2.37.7 no changes</span></li> <li> <a href="/docs/git-bundle/2.36.0"><span class="version">2.36.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/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2022-04-18</em> </a> </li> <li class="no-change"><span>2.34.1 → 2.35.8 no changes</span></li> <li> <a href="/docs/git-bundle/2.34.0"><span class="version">2.34.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">2021-11-15</em> </a> </li> <li class="no-change"><span>2.33.2 → 2.33.8 no changes</span></li> <li> <a href="/docs/git-bundle/2.33.1"><span class="version">2.33.1</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/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">2021-10-12</em> </a> </li> <li class="no-change"><span>2.29.1 → 2.33.0 no changes</span></li> <li> <a href="/docs/git-bundle/2.29.0"><span class="version">2.29.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">2020-10-19</em> </a> </li> <li class="no-change"><span>2.25.1 → 2.28.1 no changes</span></li> <li> <a href="/docs/git-bundle/2.25.0"><span class="version">2.25.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">2020-01-13</em> </a> </li> <li class="no-change"><span>2.18.1 → 2.24.4 no changes</span></li> <li> <a href="/docs/git-bundle/2.18.0"><span class="version">2.18.0</span> <span class="diff"> <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" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2018-06-21</em> </a> </li> <li class="no-change"><span>2.9.5 → 2.17.6 no changes</span></li> <li> <a href="/docs/git-bundle/2.8.6"><span class="version">2.8.6</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">2017-07-30</em> </a> </li> <li class="no-change"><span>2.1.4 → 2.7.6 no changes</span></li> <li> <a href="/docs/git-bundle/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> </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-bundle - Déplace les objets et les références par archive</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 bundle</em> create [-q | --quiet | --progress] [--version=<version>] <fichier> <arguments-git-rev-list> <em>git bundle</em> verify [-q | --quiet] <fichier> <em>git bundle</em> list-heads <fichier> [<nom-de-ref>…​] <em>git bundle</em> unbundle [--progress] <fichier> [<nom-de-ref>…​]</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>Créer, décompresser et manipuler des fichiers "bundle". Les colis sont utilisés pour le transfert "hors ligne" d’objets Git sans qu’un "serveur" actif se trouve de l’autre côté de la connexion réseau.</p> </div> <div class="paragraph"> <p>Ils peuvent être utilisés pour créer des sauvegardes incrémentielles et complètes d’un dépôt (voir l’exemple « sauvegarde complète » dans « EXEMPLE », et pour relayer l’état des références d’un dépôt à un autre (voir le second exemple).</p> </div> <div class="paragraph"> <p>Les commandes Git qui récupèrent ou autrement "lisent" via des protocoles tels que <code>ssh://</code> et <code>https://</code> peuvent aussi opérer sur des fichiers cois. Il est possible de <a href='/docs/git-clone/fr'>git-clone[1]</a> un nouveau dépôt à partir d’un colis, d’utiliser <a href='/docs/git-fetch/fr'>git-fetch[1]</a> pour en récupérer, et de lister les références qu’il contient avec <a href='/docs/git-ls-remote/fr'>git-ls-remote[1]</a>. Il n’y a pas de support d'"écriture" correspondant, c’est-à-dire qu’un <em>git push</em> dans un colis n’est pas supporté.</p> </div> </div> </div> <div class="sect1"> <h2 id="_formats_des_colis"><a class="anchor" href="#_formats_des_colis"></a>FORMATS DES COLIS</h2> <div class="sectionbody"> <div class="paragraph"> <p>Les colis sont des fichiers <code>.pack</code> (voir <a href='/docs/git-pack-objects/fr'>git-pack-objects[1]</a>) avec un en-tête indiquant quelles références sont contenues dans le colis.</p> </div> <div class="paragraph"> <p>Comme le format d’archive packed lui-même, les colis peuvent être soit autonomes, soit créés à l’aide d’exclusions. Voir la section "PRÉREQUIS D’OBJET" ci-dessous.</p> </div> <div class="paragraph"> <p>Les colis créés en utilisant les exclusions de révision sont des "paquets minces" créés en utilisant l’option <code>--thin</code> de <a href='/docs/git-pack-objects/fr'>git-pack-objects[1]</a>, et dépaquetés en utilisant l’option <code>--fix-thin</code> de <a href='/docs/git-index-pack/fr'>git-index-pack[1]</a>.</p> </div> <div class="paragraph"> <p>Il n’y a pas d’option pour créer un "paquet épais" lors de l’utilisation des exclusions de révision, et les utilisateurs ne doivent pas s’inquiéter de la différence. En utilisant des "paquets minces", les paquets créés à l’aide d’exclusions sont plus petits en taille. Le fait qu’ils soient "minces" sous le capot est simplement noté ici comme une curiosité, et comme une référence à d’autres documents.</p> </div> <div class="paragraph"> <p>Voir <a href='/docs/gitformat-bundle/fr'>gitformat-bundle[5]</a> pour plus de détails et la discussion sur le "paquets fins" dans <a href='/docs/gitformat-pack/fr'>gitformat-pack[5]</a> pour plus de détails.</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-bundle-createoptionsltfichiergtltgit-rev-list-argsgt"> <a class="anchor" href="#git-bundle-createoptionsltfichiergtltgit-rev-list-argsgt"></a>create [options] <fichier> <git-rev-list-args> </dt> <dd> <p>Utilisé pour créer un regroupement nommé <em>fichier</em>. Cela nécessite les arguments <em><arguments-git-rev-list></em> pour définir le contenu du regroupement. options' contient les options spécifiques à la sous-commande <em>git bundle create</em>. si <em>fichier</em> est <code>-</code>, le paquet envoyé sur la sortie standard.</p> </dd> <dt class="hdlist1" id="git-bundle-verifyltfichiergt"> <a class="anchor" href="#git-bundle-verifyltfichiergt"></a>verify <fichier> </dt> <dd> <p>Utilisé pour vérifier qu’un fichier regroupement est valide et s’appliquera proprement au dépôt actuel. Cela inclut des vérifications sur le format du regroupement lui-même ainsi que la vérification que les commits pré-requis existent et sont complètement liés dans le dépôt actuel. <em>git bundle</em> affiche une liste des commits manquants, s’il y en a. Enfin, des informations sur des capacités supplémentaires, telles que "object filter" sont imprimées. Voir "Capacités" dans <a href='/docs/gitformat-bundle/fr'>gitformat-bundle[5]</a> pour plus d’informations. Le code de sortie est zéro en cas de succès, mais sera non nul si le fichier colis est invalide. Si <em>fichier</em> est <code>-</code>, le paquet est lu sur l’entrée standard.</p> </dd> <dt class="hdlist1" id="git-bundle-list-headsltfichiergt"> <a class="anchor" href="#git-bundle-list-headsltfichiergt"></a>list-heads <fichier> </dt> <dd> <p>Liste les références définies dans le regroupement. Si elle est suivie d’une liste de références, seules les références correspondant à celles données sont imprimées. Si <em>fichier</em> est <code>-</code>, le paquet est lu sur l’entrée standard.</p> </dd> <dt class="hdlist1" id="git-bundle-unbundleltfichiergt"> <a class="anchor" href="#git-bundle-unbundleltfichiergt"></a>unbundle <fichier> </dt> <dd> <p>Passe les objets du groupement à <em>git index-pack</em> pour qu’ils soient stockés dans le dépôt, puis affiche les noms de toutes les références définies. Si une liste de références est donnée, seules les références correspondant à celles de la liste sont imprimées. Cette commande est vraiment de plomberie et n’est définie que pour être appelée par <em>git fetch</em>. si <em>fichier</em> est <code>-</code>, le paquet est lu depuis l’entrée standard.</p> </dd> <dt class="hdlist1" id="git-bundle-ltgit-rev-list-argsgt"> <a class="anchor" href="#git-bundle-ltgit-rev-list-argsgt"></a><git-rev-list-args> </dt> <dd> <p>Une liste d’arguments, acceptable pour <em>git rev-parse</em> et <em>git rev-list</em> (et contenant une référence nommée, voir SPECIFICATION DES REFERENCES ci-dessous), qui spécifie les objets et références spécifiques à transporter. Par exemple, <code>master~10..master</code> fait en sorte que la référence master actuelle soit regroupée avec tous les objets ajoutés depuis le dixième commit de son ancêtre. Il n’y a pas de limite explicite au nombre de références et d’objets qui peuvent être regroupés.</p> </dd> <dt class="hdlist1" id="git-bundle-ltnom-de-rfgt82308203"> <a class="anchor" href="#git-bundle-ltnom-de-rfgt82308203"></a>[<nom-de-réf>…​] </dt> <dd> <p>Une liste de références utilisée pour limiter les références signalées comme disponibles. Ceci est principalement utile à <em>git fetch</em>, qui s’attend à ne recevoir que les références demandées et pas nécessairement tout le contenu du pack (dans ce cas, <em>git bundle</em> agit comme <em>git fetch-pack</em>).</p> </dd> <dt class="hdlist1" id="git-bundle---progress"> <a class="anchor" href="#git-bundle---progress"></a>--progress </dt> <dd> <p>L’état d’avancement est affiché sur la sortie d’erreur standard quand elle est attachée à un terminal, à moins que -q soit spécifié. Ce drapeau force l’état d’avancement même si le flux d’erreur standard n’est pas dirigé vers un terminal.</p> </dd> <dt class="hdlist1" id="git-bundle---versionltversiongt"> <a class="anchor" href="#git-bundle---versionltversiongt"></a>--version=<version> </dt> <dd> <p>Spécifier la version du regroupement. La version 2 est l’ancien format et ne peut être utilisée qu’avec les dépôts SHA-1 ; la version 3, plus récente, contient des capacités qui permettent des extensions. La valeur par défaut est le plus ancien format pris en charge, en fonction de l’algorithme de hachage utilisé.</p> </dd> <dt class="hdlist1" id="git-bundle--q"> <a class="anchor" href="#git-bundle--q"></a>-q </dt> <dt class="hdlist1" id="git-bundle---quiet"> <a class="anchor" href="#git-bundle---quiet"></a>--quiet </dt> <dd> <p>Ce drapeau permet à la commande de ne pas signaler sa progression sur le flux d’erreur standard.</p> </dd> </dl> </div> </div> </div> <div class="sect1"> <h2 id="_spécification_des_références"><a class="anchor" href="#_spécification_des_références"></a>SPÉCIFICATION DES RÉFÉRENCES</h2> <div class="sectionbody"> <div class="paragraph"> <p>Les révisions doivent être accompagnées de noms de référence pour être regroupées dans un colis. Alternativement, <code>--all</code> peut être utilisé pour empaqueter toutes les réfs.</p> </div> <div class="paragraph"> <p>Plus d’une référence peut être empaquetée, et plus d’un ensemble d’objets prérequis peut être spécifié. Les objets empaquetés sont ceux qui ne sont pas contenus dans l’union des prérequis.</p> </div> <div class="paragraph"> <p>La commande <em>git bundle create</em> résout les noms de référence pour vous en utilisant les mêmes règles que <code>git rev-parse --abbrev-ref=loose</code>. Chaque pré-requis peut être spécifié explicitement (par exemple <code>^master~10</code>), ou implicitement (par exemple <code>master~10..master</code>, <code>--since=10.days.ago master</code>).</p> </div> <div class="paragraph"> <p>Tous ces cas simples sont OK (en supposant que nous avons des branches "master" et "next") :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create master.bundle master $ echo master | git bundle create master.bundle --stdin $ git bundle create master-and-next.bundle master next $ (echo master; echo next) | git bundle create master-and-next.bundle --stdin</pre> </div> </div> <div class="paragraph"> <p>Et il en est de même pour ces exemples (et le même mais avec <code>--stdin</code> omis) :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create recent-master.bundle master~10..master $ git bundle create recent-updates.bundle master~10..master next~5..next</pre> </div> </div> <div class="paragraph"> <p>Un nom de révision ou un intervalle dont le côté droit ne peut être résolu en une référence n’est pas accepté :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create HEAD.bundle $(git rev-parse HEAD) fatal: Refus de créer un colis vide. $ git bundle create master-yesterday.bundle master~10..master~5 fatal: Refus de créer un colis vide.</pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_pré_requis_dobjet"><a class="anchor" href="#_pré_requis_dobjet"></a>PRÉ-REQUIS D’OBJET</h2> <div class="sectionbody"> <div class="paragraph"> <p>Lors de la création de colis, il est possible de créer un colis autonome qui peut être dégroupé dans un dépôt sans historique commun, ainsi que de fournir des révisions négatives pour exclure les objets nécessaires dans les parties antérieures de l’historique.</p> </div> <div class="paragraph"> <p>Fournir une révision telle que <code>nouveau</code> à <code>git bundle create</code> créera un fichier colis qui contient tous les objets accessibles depuis la révision <code>nouveau</code>. Ce colis peut être dégroupé dans n’importe quel dépôt pour obtenir un historique complet qui mène à la révision <code>nouveau</code> :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create complet.bundle nouveau</pre> </div> </div> <div class="paragraph"> <p>Une plage de révision telle que <code>ancien..nouveau</code> produira un fichier colis qui nécessitera l’existence de la révision <code>ancien</code> (et de tout objet pouvant être atteint à partir de celle-ci) pour que le colis puisse être "dégroupé" :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create complet.bundle ancien..nouveau</pre> </div> </div> <div class="paragraph"> <p>Un colis autonome sans pré-requis peut être extrait n’importe où, même dans un dépôt vide, ou peut être cloné (c-à-d, <code>nouveau</code>, mais pas <code>ancien..nouveau</code>).</p> </div> <div class="paragraph"> <p>Il n’y a pas de problème à être prudent et faire en sorte que le fichier regroupement contienne des objets déjà présents dans la destination, car ceux-ci sont ignorés lors du déballage à la destination.</p> </div> <div class="paragraph"> <p>Si vous voulez fournir le même ensemble de références qu’un clone directement depuis le dépôt source, utilisez <code>--branches --tags</code> pour les <code><arguments-git-rev-list></code>.</p> </div> <div class="paragraph"> <p>La commande <em>git bundle verify</em> peut être utilisée pour vérifier si votre dépôt destinataire possède les commits pré-requis nécessaires pour un colis.</p> </div> </div> </div> <div class="sect1"> <h2 id="_exemples"><a class="anchor" href="#_exemples"></a>EXEMPLES</h2> <div class="sectionbody"> <div class="paragraph"> <p>Nous discuterons de deux cas :</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>Prendre une sauvegarde complète d’un dépôt</p> </li> <li> <p>Transférer l’historique d’un dépôt vers une autre machine lorsque les deux machines n’ont pas de connexion directe</p> </li> </ol> </div> <div class="paragraph"> <p>Prenons d’abord une sauvegarde complète du dépôt. La commande suivante prendra une sauvegarde complète du dépôt dans le sens que tous les réfs sont inclus dans le colis :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create backup.bundle --all</pre> </div> </div> <div class="paragraph"> <p>Mais notez encore que ce n’est que pour les réfs, c’est-à-dire que vous n’inclurez que les refs et les commits accessibles à partir de ces réfs. Vous n’inclurez pas d’autre état local, tel que le contenu de l’index, l’arbre de travail, la remise, la configuration par dépôt, les crochets, etc.</p> </div> <div class="paragraph"> <p>Vous pouvez ensuite récupérer ce dépôt en utilisant par exemple <a href='/docs/git-clone/fr'>git-clone[1]</a> :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git clone backup.bundle <nouveau-répertoire></pre> </div> </div> <div class="paragraph"> <p>Pour l’exemple suivant, supposons que vous vouliez transférer l’historique d’un dépôt R1 sur la machine A vers un autre dépôt R2 sur la machine B. Pour une raison quelconque, la connexion directe entre A et B n’est pas autorisée, mais nous pouvons déplacer les données de A à B via un mécanisme quelconque (CD, email, etc.). Nous voulons mettre à jour R2 avec le développement fait sur la branche master dans R1.</p> </div> <div class="paragraph"> <p>Pour amorcer le processus, vous pouvez d’abord créer un paquet qui n’a pas de prérequis. Vous pouvez utiliser une étiquette pour vous rappeler jusqu’à quel commit le dernier traitement a été fait, afin de faciliter la mise à jour ultérieure de l’autre dépôt avec un paquet incrémental :</p> </div> <div class="listingblock"> <div class="content"> <pre>machineA$ cd R1 machineA$ git bundle create fichier.paquet master machineA$ git tag -f dernierpaquetR2 master</pre> </div> </div> <div class="paragraph"> <p>Ensuite, vous transférez fichier.paquet sur la machine cible B. Comme ce paquet ne nécessite pas l’extraction d’un objet existant, vous pouvez créer un nouveau déôt sur la machine B en le clonant :</p> </div> <div class="listingblock"> <div class="content"> <pre>machineB$ git clone -b master /home/moi/tmp/fichier.paquet R2</pre> </div> </div> <div class="paragraph"> <p>Cela définira un répertoire distant appelé "origin" dans le dépôt résultant qui vous permettra de récupérer et de tirer du paquet. Le fichier $GIT_DIR/config dans R2 aura une entrée comme celle-ci :</p> </div> <div class="listingblock"> <div class="content"> <pre>[remote "origin"] url = /home/moi/tmp/fichier.paquet fetch = refs/heads/*:refs/remotes/origin/*</pre> </div> </div> <div class="paragraph"> <p>Pour mettre à jour le dépôt mine.git résultant, vous pouvez récupérer ou tirer après avoir remplacé le paquet stocké dans /home/moi/tmp/fichier.paquet par des mises à jour incrémentales.</p> </div> <div class="paragraph"> <p>Après avoir travaillé un peu plus dans le dépôt d’origine, vous pouvez créer un paquet incrémental pour mettre à jour l’autre dépôt :</p> </div> <div class="listingblock"> <div class="content"> <pre>machineA$ cd R1 machineA$ git bundle create fichier.paquet dernierpaquetR2..master machineA$ git tag -f dernierpaquetR2 master</pre> </div> </div> <div class="paragraph"> <p>Vous transférez ensuite le paquet sur l’autre machine pour remplacer /home/moi/tmp/fichier.paquet, et vous tirez à partir de celui-ci.</p> </div> <div class="listingblock"> <div class="content"> <pre>machineB$ cd R2 machineB$ git pull</pre> </div> </div> <div class="paragraph"> <p>Si vous savez jusqu’à quel commit le dépôt destinataire devrait avoir les objets nécessaires, vous pouvez utiliser cette connaissance pour spécifier le prérequis, en donnant un point de coupure pour limiter les révisions et les objets qui vont dans le paquet résultant. L’exemple précédent a utilisé l’étiquette dernierpaquetR2 dans ce but, mais vous pouvez utiliser toute autre option que vous donneriez à la commande <a href='/docs/git-log/fr'>git-log[1]</a>. Voici d’autres exemples :</p> </div> <div class="paragraph"> <p>Vous pouvez utiliser une étiquette qui est présente dans les deux dépôts :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create monpaquet v1.0.0..master</pre> </div> </div> <div class="paragraph"> <p>Vous pouvez utiliser un prérequis défini par le temps :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create monpaquet --since=10.days master</pre> </div> </div> <div class="paragraph"> <p>Vous pouvez utiliser le nombre de commits :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle create monpaquet -10 master</pre> </div> </div> <div class="paragraph"> <p>Vous pouvez lancer <code>git-bundle verify</code> pour voir si vous pouvez extraire d’un paquet qui a été créé avec un prérequis :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git bundle verify monpaquet</pre> </div> </div> <div class="paragraph"> <p>Cela permettra d’énumérer ce que vous devez avoir pour extraire du paquet et fera une erreur si vous ne les avez pas.</p> </div> <div class="paragraph"> <p>Du point de vue du dépôt destinataire, un paquet est exactement comme un dépôt ordinaire dont il extrait ou tire des données. Vous pouvez, par exemple, aligner les références lors de l’extraction :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git fetch monpaquet master:localRef</pre> </div> </div> <div class="paragraph"> <p>Vous pouvez également voir quelles références il offre :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git ls-remote monpaquet</pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_discussion"><a class="anchor" href="#_discussion"></a>DISCUSSION</h2> <div class="sectionbody"> <div class="paragraph"> <p>Une manière naïve de faire une sauvegarde complète d’un dépôt est d’utiliser quelque chose qui fait comme <code>cp -r <dépôt> <destination></code>. Cela est découragé puisque le dépôt pourrait être écrit pendant l’opération de copie. À son tour, certains fichiers dans <code><destination></code> pourraient être corrompus.</p> </div> <div class="paragraph"> <p>C’est pourquoi il est recommandé d’utiliser l’outillage Git pour faire des sauvegardes de dépôt, soit avec cette commande soit par exemple avec <a href='/docs/git-clone/fr'>git-clone[1]</a>. Mais gardez à l’esprit que ces outils ne vous aideront pas à sauvegarder l’état autre que les refs et les commits. En d’autres termes, ils ne vous aideront pas à sauvegarder le contenu de l’index, l’arbre de travail, la remise, la configuration par dépôt, les crochets, etc.</p> </div> <div class="paragraph"> <p>Voir aussi <a href='/docs/gitfaq/fr'>gitfaq[7]</a>, section "TRANSFERTS" pour une discussion des problèmes associés à la synchronisation de fichiers entre les systèmes.</p> </div> </div> </div> <div class="sect1"> <h2 id="_formats_de_fichier"><a class="anchor" href="#_formats_de_fichier"></a>FORMATS DE FICHIER</h2> <div class="sectionbody"> <div class="paragraph"> <p>Voir <a href='/docs/gitformat-bundle/fr'>gitformat-bundle[5]</a>.</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 <jn.avila AT free DOT fr> 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>