CINXE.COM
Git - git-pull 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-pull 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-pull</strong> manual</header> <ol class='reference-previous-versions'> <li> <a href="/docs/git-pull"><span class="version">English</span> </a> </li> <li> <a href="/docs/git-pull/fr"><span class="version">Français</span> </a> </li> <li> <a href="/docs/git-pull/pt_BR"><span class="version">Português (Brasil)</span> </a> </li> <li> <a href="/docs/git-pull/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-pull last updated in 2.49.0</span> <div class='dropdown-panel left' id='previous-versions-dropdown'> <header>Changes in the <strong>git-pull</strong> manual</header> <ol class='reference-previous-versions'> <li> <a href="/docs/git-pull/2.49.0"><span class="version">2.49.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/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">2025-03-14</em> </a> </li> <li class="no-change"><span>2.48.1 no changes</span></li> <li> <a href="/docs/git-pull/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/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">2025-01-10</em> </a> </li> <li class="no-change"><span>2.47.2 no changes</span></li> <li> <a href="/docs/git-pull/2.47.1"><span class="version">2.47.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/red-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">2024-11-25</em> </a> </li> <li class="no-change"><span>2.46.3 → 2.47.0 no changes</span></li> <li> <a href="/docs/git-pull/2.46.2"><span class="version">2.46.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/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" /> </span> <em class="date">2024-09-23</em> </a> </li> <li class="no-change"><span>2.45.1 → 2.46.1 no changes</span></li> <li> <a href="/docs/git-pull/2.45.0"><span class="version">2.45.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-04-29</em> </a> </li> <li class="no-change"><span>2.44.1 → 2.44.3 no changes</span></li> <li> <a href="/docs/git-pull/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.2 → 2.43.6 no changes</span></li> <li> <a href="/docs/git-pull/2.43.1"><span class="version">2.43.1</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">2024-02-09</em> </a> </li> <li> <a href="/docs/git-pull/2.43.0"><span class="version">2.43.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">2023-11-20</em> </a> </li> <li class="no-change"><span>2.42.1 → 2.42.4 no changes</span></li> <li> <a href="/docs/git-pull/2.42.0"><span class="version">2.42.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-08-21</em> </a> </li> <li class="no-change"><span>2.41.1 → 2.41.3 no changes</span></li> <li> <a href="/docs/git-pull/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/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">2023-06-01</em> </a> </li> <li class="no-change"><span>2.40.1 → 2.40.4 no changes</span></li> <li> <a href="/docs/git-pull/2.40.0"><span class="version">2.40.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/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">2023-03-12</em> </a> </li> <li class="no-change"><span>2.36.1 → 2.39.5 no changes</span></li> <li> <a href="/docs/git-pull/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/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">2022-04-18</em> </a> </li> <li class="no-change"><span>2.35.1 → 2.35.8 no changes</span></li> <li> <a href="/docs/git-pull/2.35.0"><span class="version">2.35.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">2022-01-24</em> </a> </li> <li class="no-change"><span>2.34.1 → 2.34.8 no changes</span></li> <li> <a href="/docs/git-pull/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-pull/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> <a href="/docs/git-pull/2.33.0"><span class="version">2.33.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/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-08-16</em> </a> </li> <li class="no-change"><span>2.32.1 → 2.32.7 no changes</span></li> <li> <a href="/docs/git-pull/2.32.0"><span class="version">2.32.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" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2021-06-06</em> </a> </li> <li class="no-change"><span>2.31.1 → 2.31.8 no changes</span></li> <li> <a href="/docs/git-pull/2.31.0"><span class="version">2.31.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/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">2021-03-15</em> </a> </li> <li class="no-change"><span>2.30.1 → 2.30.9 no changes</span></li> <li> <a href="/docs/git-pull/2.30.0"><span class="version">2.30.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/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">2020-12-27</em> </a> </li> <li class="no-change"><span>2.29.1 → 2.29.3 no changes</span></li> <li> <a href="/docs/git-pull/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.27.1 → 2.28.1 no changes</span></li> <li> <a href="/docs/git-pull/2.27.0"><span class="version">2.27.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">2020-06-01</em> </a> </li> <li class="no-change"><span>2.25.2 → 2.26.3 no changes</span></li> <li> <a href="/docs/git-pull/2.25.1"><span class="version">2.25.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/red-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">2020-02-17</em> </a> </li> <li> <a href="/docs/git-pull/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.24.1 → 2.24.4 no changes</span></li> <li> <a href="/docs/git-pull/2.24.0"><span class="version">2.24.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/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">2019-11-04</em> </a> </li> <li class="no-change"><span>2.23.1 → 2.23.4 no changes</span></li> <li> <a href="/docs/git-pull/2.23.0"><span class="version">2.23.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/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">2019-08-16</em> </a> </li> <li class="no-change"><span>2.22.2 → 2.22.5 no changes</span></li> <li> <a href="/docs/git-pull/2.22.1"><span class="version">2.22.1</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" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2019-08-11</em> </a> </li> <li> <a href="/docs/git-pull/2.22.0"><span class="version">2.22.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/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">2019-06-07</em> </a> </li> <li class="no-change"><span>2.20.1 → 2.21.4 no changes</span></li> <li> <a href="/docs/git-pull/2.20.0"><span class="version">2.20.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-12-09</em> </a> </li> <li class="no-change"><span>2.19.1 → 2.19.6 no changes</span></li> <li> <a href="/docs/git-pull/2.19.0"><span class="version">2.19.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/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">2018-09-10</em> </a> </li> <li class="no-change"><span>2.18.1 → 2.18.5 no changes</span></li> <li> <a href="/docs/git-pull/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/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">2018-06-21</em> </a> </li> <li class="no-change"><span>2.17.1 → 2.17.6 no changes</span></li> <li> <a href="/docs/git-pull/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> <a href="/docs/git-pull/2.16.6"><span class="version">2.16.6</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">2019-12-06</em> </a> </li> <li> <a href="/docs/git-pull/2.15.4"><span class="version">2.15.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/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">2019-12-06</em> </a> </li> <li> <a href="/docs/git-pull/2.14.6"><span class="version">2.14.6</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">2019-12-06</em> </a> </li> <li> <a href="/docs/git-pull/2.13.7"><span class="version">2.13.7</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">2018-05-22</em> </a> </li> <li class="no-change"><span>2.12.5 no changes</span></li> <li> <a href="/docs/git-pull/2.11.4"><span class="version">2.11.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/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">2017-09-22</em> </a> </li> <li class="no-change"><span>2.10.5 no changes</span></li> <li> <a href="/docs/git-pull/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/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">2017-07-30</em> </a> </li> <li> <a href="/docs/git-pull/2.8.6"><span class="version">2.8.6</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">2017-07-30</em> </a> </li> <li> <a href="/docs/git-pull/2.7.6"><span class="version">2.7.6</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> <a href="/docs/git-pull/2.6.7"><span class="version">2.6.7</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-05-05</em> </a> </li> <li class="no-change"><span>2.5.6 no changes</span></li> <li> <a href="/docs/git-pull/2.4.12"><span class="version">2.4.12</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">2017-05-05</em> </a> </li> <li> <a href="/docs/git-pull/2.3.10"><span class="version">2.3.10</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/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2015-09-28</em> </a> </li> <li class="no-change"><span>2.2.3 no changes</span></li> <li> <a href="/docs/git-pull/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/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">2014-12-17</em> </a> </li> <li> <a href="/docs/git-pull/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-pull - Rapatrier et intégrer un autre dépôt ou une branche locale</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 pull</em> [<options>] [<dépôt> [<spécification-de-référence>…​]]</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>Incorpore les modifications d’un dépôt distant dans la branche courante. Si la branche courante est en retard par rapport à la branche distante, alors par défaut, cela avancera rapidement la branche courante pour correspondre à la branche distante. Si la branche courante et le dépôt distant ont divergé, l’utilisateur doit spécifier comment réconcilier les branches divergentes avec <code>--rebase</code> ou <code>--no-rebase</code> (ou l’option de configuration correspondante dans <code>pull.rebase</code>).</p> </div> <div class="paragraph"> <p>Plus précisément, <code>git pull</code> exécute <code>git fetch</code> avec les paramètres donnés et ensuite, selon les options de configuration ou les drapeaux de la ligne de commande, appellera soit <code>git rebase</code> soit <code>git merge</code> pour réconcilier les branches divergentes.</p> </div> <div class="paragraph"> <p><dépôt> doit être le nom d’un dépôt distant tel que passé à <a href='/docs/git-fetch/fr'>git-fetch[1]</a>. <spéc-de-réf> peut nommer une réf distante arbitraire (par exemple, le nom d’une étiquette) ou même une collection de réfs avec les branches de suivi à distance correspondantes (par exemple, refs/heads/*:refs/remotes/origin/*), mais c’est généralement le nom d’une branche du dépôt distant.</p> </div> <div class="paragraph"> <p>Les valeurs par défaut pour <dépôt> et <branche> sont lues à partir de la configuration "remote" et "merge" pour la branche actuelle comme défini par <a href='/docs/git-branch/fr'>git-branch[1]</a> <code>--track</code>.</p> </div> <div class="paragraph"> <p>Supposons que l’historique suivant existe et que la branche actuelle est <code>master</code> :</p> </div> <div class="listingblock"> <div class="content"> <pre> A---B---C master sur origin / D---E---F---G master ^ origin/master dans votre dépôt</pre> </div> </div> <div class="paragraph"> <p>Ensuite, "<code>git pull</code>" récupère et rejoue les modifications de la branche <code>master</code> distante, puisqu’elle a divergé du <code>master</code> local (c’est-à-dire <code>E</code>) jusqu’à son commit actuel (<code>C</code>) en plus de <code>master</code> et enregistre le résultat dans un nouveau commit avec les noms des deux commits parents et un message de journal de l’utilisateur décrivant les modifications.</p> </div> <div class="listingblock"> <div class="content"> <pre> A---B---C origin/master / \ D---E---F---G---H master</pre> </div> </div> <div class="paragraph"> <p>Voir <a href='/docs/git-merge/fr'>git-merge[1]</a> pour plus de détails, notamment sur la manière dont les conflits sont présentés et traités.</p> </div> <div class="paragraph"> <p>Dans Git 1.7.0 ou une version ultérieure, pour annuler une fusion conflictuelle, utilisez <code>git reset --merge</code>. <strong>Avertissement</strong> : dans les anciennes versions de Git, il est déconseillé d’exécuter <em>git pull</em> avec des modifications non validées : bien que cela soit possible, cela vous laisse dans un état dont il peut être difficile de se défaire en cas de conflit.</p> </div> <div class="paragraph"> <p>Si l’une des modifications sur le distant chevauche des modifications locales non validées, la fusion sera automatiquement annulée et l’arbre de travail sera conservé. Il est généralement préférable de mettre les modifications locales en ordre de marche ou de les remiser avec <a href='/docs/git-stash/fr'>git-stash[1]</a> avant de tirer.</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-pull--q"> <a class="anchor" href="#git-pull--q"></a>-q </dt> <dt class="hdlist1" id="git-pull---quiet"> <a class="anchor" href="#git-pull---quiet"></a>--quiet </dt> <dd> <p>Ceci est transmis à la fois au git-fetch sous-jacent pour éliminer les rapports lors du transfert et au git-merge sous-jacent pour éliminer les rapports lors de la fusion.</p> </dd> <dt class="hdlist1" id="git-pull--v"> <a class="anchor" href="#git-pull--v"></a>-v </dt> <dt class="hdlist1" id="git-pull---verbose"> <a class="anchor" href="#git-pull---verbose"></a>--verbose </dt> <dd> <p>Passer --verbose à git-fetch et git-merge.</p> </dd> <dt class="hdlist1" id="git-pull---no-recurse-submodulesyeson-demandno"> <a class="anchor" href="#git-pull---no-recurse-submodulesyeson-demandno"></a>--[no-]recurse-submodules[=(yes|on-demand|no)] </dt> <dd> <p>Cette option contrôle si les nouveaux commits des sous-modules peuplés doivent être récupérés et si les arbres de travail des sous-modules actifs devraient être aussi mis à jour (voir <a href='/docs/git-fetch/fr'>git-fetch[1]</a>, <a href='/docs/git-config/fr'>git-config[1]</a> et <a href='/docs/gitmodules/fr'>gitmodules[5]</a>).</p> <div class="paragraph"> <p>Si l’extraction est effectuée via un rebasage, les commits des sous-module locaux sont également rebasés.</p> </div> <div class="paragraph"> <p>Si la mise à jour est effectuée par fusion, les conflits de sous-module sont résolus et extraits.</p> </div> </dd> </dl> </div> <div class="sect2"> <h3 id="_options_relatives_à_la_fusion"><a class="anchor" href="#_options_relatives_à_la_fusion"></a>Options relatives à la fusion</h3> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull---commit"> <a class="anchor" href="#git-pull---commit"></a>--commit </dt> <dt class="hdlist1" id="git-pull---no-commit"> <a class="anchor" href="#git-pull---no-commit"></a>--no-commit </dt> <dd> <p>Effectuer la fusion et valider le résultat. Cette option peut être utilisée pour passer outre --no-commit. Seulement utile lors de la fusion.</p> <div class="paragraph"> <p>Avec --no-commit, effectuer la fusion et s’arrêter juste avant de créer un commit de fusion, pour donner à l’utilisateur une chance d’inspecter et de peaufiner le résultat de la fusion avant de valider.</p> </div> <div class="paragraph"> <p>Notez que les mises à jour en avance rapide ne créent pas de commit de fusion et qu’il n’y a donc aucun moyen d’arrêter ces fusions avec --no-commit. Ainsi, si vous voulez vous assurer que votre branche n’est pas modifiée ou mise à jour par la commande de fusion, utilisez --no-ff avec --no-commit.</p> </div> </dd> <dt class="hdlist1" id="git-pull---edit"> <a class="anchor" href="#git-pull---edit"></a>--edit </dt> <dt class="hdlist1" id="git-pull--e"> <a class="anchor" href="#git-pull--e"></a>-e </dt> <dt class="hdlist1" id="git-pull---no-edit"> <a class="anchor" href="#git-pull---no-edit"></a>--no-edit </dt> <dd> <p>Avant de procéder à une fusion automatisée réussie, lancer un éditeur pour modifier le message de fusion généré automatiquement, afin que l’utilisateur puisse expliquer et justifier la fusion. L’option <code>--no-edit</code> peut être utilisée pour accepter le message généré automatiquement (ce qui est généralement déconseillé).</p> <div class="paragraph"> <p>Les scripts plus anciens peuvent dépendre du comportement historique de ne pas autoriser l’utilisateur à modifier le message du journal de fusion. Ils verront un éditeur ouvert lorsqu’ils exécuteront <code>git merge</code>. Pour faciliter l’ajustement de ces scripts au comportement mis à jour, la variable d’environnement <code>GIT_MERGE_AUTOEDIT</code> peut être définie sur <code>no</code> à leur début.</p> </div> </dd> <dt class="hdlist1" id="git-pull---cleanupltmodegt"> <a class="anchor" href="#git-pull---cleanupltmodegt"></a>--cleanup=<mode> </dt> <dd> <p>Cette option détermine comment le message de fusion sera nettoyé avant d’être envoyé. Voir <a href='/docs/git-commit/fr'>git-commit[1]</a> pour plus de détails. De plus, si le <em><mode></em> a la valeur <code>scissors</code>, les ciseaux seront ajoutés à <em>MERGE_MSG</em> avant d’être transmis à la machinerie de commit dans le cas d’un conflit de fusion.</p> </dd> <dt class="hdlist1" id="git-pull---ff-only"> <a class="anchor" href="#git-pull---ff-only"></a>--ff-only </dt> <dd> <p>Mettre à jour vers le nouvel historique seulement s’il n’y a pas d’historique local divergent. C’est la valeur par défaut lorsqu’aucune méthode pour réconcilier des historiques divergents n’est fournie (via les drapeaux --rebase=*).</p> </dd> <dt class="hdlist1" id="git-pull---ff"> <a class="anchor" href="#git-pull---ff"></a>--ff </dt> <dt class="hdlist1" id="git-pull---no-ff"> <a class="anchor" href="#git-pull---no-ff"></a>--no-ff </dt> <dd> <p>Lors d’une fusion plutôt qu’un rebasage, précise comment une fusion est traitée lorsque l’historique fusionné est déjà un descendant de l’historique actuel. <code>--ff</code> est la valeur par défaut, sauf si l’on fusionne une étiquette annotée (et éventuellement signée) qui n’est pas stockée à sa place naturelle dans la hiérarchie <code>refs/tags/</code>, auquel cas <code>--no-ff</code> est supposé.</p> <div class="paragraph"> <p>Avec <code>--ff</code>, lorsque c’est possible, résoudre la fusion comme une avance rapide (ne mettre à jour le pointeur de branche que pour qu’il corresponde à la branche fusionnée ; ne pas créer de commit de fusion). Lorsque ce n’est pas possible (lorsque l’historique fusionné n’est pas un descendant de l’historique actuel), créer un commit de fusion.</p> </div> <div class="paragraph"> <p>Avec <code>--no-ff</code>, créer un commit de fusion dans tous les cas, même si la fusion peut être résolue en avance rapide.</p> </div> </dd> <dt class="hdlist1" id="git-pull--Sltidclgt"> <a class="anchor" href="#git-pull--Sltidclgt"></a>-S[<idclé>] </dt> <dt class="hdlist1" id="git-pull---gpg-signltidclgt"> <a class="anchor" href="#git-pull---gpg-signltidclgt"></a>--gpg-sign[=<idclé>] </dt> <dt class="hdlist1" id="git-pull---no-gpg-sign"> <a class="anchor" href="#git-pull---no-gpg-sign"></a>--no-gpg-sign </dt> <dd> <p>Signer le commit résultant de la fusion avec GPG. L’argument <code>idclé</code> est optionnel avec par défaut l’identité du validateur ; si spécifiée, elle doit être collée à l’option sans aucun espace. <code>--no-gpg-sign</code> est utile pour annuler l’effet de la variable de configuration <code>commit.gpgSign</code> ainsi que tout <code>--gpg-sign</code> précédent.</p> </dd> <dt class="hdlist1" id="git-pull---logltngt"> <a class="anchor" href="#git-pull---logltngt"></a>--log[=<n>] </dt> <dt class="hdlist1" id="git-pull---no-log"> <a class="anchor" href="#git-pull---no-log"></a>--no-log </dt> <dd> <p>En plus des noms de branches, remplir le message du journal avec les descriptions d’une ligne depuis au maximum <n> commits réels qui sont en train d’être fusionnés. Voir aussi <a href='/docs/git-fmt-merge-msg/fr'>git-fmt-merge-msg[1]</a>. Seulement utile lors de la fusion.</p> <div class="paragraph"> <p>Avec --no-log, ne pas indiquer les descriptions d’une ligne des commits réels qui sont fusionnés.</p> </div> </dd> <dt class="hdlist1" id="git-pull-code--signoffcode"> <a class="anchor" href="#git-pull-code--signoffcode"></a><code>--signoff</code> </dt> <dt class="hdlist1" id="git-pull-code--no-signoffcode"> <a class="anchor" href="#git-pull-code--no-signoffcode"></a><code>--no-signoff</code> </dt> <dd> <p>Ajouter une ligne finale <code>Signed-off-by</code> du validateur à la fin du message de validation. La signification de signoff dépend du projet sur lequel vous validez. Par exemple, cela peut certifier que le validateur a le droit de soumettre son travail sous la licence du projet ou accepte une certaine représentation du contributeur, tel qu’un Certificat d’Origine de Développeur. (Voir <a href="https://developercertificate.org/" class="bare">https://developercertificate.org/</a> pour celui utilisé par les projet du noyau Linux ou de Git). Consultez la documentation ou la direction du projet auquel vous contribuez pour comprendre comment les signatures sont utilisées dans ce projet.</p> <div class="paragraph"> <p>L’option <code>--no-signoff</code> peut être utilisée pour contrecarrer une option <code>--signoff</code> précédente sur la ligne de commande.</p> </div> </dd> </dl> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull---stat"> <a class="anchor" href="#git-pull---stat"></a>--stat </dt> <dt class="hdlist1" id="git-pull--n"> <a class="anchor" href="#git-pull--n"></a>-n </dt> <dt class="hdlist1" id="git-pull---no-stat"> <a class="anchor" href="#git-pull---no-stat"></a>--no-stat </dt> <dd> <p>Afficher un diffstat à la fin de la fusion. Le diffstat est également contrôlé par l’option de configuration merge.stat.</p> <div class="paragraph"> <p>Avec -n ou --no-stat, ne pas afficher de diffstat à la fin de la fusion.</p> </div> </dd> <dt class="hdlist1" id="git-pull---squash"> <a class="anchor" href="#git-pull---squash"></a>--squash </dt> <dt class="hdlist1" id="git-pull---no-squash"> <a class="anchor" href="#git-pull---no-squash"></a>--no-squash </dt> <dd> <p>Produire l’arbre de travail et l’état d’index comme si une fusion réelle s’était produite (sauf pour les informations de fusion), mais ne pas faire de commit, déplacer la <code>HEAD</code>, ou enregistrer <code>$GIT_DIR/MERGE_HEAD</code> (pour forcer le prochain <code>git commit</code> à créer un commit de fusion). Cela vous permet de créer un seul commit au-dessus de la branche actuelle dont l’effet est identique à la fusion d’une autre branche (ou plus dans le cas d’une fusion pieuvre).</p> <div class="paragraph"> <p>Avec --no-squash, effectuer la fusion et valider le résultat. Cette option peut être utilisée pour passer outre --squash.</p> </div> <div class="paragraph"> <p>Avec --squash, --commit n’est pas permis, et échouera.</p> </div> <div class="paragraph"> <p>Seulement utile lors de la fusion.</p> </div> </dd> <dt class="hdlist1" id="git-pull---no-verify"> <a class="anchor" href="#git-pull---no-verify"></a>--[no-]verify </dt> <dd> <p>Par défaut, les crochets pre-merge et commit-msg sont exécutés. Lorsque <code>--no-verify</code> est donné, ils sont contournés. Voir aussi <a href='/docs/githooks/fr'>githooks[5]</a>. Seulement utile lors de la fusion.</p> </dd> <dt class="hdlist1" id="git-pull--sltstratgiegt"> <a class="anchor" href="#git-pull--sltstratgiegt"></a>-s <stratégie> </dt> <dt class="hdlist1" id="git-pull---strategyltstrategiegt"> <a class="anchor" href="#git-pull---strategyltstrategiegt"></a>--strategy=<strategie> </dt> <dd> <p>Utiliser la stratégie de fusion donnée ; peut être fourni plus d’une fois pour spécifier l’ordre dans lequel elles doivent être essayées. S’il n’y a pas d’option <code>-s</code>, une liste intégrée de stratégies est utilisée à la place (<code>ort</code> lors de la fusion d’une seule tête, <code>octopus</code> sinon).</p> </dd> <dt class="hdlist1" id="git-pull--Xltoptiongt"> <a class="anchor" href="#git-pull--Xltoptiongt"></a>-X <option> </dt> <dt class="hdlist1" id="git-pull---strategy-optionltoptiongt"> <a class="anchor" href="#git-pull---strategy-optionltoptiongt"></a>--strategy-option=<option> </dt> <dd> <p>Faire passer l’option spécifique de la stratégie de fusion à la stratégie de fusion.</p> </dd> <dt class="hdlist1" id="git-pull---verify-signatures"> <a class="anchor" href="#git-pull---verify-signatures"></a>--verify-signatures </dt> <dt class="hdlist1" id="git-pull---no-verify-signatures"> <a class="anchor" href="#git-pull---no-verify-signatures"></a>--no-verify-signatures </dt> <dd> <p>Vérifier que le commit sommet de la branche latérale à fusionner est signé avec une clé valide, c’est-à-dire une clé qui a un uid valide : dans le modèle de confiance par défaut, cela signifie que la clé de signature a été signée par une clé de confiance. Si le commit sommet de la branche latérale n’est pas signé avec une clé valide, la fusion est annulée.</p> <div class="paragraph"> <p>Seulement utile lors de la fusion.</p> </div> </dd> <dt class="hdlist1" id="git-pull---summary"> <a class="anchor" href="#git-pull---summary"></a>--summary </dt> <dt class="hdlist1" id="git-pull---no-summary"> <a class="anchor" href="#git-pull---no-summary"></a>--no-summary </dt> <dd> <p>Synonymes de --stat et --no-stat ; ils sont déconseillés et seront supprimés à l’avenir.</p> </dd> <dt class="hdlist1" id="git-pull---autostash"> <a class="anchor" href="#git-pull---autostash"></a>--autostash </dt> <dt class="hdlist1" id="git-pull---no-autostash"> <a class="anchor" href="#git-pull---no-autostash"></a>--no-autostash </dt> <dd> <p>Créer automatiquement une entrée temporaire de remisage avant le début de l’opération, l’enregistrer dans la réf <code>MERGE_AUTOSTASH</code> et l’appliquer après la fin de l’opération. Cela signifie que vous pouvez exécuter l’opération sur un arbre de travail sale. Cependant, utilisez-le avec précaution : l’application finale du remisage après une fusion réussie peut entraîner des conflits non négligeables.</p> </dd> <dt class="hdlist1" id="git-pull---allow-unrelated-histories"> <a class="anchor" href="#git-pull---allow-unrelated-histories"></a>--allow-unrelated-histories </dt> <dd> <p>Par défaut, la commande <code>git merge</code> refuse de fusionner les historiques qui ne partagent pas un ancêtre commun. Cette option peut être utilisée pour passer outre cette sécurité lors de la fusion des historiques de deux projets qui ont commencé leur vie indépendamment l’un de l’autre. Comme c’est une occasion très rare, il n’existe pas de variable de configuration pour activer cette option par défaut et elle ne sera pas ajoutée.</p> <div class="paragraph"> <p>Seulement utile lors de la fusion.</p> </div> </dd> </dl> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull--r"> <a class="anchor" href="#git-pull--r"></a>-r </dt> <dt class="hdlist1" id="git-pull---rebasefalsetruemergesinteractive"> <a class="anchor" href="#git-pull---rebasefalsetruemergesinteractive"></a>--rebase[=(false|true|merges|interactive)] </dt> <dd> <p>Lorsque c’est le cas, rebaser la branche actuelle sur la branche amont après l’avoir récupérée. S’il existe une branche de suivi à distance correspondant à la branche en amont et que la branche en amont a été rebasée depuis la dernière extraction, le rebasage utilise cette information pour éviter de rebaser des modifications non locales.</p> <div class="paragraph"> <p>Lorsqu’il est défini sur <code>merges</code>, rebaser en utilisant <code>git rebase --rebase-merges</code> de sorte que les commits de fusion locaux soient inclus dans le rebasage (voir <a href='/docs/git-rebase/fr'>git-rebase[1]</a> pour plus de détails).</p> </div> <div class="paragraph"> <p>Lorsqu’elle est fausse, fusionner la branche amont dans la branche actuelle.</p> </div> <div class="paragraph"> <p>Lorsque vous êtes en mode <code>interactive</code>, activer le mode interactif de rebase.</p> </div> <div class="paragraph"> <p>Voir <code>pull.rebase</code>, <code>branch. <nom> .rebase</code> et <code>branch.autoSetupRebase</code> dans <a href='/docs/git-config/fr'>git-config[1]</a> si vous voulez que <code>git pull</code> utilise toujours <code>--rebase</code> au lieu de fusionner .</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> C’est un mode de fonctionnement potentiellement <em>dangereux</em>. Il réécrit l’historique, ce qui n’est pas de bon augure lorsque vous avez déjà publié cette historique. N’utilisez <strong>pas</strong> cette option à moins d’avoir lu attentivement <a href='/docs/git-rebase/fr'>git-rebase[1]</a>. </td> </tr> </table> </div> </dd> <dt class="hdlist1" id="git-pull---no-rebase"> <a class="anchor" href="#git-pull---no-rebase"></a>--no-rebase </dt> <dd> <p>C’est un raccourci pour --rebase=false.</p> </dd> </dl> </div> </div> <div class="sect2"> <h3 id="_options_relatives_au_rapatriement"><a class="anchor" href="#_options_relatives_au_rapatriement"></a>Options relatives au rapatriement</h3> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull---no-all"> <a class="anchor" href="#git-pull---no-all"></a>--[no-]all </dt> <dd> <p>Récupérer tous les distants, à l’exception de ceux qui ont la variable de configuration <code>remote.<nom>.skipFetchAll</code> renseignée. Cela surcharge la variable de configuration <code>fetch.all</code> .</p> </dd> <dt class="hdlist1" id="git-pull--a"> <a class="anchor" href="#git-pull--a"></a>-a </dt> <dt class="hdlist1" id="git-pull---append"> <a class="anchor" href="#git-pull---append"></a>--append </dt> <dd> <p>Ajouter les noms de références et les noms d’objets des références récupérées au contenu existant de <code>.git/FETCH_HEAD</code>. Sans cette option, les anciennes données dans <code>.git/FETCH_HEAD</code> seront écrasées.</p> </dd> <dt class="hdlist1" id="git-pull---atomic"> <a class="anchor" href="#git-pull---atomic"></a>--atomic </dt> <dd> <p>Utiliser une transaction atomique pour mettre à jour les références locales. Soit toutes les références sont mises à jour, soit, en cas d’erreur, aucune référence n’est mise à jour.</p> </dd> <dt class="hdlist1" id="git-pull---depthltprofondeurgt"> <a class="anchor" href="#git-pull---depthltprofondeurgt"></a>--depth=<profondeur> </dt> <dd> <p>Limiter la récupération au nombre spécifié de commits à partir du sommet de l’historique de chaque branche distante. Si vous allez chercher dans un dépôt "superficiel" créé par <code>git clone</code> avec l’option <code>--depth=<profondeur></code> (voir <a href='/docs/git-clone/fr'>git-clone[1]</a>), approfondir ou raccourcir l’historique jusqu’au nombre spécifié de validations. Les étiquettes pour les commits approfondis ne sont pas récupérées.</p> </dd> <dt class="hdlist1" id="git-pull---deepenltprofondeurgt"> <a class="anchor" href="#git-pull---deepenltprofondeurgt"></a>--deepen=<profondeur> </dt> <dd> <p>Semblable à --depth, sauf que cela précise le nombre de commits à partir de la limite actuelle superficielle au lieu du sommet de l’historique de chaque branche distante.</p> </dd> <dt class="hdlist1" id="git-pull---shallow-sinceltdategt"> <a class="anchor" href="#git-pull---shallow-sinceltdategt"></a>--shallow-since=<date> </dt> <dd> <p>Approfondir ou raccourcir l’historique d’un dépôt superficiel pour inclure tous les commits accessibles après <date>.</p> </dd> <dt class="hdlist1" id="git-pull-code--shallow-excludeltrfgtcode"> <a class="anchor" href="#git-pull-code--shallow-excludeltrfgtcode"></a><code>--shallow-exclude=<réf></code> </dt> <dd> <p>Approfondir ou raccourcir l’historique d’un dépôt superficiel afin d’exclure les commits accessibles depuis une branche ou une étiquette distante spécifiée. Cette option peut être spécifiée plusieurs fois.</p> </dd> <dt class="hdlist1" id="git-pull---unshallow"> <a class="anchor" href="#git-pull---unshallow"></a>--unshallow </dt> <dd> <p>Si le dépôt de sources est complet, convertir un dépôt superficiel en un dépôt complet, en supprimant toutes les limitations imposées par les dépôts superficiels.</p> <div class="paragraph"> <p>Si le dépôt source est superficiel, il faut en extraire le plus possible afin que le dépôt actuel ait le même historique que le dépôt source.</p> </div> </dd> <dt class="hdlist1" id="git-pull---update-shallow"> <a class="anchor" href="#git-pull---update-shallow"></a>--update-shallow </dt> <dd> <p>Par défaut, lors de la récupération d’un dépôt superficiel, <code>git fetch</code> refuse les références qui nécessitent une mise à jour de .git/shallow. Cette option met à jour le fichier .git/shallow et accepte de telles références.</p> </dd> <dt class="hdlist1" id="git-pull---negotiation-tipltcommitglobgt"> <a class="anchor" href="#git-pull---negotiation-tipltcommitglobgt"></a>--negotiation-tip=<commit|glob> </dt> <dd> <p>Par défaut, Git signalera au serveur les commits accessibles à partir de toutes les références locales pour trouver les commits communs afin de réduire la taille du fichier de paquet à recevoir. Si ceci est spécifié, Git ne signalera que les commits accessibles à partir des sommets donnés. Ceci est utile pour accélérer les recherches lorsque l’utilisateur sait quelle réf locale est susceptible d’avoir des commits en commun avec la réf amont qui est recherchée.</p> <div class="paragraph"> <p>Cette option peut être spécifiée plus d’une fois ; si c’est le cas, Git signalera les commits accessibles à partir de l’un des commits donnés.</p> </div> <div class="paragraph"> <p>L’argument de cette option peut être un glob sur les noms de référence, une référence ou le SHA-1 (éventuellement abrégé) d’un commit. La spécification d’un glob équivaut à spécifier cette option plusieurs fois, une pour chaque nom de référence correspondant.</p> </div> <div class="paragraph"> <p>Voir aussi les variables de configuration <code>fetch.negotiationAlgorithm</code> et <code>push.negotiate</code> documentées dans <a href='/docs/git-config/fr'>git-config[1]</a>, ainsi que l’option <code>--negotiate-only</code> ci-après.</p> </div> </dd> <dt class="hdlist1" id="git-pull---negotiate-only"> <a class="anchor" href="#git-pull---negotiate-only"></a>--negotiate-only </dt> <dd> <p>Ne rien récupérer du serveur, et à la place afficher les ancêtres des arguments fournis par <code>--negotiation-tip=*</code>, que nous avons en commun avec le serveur.</p> <div class="paragraph"> <p>C’est incompatible avec <code>--recurse-submodules=[yes|on-demand]</code>. En interne, ceci est utilisé pour implémenter l’option <code>push.negotiate</code>, voir <a href='/docs/git-config/fr'>git-config[1]</a>.</p> </div> </dd> <dt class="hdlist1" id="git-pull---dry-run"> <a class="anchor" href="#git-pull---dry-run"></a>--dry-run </dt> <dd> <p>Montrer ce qui serait fait, sans faire de changements.</p> </dd> <dt class="hdlist1" id="git-pull---porcelain"> <a class="anchor" href="#git-pull---porcelain"></a>--porcelain </dt> <dd> <p>Afficher la sortie sur la sortie standard dans un format facile à décrypter pour les scripts. Voir la section SORTIE dans <a href='/docs/git-fetch/fr'>git-fetch[1]</a> pour plus de détails.</p> <div class="paragraph"> <p>C’est incompatible avec <code>--recurse-submodules=[yes|on-demand]</code> et a la priorité sur l’option de configuration <code>fetch.output</code>.</p> </div> </dd> <dt class="hdlist1" id="git-pull--f"> <a class="anchor" href="#git-pull--f"></a>-f </dt> <dt class="hdlist1" id="git-pull---force"> <a class="anchor" href="#git-pull---force"></a>--force </dt> <dd> <p>Lorsque <em>git fetch</em> est utilisé avec la spécification de référence <code><src>:<dst></code>, il peut refuser de mettre à jour la branche locale comme cela a été discuté dans la partie <code><spécificateur-de-référence></code> de la documentation <a href='/docs/git-fetch/fr'>git-fetch[1]</a>. Cette option permet de passer outre à ce contrôle.</p> </dd> <dt class="hdlist1" id="git-pull--k"> <a class="anchor" href="#git-pull--k"></a>-k </dt> <dt class="hdlist1" id="git-pull---keep"> <a class="anchor" href="#git-pull---keep"></a>--keep </dt> <dd> <p>Conserver le paquet téléchargé.</p> </dd> <dt class="hdlist1" id="git-pull---prefetch"> <a class="anchor" href="#git-pull---prefetch"></a>--prefetch </dt> <dd> <p>Modifier le spécificateur de référence configuré pour placer toutes les refs dans l’espace de noms <code>refs/prefetch/</code>. Voir la tâche <code>prefetch</code> dans <a href='/docs/git-maintenance/fr'>git-maintenance[1]</a>.</p> </dd> <dt class="hdlist1" id="git-pull--p"> <a class="anchor" href="#git-pull--p"></a>-p </dt> <dt class="hdlist1" id="git-pull---prune"> <a class="anchor" href="#git-pull---prune"></a>--prune </dt> <dd> <p>Avant de récupérer, supprimer toutes les références de suivi à distance qui n’existent plus sur le dépôt distant. Les étiquettes ne sont pas sujettes à l’élagage si elles ne sont récupérées qu’en raison du suivi automatique de l’étiquette par défaut ou en raison d’une option --tags. Cependant, si les étiquettes sont récupérées en raison d’un spécificateur de référence explicite (soit en ligne de commande, soit dans la configuration distante, par exemple si le dépôt distant a été cloné avec l’option --mirror), alors elles sont également sujettes à l’élagage. La fourniture de <code>--prune-tags</code> est une abréviation pour la fourniture du spécificateur de référence d’étiquette.</p> </dd> <dt class="hdlist1" id="git-pull---no-tags"> <a class="anchor" href="#git-pull---no-tags"></a>--no-tags </dt> <dd> <p>Par défaut, les étiquettes qui pointent sur des objets téléchargés à partir du dépôt distant sont récupérées et stockées localement. Cette option désactive le suivi automatique des étiquettes. Le comportement par défaut d’un distant peut être spécifié avec le paramètre remote.<nom>.tagOpt. Voir <a href='/docs/git-config/fr'>git-config[1]</a>.</p> </dd> <dt class="hdlist1" id="git-pull---refmapltspcificateur-de-rfrencegt"> <a class="anchor" href="#git-pull---refmapltspcificateur-de-rfrencegt"></a>--refmap=<spécificateur-de-référence> </dt> <dd> <p>Lors de la récupération des références listées en ligne de commande, utiliser la spécification de référence (qui peut être donnée plusieurs fois) pour mapper les références sur les branches de suivi à distance, au lieu des valeurs des variables de configuration <code>remote.*.fetch</code> pour le dépôt distant. Fournir un <code><spécificateur-de-référence></code> vide à l’option <code>--refmap</code> fait que Git ignore les spécification de référence configurées et se fie entièrement aux spécifications de référence fournies comme arguments de la ligne de commande. Voir la section sur les "Branches de suivi à distance configurées" pour plus de détails.</p> </dd> <dt class="hdlist1" id="git-pull--t"> <a class="anchor" href="#git-pull--t"></a>-t </dt> <dt class="hdlist1" id="git-pull---tags"> <a class="anchor" href="#git-pull---tags"></a>--tags </dt> <dd> <p>Récupérer toutes les étiquettes à distance (c’est-à-dire, récupérer les étiquettes <code>refs/tags/*</code> dans les étiquettes locales avec le même nom), en plus de tout ce qui serait récupéré autrement. L’utilisation de cette seule option ne soumet pas les étiquettes à un élagage, même si --prune est utilisé (bien que les étiquettes puissent être élaguées de toute façon si elles sont aussi la destination d’une spécification de référence explicite ; voir <code>--prune</code>).</p> </dd> <dt class="hdlist1" id="git-pull--j"> <a class="anchor" href="#git-pull--j"></a>-j </dt> <dt class="hdlist1" id="git-pull---jobsltngt"> <a class="anchor" href="#git-pull---jobsltngt"></a>--jobs=<n> </dt> <dd> <p>Nombre d’enfants parallèles à utiliser pour toutes les formes d’extraction.</p> <div class="paragraph"> <p>Si l’option <code>--multiple</code> a été spécifiée, les différents distants seront récupérés en parallèle. Si plusieurs sous-modules sont récupérés, ils seront récupérés en parallèle. Pour les contrôler indépendamment, utilisez les paramètres de configuration <code>fetch.parallel</code> et <code>submodule.fetchJobs</code> (voir <a href='/docs/git-config/fr'>git-config[1]</a>).</p> </div> <div class="paragraph"> <p>Généralement, les recherches récursives parallèles et sur des distants multiples seront plus rapides. Par défaut, les recherches sont effectuées de manière séquentielle, et non en parallèle.</p> </div> </dd> <dt class="hdlist1" id="git-pull---set-upstream"> <a class="anchor" href="#git-pull---set-upstream"></a>--set-upstream </dt> <dd> <p>Si le distant est récupéré avec succès, ajouter la référence (de suivi) amont , utilisée par les commandes sans argument <a href='/docs/git-pull/fr'>git-pull[1]</a> et autres. Pour plus d’informations, voir <code>branch.<nom>.merge</code> et <code>branch.<nom>.remote</code> dans <a href='/docs/git-config/fr'>git-config[1]</a>.</p> </dd> <dt class="hdlist1" id="git-pull---upload-packltupload-packgt"> <a class="anchor" href="#git-pull---upload-packltupload-packgt"></a>--upload-pack <upload-pack> </dt> <dd> <p>Lorsqu’il est donné, et que le dépôt à récupérer est géré par <em>git fetch-pack</em>, <code>--exec=<upload-pack></code> est passé à la commande pour spécifier le chemin par défaut pour la commande exécutée à l’autre bout.</p> </dd> <dt class="hdlist1" id="git-pull---progress"> <a class="anchor" href="#git-pull---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-pull--oltoptiongt"> <a class="anchor" href="#git-pull--oltoptiongt"></a>-o <option> </dt> <dt class="hdlist1" id="git-pull---server-optionltoptiongt"> <a class="anchor" href="#git-pull---server-optionltoptiongt"></a>--server-option=<option> </dt> <dd> <p>Transmettre la chaîne donnée au serveur lors d’une communication utilisant la version 2 du protocole. La chaîne donnée ne doit pas contenir de caractère NUL ou LF. La gestion par le serveur des options du serveur, y compris les options inconnues, est spécifique au serveur. Lorsque plusieurs <code>--server-option=<option></code> sont donnés, ils sont tous envoyés à l’autre côté dans l’ordre indiqué sur la ligne de commande. Quand aucun <code>--server-option=<option>`est fourni sur la ligne de commande, les valeurs de la variable de configuration `remote.<nom>.serverOption</code> sont utilisées à la place.</p> </dd> <dt class="hdlist1" id="git-pull---show-forced-updates"> <a class="anchor" href="#git-pull---show-forced-updates"></a>--show-forced-updates </dt> <dd> <p>Par défaut, git vérifie si une branche est mise à jour de force pendant la récupération. Cela peut être désactivé via fetch.showForcedUpdates, mais l’option --show-forced-updates garantit que cette vérification a lieu. Voir <a href='/docs/git-config/fr'>git-config[1]</a>.</p> </dd> <dt class="hdlist1" id="git-pull---no-show-forced-updates"> <a class="anchor" href="#git-pull---no-show-forced-updates"></a>--no-show-forced-updates </dt> <dd> <p>Par défaut, git vérifie si une branche est mise à jour de force pendant la récupération. Passer --no-show-forced-updates ou régler fetch.showForcedUpdates à false pour sauter cette vérification pour des raisons de performance. Si elle est utilisée pendant <em>git-pull</em>, l’option --ff-only vérifiera toujours les mises à jour forcées avant de tenter une mise à jour rapide. Voir <a href='/docs/git-config/fr'>git-config[1]</a>.</p> </dd> <dt class="hdlist1" id="git-pull--4"> <a class="anchor" href="#git-pull--4"></a>-4 </dt> <dt class="hdlist1" id="git-pull---ipv4"> <a class="anchor" href="#git-pull---ipv4"></a>--ipv4 </dt> <dd> <p>Utiliser uniquement les adresses IPv4, en ignorant les adresses IPv6.</p> </dd> <dt class="hdlist1" id="git-pull--6"> <a class="anchor" href="#git-pull--6"></a>-6 </dt> <dt class="hdlist1" id="git-pull---ipv6"> <a class="anchor" href="#git-pull---ipv6"></a>--ipv6 </dt> <dd> <p>Utiliser uniquement les adresses IPv6, en ignorant les adresses IPv4.</p> </dd> </dl> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull-ltdptgt"> <a class="anchor" href="#git-pull-ltdptgt"></a><dépôt> </dt> <dd> <p>Le dépôt "distant" qui est la source d’une opération de récupération ou de tirage. Ce paramètre peut être soit une URL (voir la section <a href="#URLS">URLS GIT</a> ci-dessous) soit le nom d’un remote (voir la section <a href="#REMOTES">DISTANTS</a> ci-dessous).</p> </dd> <dt class="hdlist1" id="git-pull-ltspcificateur-de-rfrencegt"> <a class="anchor" href="#git-pull-ltspcificateur-de-rfrencegt"></a><spécificateur-de-référence> </dt> <dd> <p>Préciser les références à récupérer et les références locales à mettre à jour. Lorsqu’aucun <spéc-de-réf> n’apparaît sur la ligne de commande, les références à récupérer sont lues à partir des variables <code>remote.<dépôt>.fetch</code> à la place (voir la section "<a href="#BRANCHES DE SUIVI À DISTANCE CONFIGURÉES">[BRANCHES DE SUIVI À DISTANCE CONFIGURÉES]</a>" dans <a href='/docs/git-fetch/fr'>git-fetch[1]</a>).</p> <div class="paragraph"> <p>Le format d’un paramètre <spéc-de-réf> est un plus <code>+</code> optionnel, suivi de la source <src>, suivi de deux points <code>:</code>, suivi de la destination <dst>. Les deux points peuvent être omis lorsque <dst> est vide. <src> est typiquement une réf, ou un motif glob avec un unique <code>*</code> qui est utilisé pour trouver un ensemble de réfs mais cela peut aussi être un nom d’objet hexadécimal entier.</p> </div> <div class="paragraph"> <p>Un <spec-de-réf> peut contenir un <code>*</code> dans son <src> pour indiquer une simple correspondance de motif. Un tel refspec fonctionne comme un motif qui correspond à n’importe quelle ref avec le même préfixe. Un motif <spec-de-réf> doit avoir un et un seul <code>*</code> dans les deux <src> et <dst>. Il va faire correspondre les références à la destination en remplaçant le <code>*</code> par le contenu correspondant de la source.</p> </div> <div class="paragraph"> <p>Si un spécificateur de référence est préfixé par <code>^</code>, il sera interprété comme un spécificateur de référence négatif. Plutôt que de spécifier les références à récupérer ou les références locales à mettre à jour, un tel spécificateur de référence spécifiera les références à exclure. Une référence sera considérée comme correspondante si elle correspond à au moins une référence positive, et ne correspond à aucune référence négative. Les spécificateurs de référence négatifs peuvent être utiles pour restreindre le champ d’application d’un spécificateur modèle de référence afin qu’il n’inclue pas de références spécifiques. Les spécificateurs de référence négatifs peuvent eux-mêmes être des spécificateurs modèles de référence . Cependant, ils ne peuvent contenir qu’un <src> et ne peuvent pas spécifier un <dst>. Les noms d’objets hexagonaux complets ne sont pas non plus pris en charge.</p> </div> <div class="paragraph"> <p><code>tag <étiquette></code> signifie la même chose que <code>refs/tags/<tag>:refs/tags/<tag></code> ; cela demande de tout récupérer jusqu’à l’étiquette donnée.</p> </div> <div class="paragraph"> <p>La référence distante qui correspond à <src> est récupérée, et si <dst> n’est pas une chaîne vide, une tentative est faite pour mettre à jour la référence locale qui lui correspond.</p> </div> <div class="paragraph"> <p>Le fait que cette mise à jour soit autorisée sans <code>--force</code> dépend de l’espace de noms de référence vers lequel elle est récupérée, du type d’objet récupéré, et si la mise à jour est considérée comme une avance rapide. Généralement, les mêmes règles s’appliquent pour la récupération que pour la poussée, voir la section <code><spéc-de-réf>...</code> de <a href='/docs/git-push/fr'>git-push[1]</a> pour les connaître. Les exceptions à ces règles particulières à <em>git fetch</em> sont notées ci-dessous.</p> </div> <div class="paragraph"> <p>Jusqu’à la version 2.20 de Git, et contrairement à ce qui se passe avec <a href='/docs/git-push/fr'>git-push[1]</a>, toute mise à jour de <code>refs/tags/*</code> serait acceptée sans <code>+</code> dans la spéc-de-réf (ou <code>--force</code>). Lors de la récupération, nous considérons sans distinction toutes les mises à jour d’étiquettes depuis un dépôt distance comme des récupérations forcées. Depuis la version 2.20 de Git, la récupération pour mettre à jour les <code>refs/tags/*</code> fonctionne de la même manière que lors de la poussée. C’est-à-dire que toute mise à jour sera rejetée sans "+" dans le spécificateur de référence (ou <code>--force</code>).</p> </div> <div class="paragraph"> <p>Contrairement à une poussée avec <a href='/docs/git-push/fr'>git-push[1]</a>, toute mise à jour en dehors de <code>refs/{tags,heads}/*</code> sera acceptée sans <code>+</code> dans le spéc-de-réf (ou <code>--force</code>), que ce soit en échangeant par exemple un objet arbre pour un blob, ou un commit pour un autre commit qui n’a pas le commit précédent comme ancêtre etc.</p> </div> <div class="paragraph"> <p>Contrairement à une poussée avec <a href='/docs/git-push/fr'>git-push[1]</a>, il n’y a pas de configuration qui modifie ces règles, et rien de tel qu’un crochet pré-récupération <code>pre-fetch</code> analogue à celui de pré-réception`pre-receive`.</p> </div> <div class="paragraph"> <p>Comme pour la poussée avec <a href='/docs/git-push/fr'>git-push[1]</a>, toutes les règles décrites ci-dessus concernant ce qui n’est pas autorisé comme une mise à jour, peuvent être annulées en ajoutant un "+" optionnel à un spécificateur de référence (ou en utilisant l’option de ligne de commande <code>--force</code>). La seule exception à cette règle est qu’aucun forçage ne fera accepter à l’espace de noms <code>refs/heads/*</code> un objet non commit.</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> Lorsque la branche distante que vous voulez récupérer est connue pour être régulièrement rembobinée et rebasée, on s’attend à ce que son nouveau sommet ne soit pas un descendant de son sommet précédent (telle qu’il était stocké dans votre branche de suivi à distance la dernière fois que vous l’avez récupéré). Vous pouvez utiliser le signe "+" pour indiquer que des mises à jour non en avance rapide seront nécessaires pour ces branches. Il n’y a aucun moyen de déterminer ou de déclarer qu’une branche sera rendue disponible dans un dépôt avec ce comportement ; l’utilisateur qui tire doit simplement savoir que c’est le modèle d’utilisation attendu pour une branche. </td> </tr> </table> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> Il y a une différence entre le fait de lister plusieurs <spéc-de-réf> directement sur la ligne de commande <em>git pull</em> et le fait d’avoir plusieurs entrées <code>remote.<dépôt>.fetch</code> dans votre configuration pour un <dépôt> et d’exécuter une commande <em>git pull</em> sans aucun paramètre <spéc-de-réf> explicite. Les <spéc-de-réf>s listés explicitement sur la ligne de commande sont toujours fusionnés dans la branche actuelle après avoir été récupérées. En d’autres termes, si vous listez plus d’une référence distante, <em>git pull</em> créera une fusion Octopus. D’un autre côté, si vous n’indiquez aucun paramètre <spéc-de-réf> explicite sur la ligne de commande, <em>git pull</em> récupérera tous les <spéc-de-réf>s qu’il trouve dans la configuration <code>remote.<dépôt>.fetch</code> et fusionnera seulement le premier <réf-de-spéc> trouvé dans la branche actuelle. C’est parce que faire un Octopus à partir de références distantes est rarement fait, alors que garder la trace de plusieurs têtes distantes en un seul coup en en récupérant plusieurs est souvent utile. </td> </tr> </table> </div> </dd> </dl> </div> </div> </div> </div> <div class="sect1"> <h2 id="_url_git"><a class="anchor" href="#_url_git"></a>URL GIT<a id="URLS"></a></h2> <div class="sectionbody"> <div class="paragraph"> <p>En général, les URL contiennent une information sur le protocole de transport, l’adresse du serveur distant et le chemin vers le dépôt. En fonction du protocole de transport, certaines de ces informations peuvent être absentes.</p> </div> <div class="paragraph"> <p>Git supporte les protocoles ssh, git, http et https (en plus, ftp et ftps peuvent être utilisés pour la récupération, mais ceux-ci sont inefficaces et déconseillés ; ne les utilisez pas).</p> </div> <div class="paragraph"> <p>Le transport natif (c’est-à-dire l’URL <code>git://</code>) n’utilise pas d’authentification et ne devrait être utilisé qu’avec précaution sur des réseaux non sécurisés.</p> </div> <div class="paragraph"> <p>Les syntaxes suivantes peuvent être utilisées avec eux :</p> </div> <div class="ulist"> <ul> <li> <p><code>ssh://[<utilisateur>@]<hôte>[:<port>]/<chemin-du-dépôt-git></code></p> </li> <li> <p><code>git://<hôte>[:<port>]/<chemin-du-dépôt-git></code></p> </li> <li> <p>git://<hôte>:<port>]/<chemin-du-dépôt-git>`</p> </li> <li> <p>git://<hôte>[:<port>]/<chemin-du-dépôt-git>`</p> </li> </ul> </div> <div class="paragraph"> <p>Une syntaxe alternative de type scp peut aussi être utilisée pour le protocole ssh :</p> </div> <div class="ulist"> <ul> <li> <p><code>[<utilisateur>@]<hôte>:/<chemin-du-dépôt-git></code></p> </li> </ul> </div> <div class="paragraph"> <p>Cette syntaxe n’est reconnue que s’il n’y a pas de barre oblique devant les premiers deux-points. Cela permet de prendre en charge des chemins locaux qui contiendraient des deux-points. Par exemple, le chemin local <code>toto:titi</code> pourrait être spécifié comme un chemin absolu ou <code>./toto:titi</code> pour éviter d’être interprété comme une url ssh.</p> </div> <div class="paragraph"> <p>Les protocoles ssh et git supportent en plus l’expansion <code>~<utilisateur></code> :</p> </div> <div class="ulist"> <ul> <li> <p><code>ssh://[<utilisateur>@]<hôte>[:<port>]/~<utilisateur>/<chemin-du-dépôt-git></code></p> </li> <li> <p><code>git://<hôte>[:<port>]/~<utilisateur>/<chemin-du-dépôt-git></code></p> </li> <li> <p><code>[<utilisateur>@]<hôte>:~<utilisateur>/<chemin-du-dépôt-git></code></p> </li> </ul> </div> <div class="paragraph"> <p>Pour les dépôts locaux, supportés aussi nativement par Git, les syntaxes suivantes sont aussi admises :</p> </div> <div class="ulist"> <ul> <li> <p><code>/chemin/du/dépôt.git/</code></p> </li> <li> <p><code>file:///chemin/du/dépôt.git/</code></p> </li> </ul> </div> <div class="paragraph"> <p>Ces deux syntaxes sont à peu près équivalentes, à part lors d’un clonage, où la première implique l’option <code>--local</code>. Voir <a href='/docs/git-clone/fr'>git-clone[1]</a> pour plus de détails.</p> </div> <div class="paragraph"> <p><code>git clone</code>, <code>git fetch</code> et <code>git pull</code>, mais pas <code>git push</code>, acceptent également un fichier paquet approprié. Voir <a href='/docs/git-bundle/fr'>git-bundle[1]</a>.</p> </div> <div class="paragraph"> <p>Quand Git ne sait pas comment gérer un certain protocole, il essaie d’utiliser l’assistant de gestion de distant <code>remote-<transport></code>, s’il existe. Pour requérir l’emploi d’un assistant spécifique, la syntaxe suivante peut être utilisée :</p> </div> <div class="ulist"> <ul> <li> <p><code><transport>::<adresse></code></p> </li> </ul> </div> <div class="paragraph"> <p>où <em><adresse></em> peut être un chemin, un serveur et chemin, ou une chaîne URL arbitraire reconnue par l’assistant de gestion de distant invoqué. Voir <a href='/docs/gitremote-helpers/fr'>gitremote-helpers[7]</a> pour plus de détails.</p> </div> <div class="paragraph"> <p>S’il y a un grand nombre de dépôts aux noms similaires et que vous souhaitez utiliser un format différent pour eux (de telle sorte que les URL que vous utiliserez seront réécrites en URL fonctionnelles), vous pouvez créer une section de configuration de la forme :</p> </div> <div class="verseblock"> <pre class="content"> [url "<em><veritable-base-d-url></em>"] insteadOf = <em><autre-base-d’URL></em></pre> </div> <div class="paragraph"> <p>Par exemple, avec ceci :</p> </div> <div class="listingblock"> <div class="content"> <pre> [url "git://git.host.xz/"] insteadOf = host.xz:/chemin/vers/ insteadOf = travail:</pre> </div> </div> <div class="paragraph"> <p>une URL comme « travail:depot.git » ou « host.xz:/chemin/vers/depot.git » sera réécrite dans tout contexte qui requiert une URL en « git://git.host.xz/depot.git ».</p> </div> <div class="paragraph"> <p>Si vous souhaitez réécrire les URL seulement pour pousser, vous pouvez créer une section de configuration de la forme :</p> </div> <div class="verseblock"> <pre class="content"> [url "<em><veritable-base-d’URL></em>"] pushInsteadOf = <em><autre-base-d-URL></em></pre> </div> <div class="paragraph"> <p>Par exemple, avec ceci :</p> </div> <div class="listingblock"> <div class="content"> <pre> [url "ssh://exemple.org/"] pushInsteadOf = git://exemple.org/</pre> </div> </div> <div class="paragraph"> <p>une URL telle que « git://exemple.org/chemin/vers/le/depot.git » sera réécrite en « ssh://exemple.org/chemin/vers/le/depot.git » pour les poussées, mais les tirages utiliseront encore l’URL originale.</p> </div> </div> </div> <div class="sect1"> <h2 id="_distants"><a class="anchor" href="#_distants"></a>DISTANTS<a id="REMOTES"></a></h2> <div class="sectionbody"> <div class="paragraph"> <p>Le nom de l’un des éléments suivants peut être utilisé à la place d’une URL en tant qu’argument <code><dépôt></code> :</p> </div> <div class="ulist"> <ul> <li> <p>un distant dans le fichier de configuration Git : <code>$GIT_DIR/config</code>,</p> </li> <li> <p>un fichier dans le répertoire <code>$GIT_DIR/remotes</code>, ou</p> </li> <li> <p>un fichier dans le répertoire <code>$GIT_DIR/branches</code>.</p> </li> </ul> </div> <div class="paragraph"> <p>Toutes ces options vous permettent également d’omettre le spécificateur de référence de la ligne de commande car elles contiennent chacune un spécificateur de référence que git utilisera par défaut.</p> </div> <div class="sect2"> <h3 id="_distant_nommé_dans_le_fichier_de_configuration"><a class="anchor" href="#_distant_nommé_dans_le_fichier_de_configuration"></a>distant nommé dans le fichier de configuration</h3> <div class="paragraph"> <p>Vous pouvez choisir de fournir le nom d’un distant que vous aviez précédemment configuré en utilisant <a href='/docs/git-remote/fr'>git-remote[1]</a>, <a href='/docs/git-config/fr'>git-config[1]</a> ou même par une modification manuelle du fichier <code>$GIT_DIR/config</code>. L’URL de ce distant sera utilisée pour accéder au dépôt. Le spécificateur de référence de ce distant sera utilisé par défaut lorsque vous ne fournissez pas de spécificateur de référence sur la ligne de commande. L’entrée dans le fichier de configuration apparaîtra comme ceci :</p> </div> <div class="listingblock"> <div class="content"> <pre> [remote "<nom>"] url = <URL> pushurl = <url-poussée> push = <spéc-de-réf> fetch = <spéc-de-réf></pre> </div> </div> <div class="paragraph"> <p>Le <code><url-de-poussée></code> est utilisé uniquement pour les poussées. Il est optionnel et sa valeur par défaut est <code><URL></code>. Pousser vers un distant affecte tous les urls-de-poussés définis ou tous les urls définis si aucun url-de-poussée n’est défini. Fetch, cependant, ne récupérera que le premier url défini si plusieurs urls sont définis.</p> </div> </div> <div class="sect2"> <h3 id="_fichier_nommé_dans_git_dirremotes"><a class="anchor" href="#_fichier_nommé_dans_git_dirremotes"></a>Fichier nommé dans <code>$GIT_DIR/remotes</code></h3> <div class="paragraph"> <p>Vous pouvez choisir de fournir le nom d’un fichier dans <code>$GIT_DIR/remotes</code>. L’URL dans ce fichier sera utilisée pour accéder au dépôt. Le spécificateur de référence dans ce fichier sera utilisé par défaut lorsque vous ne fournissez pas de spécificateur de référence sur la ligne de commande. Ce fichier doit avoir le format suivant :</p> </div> <div class="listingblock"> <div class="content"> <pre> URL: un des format d'URL ci-dessus Push: <spéc-de-réf> Pull: <spéc-de-réf></pre> </div> </div> <div class="paragraph"> <p>Les lignes <code>Push:</code>" sont utilisées par <em>git push</em> et les lignes <code>Pull:</code> sont utilisées par <em>git pull</em> et <em>git fetch</em>. Des lignes <code>Push:</code> et <code>Pull:</code> multiples peuvent être spécifiées pour des mappages supplémentaires de branches.</p> </div> </div> <div class="sect2"> <h3 id="_fichier_nommé_dans_git_dirbranches"><a class="anchor" href="#_fichier_nommé_dans_git_dirbranches"></a>Fichier nommé dans <code>$GIT_DIR/branches</code></h3> <div class="paragraph"> <p>Vous pouvez choisir de fournir le nom d’un fichier dans <code>$GIT_DIR/branches</code>. L’URL de ce fichier sera utilisée pour accéder au dépôt. Ce fichier doit avoir le format suivant :</p> </div> <div class="listingblock"> <div class="content"> <pre> <URL>#<tête></pre> </div> </div> <div class="paragraph"> <p><code><URL></code> est obligatoire ; <code>#<tête></code> est facultatif.</p> </div> <div class="paragraph"> <p>En fonction de l’opération, git utilisera l’un des spécificateurs de référence suivants, si vous n’en fournissez pas un en ligne de commande. <code><branche></code> est le nom de ce fichier dans <code>$GIT_DIR/branches</code> et <code><tête></code> vaut par défaut <code>master</code>.</p> </div> <div class="paragraph"> <p>git fetch utilise :</p> </div> <div class="listingblock"> <div class="content"> <pre> refs/heads/<tête>:refs/heads/<branche></pre> </div> </div> <div class="paragraph"> <p>git push utilise :</p> </div> <div class="listingblock"> <div class="content"> <pre> HEAD:refs/heads/<tête></pre> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_les_stratégies_de_fusion"><a class="anchor" href="#_les_stratégies_de_fusion"></a>LES STRATÉGIES DE FUSION</h2> <div class="sectionbody"> <div class="paragraph"> <p>Le mécanisme de fusion (commandes <code>git merge</code> et <code>git pull</code>) permet de choisir les <em>stratégies de fusion</em> du backend avec l’option <code>-s</code>. Certaines stratégies peuvent également prendre leurs propres options, qui peuvent être passées en donnant des arguments <code>-X<option></code> à <code>git merge</code> et/ou <code>git pull</code>.</p> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull-ort"> <a class="anchor" href="#git-pull-ort"></a>ort </dt> <dd> <p>C’est la stratégie de fusion par défaut lors du tirage ou de la fusion d’une branche. Cette stratégie ne peut résoudre que deux têtes en utilisant un algorithme de fusion à trois voies. Lorsqu’il y a plus d’un ancêtre commun qui peut être utilisé pour la fusion à trois, il crée un arbre fusionné des ancêtres communs et l’utilise comme arbre de référence pour la fusion à trois. Il a été rapporté que cela permettait de réduire les conflits de fusion sans provoquer de fausses fusions, grâce à des tests effectués sur de vraies fusions tirées de l’historique de développement du noyau Linux 2.6. En outre, cette stratégie permet de détecter et de gérer les fusions impliquant des renommages. Elle ne peut actuellement pas utiliser les copies détectées. Le nom de cet algorithme est un acronyme ("Ostensibly Recursive’s Twin" : Jumeau ostensible de recurse) et vient du fait qu’il a été écrit pour remplacer l’algorithme par défaut précédent, <code>recursive</code>.</p> <div class="paragraph"> <p>La stratégie <em>ort</em> peut prendre les options suivantes :</p> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull-ours"> <a class="anchor" href="#git-pull-ours"></a>ours </dt> <dd> <p>Cette option oblige à résoudre les sections en conflit de manière autonome et propre en favorisant notre version (<em>our</em>). Les modifications par rapport à l’autre arbre qui n’entrent pas en conflit avec notre version se reflètent dans le résultat de la fusion. Pour un fichier binaire, tout le contenu est pris de notre côté.</p> <div class="paragraph"> <p>Il ne faut pas la confondre avec la stratégie de fusion <em>ours</em>, qui ne tient même pas compte de ce que contient l’autre arbre. Elle rejette tout ce que l’autre arbre a fait, déclarant que "notre" historique (<em>our</em>) contient tout ce qui s’y est passé.</p> </div> </dd> <dt class="hdlist1" id="git-pull-theirs"> <a class="anchor" href="#git-pull-theirs"></a>theirs </dt> <dd> <p>C’est le contraire de <em>ours</em> ; notez que, contrairement à <em>ours</em>, il n’y a pas de stratégie de fusion <em>theirs</em> avec laquelle confondre cette option de fusion.</p> </dd> <dt class="hdlist1" id="git-pull-ignore-space-change"> <a class="anchor" href="#git-pull-ignore-space-change"></a>ignore-space-change </dt> <dt class="hdlist1" id="git-pull-ignore-all-space"> <a class="anchor" href="#git-pull-ignore-all-space"></a>ignore-all-space </dt> <dt class="hdlist1" id="git-pull-ignore-space-at-eol"> <a class="anchor" href="#git-pull-ignore-space-at-eol"></a>ignore-space-at-eol </dt> <dt class="hdlist1" id="git-pull-ignore-cr-at-eol"> <a class="anchor" href="#git-pull-ignore-cr-at-eol"></a>ignore-cr-at-eol </dt> <dd> <p>Traiter les lignes avec le type de changement d’espace indiqué comme inchangées dans l’intérêt d’une fusion à trois points. Les changements d’espacement mélangés à d’autres changements de ligne ne sont pas ignorés. Voir aussi <a href='/docs/git-diff/fr'>git-diff[1]</a> <code>-b</code>, <code>-w</code>, <code>--ignore-space-at-eol</code>, et <code>--ignore-cr-at-eol</code>.</p> <div class="ulist"> <ul> <li> <p>Si "leur" version (<em>theirs</em>) n’introduit que des changements d’espacement sur une ligne, "notre" version (<em>our</em>) est utilisée ;</p> </li> <li> <p>Si "notre" version introduit des modifications dans l’espace blanc mais que "leur" version inclut un changement substantiel, "leur" version est utilisée ;</p> </li> <li> <p>Dans le cas contraire, la fusion se déroule de la manière habituelle.</p> </li> </ul> </div> </dd> <dt class="hdlist1" id="git-pull-renormalize"> <a class="anchor" href="#git-pull-renormalize"></a>renormalize </dt> <dd> <p>Il s’agit d’une extraction et d’un validation virtuelle des trois étapes de tout fichier qui nécessite une fusion à trois points. Cette option est destinée à être utilisée lors de la fusion de branches avec différents filtres clean ou règles de normalisation de fin de ligne. Voir "Fusion de branches avec différents attributs de validation/extraction" dans <a href='/docs/gitattributes/fr'>gitattributes[5]</a> pour plus de détails.</p> </dd> <dt class="hdlist1" id="git-pull-no-renormalize"> <a class="anchor" href="#git-pull-no-renormalize"></a>no-renormalize </dt> <dd> <p>Désactiver l’option <code>renormalize</code>. Cela surcharge la variable de configuration <code>merge.renormalize</code> .</p> </dd> <dt class="hdlist1" id="git-pull-find-renamesltngt"> <a class="anchor" href="#git-pull-find-renamesltngt"></a>find-renames[=<n>] </dt> <dd> <p>Activer la détection de renommage, en fixant éventuellement le seuil de similarité. C’est la valeur par défaut. Cela surcharge la variable de configuration <code>merge.renames</code>. Voir aussi <a href='/docs/git-diff/fr'>git-diff[1]</a> <code>--find-renames</code>.</p> </dd> <dt class="hdlist1" id="git-pull-rename-thresholdltngt"> <a class="anchor" href="#git-pull-rename-thresholdltngt"></a>rename-threshold=<n> </dt> <dd> <p>Synonyme obsolète pour <code>find-renames=<n></code>.</p> </dd> <dt class="hdlist1" id="git-pull-subtreeltchemingt"> <a class="anchor" href="#git-pull-subtreeltchemingt"></a>subtree[=<chemin>] </dt> <dd> <p>Cette option est une forme plus avancée de stratégie <em>subtree</em>, où la stratégie fait une estimation de la façon dont deux arbres doivent être déplacés pour correspondre l’un à l’autre lors de la fusion. Au lieu de cela, le chemin spécifié est préfixé (ou tronqué au debut) pour faire correspondre la forme de deux arbres.</p> </dd> </dl> </div> </dd> <dt class="hdlist1" id="git-pull-recursive"> <a class="anchor" href="#git-pull-recursive"></a>recursive </dt> <dd> <p>Cela ne peut résoudre que deux têtes en utilisant un algorithme de fusion à trois voies. Lorsqu’il y a plus d’un ancêtre commun qui peut être utilisé pour la fusion à trois, il crée un arbre fusionné des ancêtres communs et l’utilise comme arbre de référence pour la fusion à trois. Il a été rapporté que cela permettait de réduire les conflits de fusion sans provoquer de fausses fusions, grâce à des tests effectués sur de vraies fusions tirées de l’historique de développement du noyau Linux 2.6. En outre, cela permet de détecter et de gérer les fusions impliquant des renommages. Cela n’utilise les copies détectées. C’était la stratégie par défaut lors de la résolution de deux sommets pour Git depuis la version v0.99.9k jusqu’à v2.33.0.</p> <div class="paragraph"> <p>La stratégie <em>recursive</em> utilise les mêmes options que <em>ort</em>. Cependant, il y a trois options supplémentaires que <em>ort</em> ignore (non documentées ci-dessus) et qui sont potentiellement utiles avec la stratégie <em>recursive</em> :</p> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-pull-patience"> <a class="anchor" href="#git-pull-patience"></a>patience </dt> <dd> <p>Synonyme obsolète pour <code>diff-algorithm=patience</code>.</p> </dd> <dt class="hdlist1" id="git-pull-diff-algorithmpatienceminimalhistogrammyers"> <a class="anchor" href="#git-pull-diff-algorithmpatienceminimalhistogrammyers"></a>diff-algorithm=[patience|minimal|histogram|myers] </dt> <dd> <p>Utiliser un algorithme de diff différent lors des fusions, ce qui peut aider à éviter les erreurs de fusion dues à des lignes de correspondance sans importance (comme des accolades de fonctions distinctes). Voir aussi <a href='/docs/git-diff/fr'>git-diff[1]</a> <code>--diff-algorithm</code>. Notez que <code>ort</code> utilise spécifiquement <code>diff-algorithm=histogram</code>, alors que <code>recursive</code> utilise par défaut le paramètre de configuration <code>diff.algorithm</code>.</p> </dd> <dt class="hdlist1" id="git-pull-no-renames"> <a class="anchor" href="#git-pull-no-renames"></a>no-renames </dt> <dd> <p>Désactiver la détection de renommage. Ceci annule la variable de configuration <code>merge.renames</code>. Voir aussi <a href='/docs/git-diff/fr'>git-diff[1]</a> <code>--no-renames</code>.</p> </dd> </dl> </div> </dd> <dt class="hdlist1" id="git-pull-resolve"> <a class="anchor" href="#git-pull-resolve"></a>resolve </dt> <dd> <p>Cela ne peut résoudre que deux têtes (c’est-à-dire la branche actuelle et une autre branche dont vous avez tiré) en utilisant un algorithme de fusion à trois points. Cela essaie de détecter avec soin les ambiguïtés de la fusion croisée. Les renommages ne sont pas gérés.</p> </dd> <dt class="hdlist1" id="git-pull-octopus"> <a class="anchor" href="#git-pull-octopus"></a>octopus </dt> <dd> <p>Cela permet de résoudre les cas à plus de deux têtes, mais refuse de faire une fusion complexe qui nécessite une résolution manuelle. C’est principalement destiné à être utilisé pour regrouper les têtes de branches thématiques. C’est la stratégie de fusion par défaut lorsque l’on tire ou fusionne plusieurs branches.</p> </dd> <dt class="hdlist1" id="git-pull-ours-1"> <a class="anchor" href="#git-pull-ours-1"></a>ours </dt> <dd> <p>Cela résout un nombre quelconque de têtes, mais l’arbre résultant de la fusion est toujours celui de la tête de la branche actuelle, ignorant effectivement toutes les modifications provenant de toutes les autres branches. C’est censé être utilisé pour remplacer l’ancienne historique du développement des branches latérales. Notez que cette stratégie est différente de l’option -Xours de la stratégie de fusion <em>recursive</em>.</p> </dd> <dt class="hdlist1" id="git-pull-subtree"> <a class="anchor" href="#git-pull-subtree"></a>subtree </dt> <dd> <p>Il s’agit d’une stratégie <code>ort</code> modifiée. Lors de la fusion des arbres A et B, si B correspond à un sous-arbre de A, B est d’abord ajusté pour correspondre à la structure arborescente de A, au lieu de lire les arbres au même niveau. Cet ajustement est également effectué sur l’arbre de l’ancêtre commun.</p> </dd> </dl> </div> <div class="paragraph"> <p>Avec les stratégies qui utilisent la fusion à trois points (y compris la fusion par défaut, <em>ort</em>), si une modification est effectuée sur les deux branches, mais qu’elle est ensuite inversée sur l’une des branches, ce changement sera présent dans le résultat de la fusion ; certaines personnes trouvent ce comportement déroutant. Cela se produit parce que seules les têtes et la base de la fusion sont prises en compte lors d’une fusion, et non le commit individuel. L’algorithme de fusion considère donc le changement inversé comme n’étant pas un changement du tout, et substitue la version modifiée à la place.</p> </div> </div> </div> <div class="sect1"> <h2 id="_comportement_par_défaut"><a class="anchor" href="#_comportement_par_défaut"></a>COMPORTEMENT PAR DÉFAUT</h2> <div class="sectionbody"> <div class="paragraph"> <p>Souvent, les gens utilisent <code>git pull</code> sans donner aucun paramètre. Traditionnellement, cela équivaut à dire <code>git pull origin</code>. Cependant, lorsque la configuration <code>branch.<nom>.remote</code> est présente alors que sur la branche <code><nom></code>, cette valeur est utilisée à la place de <code>origin</code>.</p> </div> <div class="paragraph"> <p>Afin de déterminer l’URL à utiliser pour récupérer, la valeur de la configuration <code>remote. <origine> .url</code> est consultée et s’il n’y a pas une telle variable, la valeur sur la ligne <code>URL:</code> dans <code>$GIT_DIR/remotes/<origine></code> est utilisée.</p> </div> <div class="paragraph"> <p>Afin de déterminer les branches distantes à récupérer (et éventuellement stocker dans les branches de suivi à distance) lorsque la commande est exécutée sans aucun paramètre spéc-de-réf sur la ligne de commande, les valeurs de la variable de configuration <code>remote. <origine> .fetch</code> sont consultées , et s’il n’y en a pas, <code>$GIT_DIR/remotes/<origine></code> est consulté et ses lignes <code>Pull :</code> sont utilisées. En plus des formats spéc-de-réf décrits dans la section OPTIONS, vous pouvez avoir un motif de spécificateur de référence qui ressemble à ceci :</p> </div> <div class="listingblock"> <div class="content"> <pre>refs/heads/*:refs/remotes/origin/*</pre> </div> </div> <div class="paragraph"> <p>Un motif de spécificateur de référence doit avoir un partie droite non vide (c’est-à-dire qu’elle doit stocker ce qui a été récupéré dans des branches de suivi à distance), et ses parties gauches et parties droites doivent se terminer par <code>/*</code>. Ce qui précède précise que toutes les branches distantes sont suivies en utilisant les branches de suivi à distance dans la hiérarchie <code>refs/remotes/origin/</code> sous le même nom.</p> </div> <div class="paragraph"> <p>La règle qui consiste à déterminer quelle branche distante doit être fusionnée après avoir été récupérée est un peu compliquée, afin de ne pas rompre la rétrocompatibilité.</p> </div> <div class="paragraph"> <p>Si des spécificateurs de référence explicites ont été donnés sur la ligne de commande de <code>git pull</code>, elles sont toutes fusionnées.</p> </div> <div class="paragraph"> <p>Lorsqu’aucun spécificateur de référence n’a été donné sur la ligne de commande, alors <code>git pull</code> utilise le spécificateur de référence de la configuration ou <code>$GIT_DIR/remotes/<origine></code>. Dans de tels cas, les règles suivantes s’appliquent :</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>Si la configuration <code>branch.<nom>.merge</code> pour la branche actuelle <code><nom></code> existe, c’est le nom de la branche du site distant en cours de fusion.</p> </li> <li> <p>Si le spécificateur de référence est un spécificateur motif, rien n’est fusionné.</p> </li> <li> <p>Sinon, la branche distante du premier spécificateur de référence est fusionnée.</p> </li> </ol> </div> </div> </div> <div class="sect1"> <h2 id="_exemples"><a class="anchor" href="#_exemples"></a>EXEMPLES</h2> <div class="sectionbody"> <div class="ulist"> <ul> <li> <p>Mettre à jour les branches de suivi à distance pour le dépôt d’où vous avez cloné, puis fusionner l’une d’entre elles dans votre branche actuelle :</p> <div class="listingblock"> <div class="content"> <pre>$ git pull $ git pull origin</pre> </div> </div> <div class="paragraph"> <p>Normalement, la branche fusionnée est la HEAD du dépôt distant, mais le choix est déterminé par les options branch. <nom> .remote et branch. <nom> .merge ; voir <a href='/docs/git-config/fr'>git-config[1]</a> pour plus de détails.</p> </div> </li> <li> <p>Fusionner dans la branche actuelle la branche distante <code>next</code> :</p> <div class="listingblock"> <div class="content"> <pre>$ git pull origin next</pre> </div> </div> <div class="paragraph"> <p>Cela laisse une copie de <code>next</code> temporairement dans FETCH_HEAD, et met pas à jour la branche de suivi à distance <code>origin/next</code>. La même chose peut être faite en invoquant fetch et merge :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git fetch origin $ git merge origin/next</pre> </div> </div> </li> </ul> </div> <div class="paragraph"> <p>Si vous avez tenté un tirage qui a entraîné des conflits complexes et que vous souhaitez recommencer à zéro, vous pouvez vous rembobiner grâce à <em>git reset</em>.</p> </div> </div> </div> <div class="sect1"> <h2 id="_sécurité"><a class="anchor" href="#_sécurité"></a>SÉCURITÉ</h2> <div class="sectionbody"> <div class="paragraph"> <p>Les protocoles "fetch" et "push" ne sont pas conçus pour empêcher un tiers de voler des données de l’autre dépôt qui n’étaient pas destinées à être partagées. Si vous avez des données privées que vous devez protéger contre un tiers malveillant, la meilleure solution est de les stocker dans un autre dépôt. Cela s’applique aussi bien aux clients qu’aux serveurs. En particulier, les espaces de noms sur un serveur ne sont pas efficaces pour le contrôle de l’accès en lecture ; vous ne devez accorder l’accès en lecture à un espace de noms qu’aux clients auxquels vous feriez confiance pour l’accès en lecture à l’ensemble du dépôt.</p> </div> <div class="paragraph"> <p>Les vecteurs d’attaque connus sont les suivants :</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>La victime envoie des lignes "have" annonçant les identifiants des objets qu’elle possède et qui ne sont pas explicitement destinés à être partagés, mais qui peuvent être utilisés pour optimiser le transfert si le pair les possède également. L’attaquant choisit un ID d’objet X à voler et envoie une référence à X, mais n’est pas obligé d’envoyer le contenu de X parce que la victime l’a déjà. La victime croit maintenant que l’attaquant a X, et elle lui renvoie le contenu de X plus tard. (Cette attaque est la plus simple à réaliser pour un client sur un serveur, en créant une référence à X dans l’espace de noms auquel le client a accès et en la récupérant ensuite. La façon la plus probable pour un serveur de l’exécuter sur un client est de "fusionner" X dans une branche publique et d’espérer que l’utilisateur fasse un travail supplémentaire sur cette branche et la repousse vers le serveur sans remarquer la fusion).</p> </li> <li> <p>Comme en n°1, l’attaquant choisit un objet ID X à voler. La victime envoie un objet Y que l’attaquant possède déjà, et l’attaquant prétend faussement avoir X et non Y, de sorte que la victime envoie Y comme delta contre X. Le delta révèle à l’attaquant des régions de X qui sont similaires à Y.</p> </li> </ol> </div> </div> </div> <div class="sect1"> <h2 id="_bogues"><a class="anchor" href="#_bogues"></a>BOGUES</h2> <div class="sectionbody"> <div class="paragraph"> <p>L’utilisation de --recurse-submodules ne permet actuellement d’obtenir de nouveaux commits que dans les sous-modules déjà vérifiés . Lorsque, par exemple, un nouveau sous-module est ajouté dans les commit en amont qui viennent d’être récupérés du superprojet, le sous-module lui-même ne peut pas être récupéré, ce qui rend impossible de vérifier ce sous-module plus tard sans avoir à le récupérer à nouveau. Ce problème devrait être corrigé dans une prochaine version de Git.</p> </div> </div> </div> <div class="sect1"> <h2 id="_voir_aussi"><a class="anchor" href="#_voir_aussi"></a>VOIR AUSSI</h2> <div class="sectionbody"> <div class="paragraph"> <p><a href='/docs/git-fetch/fr'>git-fetch[1]</a>, <a href='/docs/git-merge/fr'>git-merge[1]</a>, <a href='/docs/git-config/fr'>git-config[1]</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>