CINXE.COM

Git - git-blame 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-blame 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-blame</strong> manual</header> <ol class='reference-previous-versions'> <li> <a href="/docs/git-blame"><span class="version">English</span> </a> </li> <li> <a href="/docs/git-blame/fr"><span class="version">Français</span> </a> </li> <li> <a href="/docs/git-blame/pt_BR"><span class="version">Português (Brasil)</span> </a> </li> <li> <a href="/docs/git-blame/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-blame last updated in 2.44.0</span> <div class='dropdown-panel left' id='previous-versions-dropdown'> <header>Changes in the <strong>git-blame</strong> manual</header> <ol class='reference-previous-versions'> <li class="no-change"><span>2.44.1 &rarr; 2.49.0 no changes</span></li> <li> <a href="/docs/git-blame/2.44.0"><span class="version">2.44.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">2024-02-23</em> </a> </li> <li class="no-change"><span>2.43.1 &rarr; 2.43.6 no changes</span></li> <li> <a href="/docs/git-blame/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.41.1 &rarr; 2.42.4 no changes</span></li> <li> <a href="/docs/git-blame/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/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2023-06-01</em> </a> </li> <li class="no-change"><span>2.38.1 &rarr; 2.40.4 no changes</span></li> <li> <a href="/docs/git-blame/2.38.0"><span class="version">2.38.0</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/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-10-02</em> </a> </li> <li class="no-change"><span>2.34.1 &rarr; 2.37.7 no changes</span></li> <li> <a href="/docs/git-blame/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/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">2021-11-15</em> </a> </li> <li class="no-change"><span>2.31.1 &rarr; 2.33.8 no changes</span></li> <li class="no-change"><span>2.31.0 no changes</span></li> <li class="no-change"><span>2.30.1 &rarr; 2.30.9 no changes</span></li> <li> <a href="/docs/git-blame/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/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">2020-12-27</em> </a> </li> <li class="no-change"><span>2.29.1 &rarr; 2.29.3 no changes</span></li> <li> <a href="/docs/git-blame/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/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-10-19</em> </a> </li> <li class="no-change"><span>2.23.1 &rarr; 2.28.1 no changes</span></li> <li> <a href="/docs/git-blame/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.16.6 &rarr; 2.22.5 no changes</span></li> <li class="no-change"><span>2.15.4 no changes</span></li> <li class="no-change"><span>2.13.7 &rarr; 2.14.6 no changes</span></li> <li> <a href="/docs/git-blame/2.12.5"><span class="version">2.12.5</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2017-09-22</em> </a> </li> <li> <a href="/docs/git-blame/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/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">2017-09-22</em> </a> </li> <li class="no-change"><span>2.9.5 &rarr; 2.10.5 no changes</span></li> <li> <a href="/docs/git-blame/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/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-blame/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/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">2017-07-30</em> </a> </li> <li class="no-change"><span>2.6.7 no changes</span></li> <li> <a href="/docs/git-blame/2.5.6"><span class="version">2.5.6</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">2017-05-05</em> </a> </li> <li> <a href="/docs/git-blame/2.4.12"><span class="version">2.4.12</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> <a href="/docs/git-blame/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/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">2015-09-28</em> </a> </li> <li class="no-change"><span>2.1.4 &rarr; 2.2.3 no changes</span></li> <li> <a href="/docs/git-blame/2.0.5"><span class="version">2.0.5</span> <span class="diff"> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/green-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/red-dot.png" /> <img src="/images/icons/grey-dot.png" /> <img src="/images/icons/grey-dot.png" /> </span> <em class="date">2014-12-17</em> </a> </li> <li>&nbsp;</li> </ol> <footer> <p>Check your version of git by running</p> <code class="command">git --version</code> </footer> </div> </div> <div id="main" data-pagefind-filter="category:reference" data-pagefind-meta="category:Reference" data-pagefind-weight="0.05" data-pagefind-body> <div class="sect1"> <h2 id="_nom"><a class="anchor" href="#_nom"></a>NOM</h2> <div class="sectionbody"> <div class="paragraph"> <p>git-blame - Montrer la révision et l&#8217;auteur qui ont modifié en dernier chaque ligne d&#8217;un fichier</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 blame</em> [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental] [-L &lt;plage&gt;] [-S &lt;fichier-de-révs&gt;] [-M] [-C] [-C] [-C] [--since=&lt;date&gt;] [--ignore-rev &lt;rév&gt;] [--ignore-revs-file &lt;fichier&gt;] [--color-lines] [--color-by-age] [--progress] [--abbrev=&lt;n&gt;] [--contents &lt;fichier&gt;] [&lt;rév&gt; | --reverse &lt;rév&gt;..&lt;rév&gt;][--] &lt;fichier&gt;</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>Annote chaque ligne du fichier donné avec les informations de la dernière révision qui a modifié la ligne. Optionnellement, commence à annoter à partir de la révision donnée.</p> </div> <div class="paragraph"> <p>Lorsqu&#8217;il est spécifié une ou plusieurs fois, <code>-L</code> limite l&#8217;annotation aux lignes demandées.</p> </div> <div class="paragraph"> <p>L&#8217;origine des lignes est automatiquement suivie à travers les renommages de fichiers entiers (il n&#8217;y a actuellement aucune option pour désactiver le suivi des renommages). Pour suivre les lignes déplacées d&#8217;un fichier à un autre, ou pour suivre les lignes qui ont été copiées et collées depuis un autre fichier, etc., voir les options <code>-C</code> et <code>-M</code>.</p> </div> <div class="paragraph"> <p>Le rapport ne vous dit rien sur les lignes qui ont été supprimées ou remplacées ; vous devez utiliser un outil tel que "git diff" ou l&#8217;interface "pickaxe" brièvement mentionnée dans le paragraphe suivant.</p> </div> <div class="paragraph"> <p>Outre la prise en charge de l&#8217;annotation des fichiers, Git permet également de rechercher dans l&#8217;historique du développement la modification où un extrait de code est apparu. Il est ainsi possible de savoir quand un extrait de code a été ajouté à un fichier, déplacé ou copié entre des fichiers, ou supprimé ou remplacé. Il fonctionne en recherchant une chaîne de texte dans le diff. Un petit exemple de l&#8217;interface pickaxe qui recherche <code>blame_usage</code> :</p> </div> <div class="listingblock"> <div class="content"> <pre>$ git log --pretty=oneline -S'blame_usage' 5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S &lt;fichier-d-ancêtre&gt; ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output</pre> </div> </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-blame--b"> <a class="anchor" href="#git-blame--b"></a>-b </dt> <dd> <p>Afficher un SHA-1 vierge pour les validations de limite. Cela peut également être contrôlé par l’option de configuration <code>blame.blankBoundary</code>.</p> </dd> <dt class="hdlist1" id="git-blame---root"> <a class="anchor" href="#git-blame---root"></a>--root </dt> <dd> <p>Ne pas considérer les commits de base comme des limites. Ceci peut également être contrôlé via l&#8217;option de configuration <code>blame.showRoot</code>.</p> </dd> <dt class="hdlist1" id="git-blame---show-stats"> <a class="anchor" href="#git-blame---show-stats"></a>--show-stats </dt> <dd> <p>Inclure des statistiques supplémentaires à la fin de la sortie de blame.</p> </dd> <dt class="hdlist1" id="git-blame--Lltdbutgtltfingt"> <a class="anchor" href="#git-blame--Lltdbutgtltfingt"></a>-L &lt;début&gt;,&lt;fin&gt; </dt> <dt class="hdlist1" id="git-blame--Lltnomfoncgt"> <a class="anchor" href="#git-blame--Lltnomfoncgt"></a>-L: &lt;nomfonc&gt; </dt> <dd> <p>N&#8217;annoter que la plage de lignes donnée par <em>&lt;début&gt;,&lt;fin&gt;</em> ou par la regex du nom de la fonction <em>&lt;nom-de-fonction&gt;</em>. Peut être spécifié plusieurs fois. Les intervalles qui se chevauchent sont autorisés.</p> <div class="paragraph"> <p><em>&lt;début&gt;</em> et <em>&lt;fin&gt;</em> sont facultatifs. <code>-L &lt;début&gt;</code> ou <code>-L &lt;début&gt;,</code>, s’étend de <em>&lt;début&gt;</em> jusqu&#8217;à la fin du fichier. <code>-L,&lt;fin&gt;</code> s’étend du début du fichier jusqu&#8217;à <em>&lt;fin&gt;</em>.</p> </div> <div class="paragraph"> <p><em>&lt;début&gt;</em> et <em>&lt;fin&gt;</em> peuvent prendre l&#8217;une de ces formes :</p> </div> <div class="ulist"> <ul> <li> <p>nombre</p> <div class="paragraph"> <p>Si <em>&lt;début&gt;</em> ou <em>&lt;fin&gt;</em> est un nombre, il spécifie un numéro de ligne absolu (les lignes comptent à partir de 1).</p> </div> </li> <li> <p><code>/regex/</code></p> <div class="paragraph"> <p>Cette forme utilisera la première ligne correspondant à la regex POSIX donnée. Si <em>&lt;début&gt;</em> est une regex, la recherche se fera à partir de la fin de la plage <code>-L</code> précédente, le cas échéant, sinon à partir du début du fichier. Si <em>&lt;début&gt;</em> est <code>^/regex/</code>, la recherche se fera à partir du début du fichier. Si <em>&lt;fin&gt;</em> est une regex, la recherche débutera à partir de la ligne donnée par <em>&lt;début&gt;</em>.</p> </div> </li> <li> <p>+ offset ou -offset</p> <div class="paragraph"> <p>Ceci n&#8217;est valable que pour <em>&lt;fin&gt;</em> et spécifiera un nombre de lignes avant ou après la ligne donnée par <em>&lt;début&gt;</em>.</p> </div> </li> </ul> </div> <div class="paragraph"> <p>Si <code>:&lt;nom-de-fonction&gt;</code> est donné à la place de <em>&lt;début&gt;</em> et de <em>&lt;fin&gt;</em>, il s&#8217;agit d&#8217;une expression régulière qui indique la plage depuis première ligne qui correspond à <em>&lt;nom-de-fonction&gt;</em>, jusqu&#8217;à la ligne de nom-de-fonction suivante. La recherche de <code>:&lt;nom-de-fonction&gt;</code> se fait à partir de la fin de la plage <code>-L</code> précédente, s&#8217;il y en a une, sinon à partir du début du fichier. La recherche de <code>^:&lt;nom-de-fonction&gt;</code> commence au début du fichier. Les noms de fonction sont déterminés de la même manière que celle par laquelle <code>git diff</code> fonctionne sur les en-têtes de section de rustine (voir <em>Définir un en-tête personnalisé</em> dans <a href='/docs/gitattributes/fr'>gitattributes[5]</a>).</p> </div> </dd> </dl> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-blame--l"> <a class="anchor" href="#git-blame--l"></a>-l </dt> <dd> <p>Afficher la révision long (par défaut : désactivé).</p> </dd> <dt class="hdlist1" id="git-blame--t"> <a class="anchor" href="#git-blame--t"></a>-t </dt> <dd> <p>Afficher les horodatages bruts (Défaut : désactivé).</p> </dd> <dt class="hdlist1" id="git-blame--Sltfichier-des-rvsgt"> <a class="anchor" href="#git-blame--Sltfichier-des-rvsgt"></a>-S &lt;fichier-des-révs&gt; </dt> <dd> <p>Utiliser les révisions depuis le fichier-des-révisions au lieu d&#8217;appeler <a href='/docs/git-rev-list/fr'>git-rev-list[1]</a>.</p> </dd> <dt class="hdlist1" id="git-blame---reverseltrvgtltrvgt"> <a class="anchor" href="#git-blame---reverseltrvgtltrvgt"></a>--reverse &lt;rév&gt;..&lt;rév&gt; </dt> <dd> <p>Parcourir l&#8217;historique en avant au lieu d&#8217;en arrière. Au lieu de montrer la révision dans laquelle une ligne est apparue, ceci montre la dernière révision dans laquelle une ligne a existé. Cela nécessite une gamme de révisions comme DÉBUT..FIN où le chemin de blâme existe dans DÉBUT. Pour plus de commodité, <code>git blame --reverse DÉBUT</code> est pris comme <code>git blame --reverse DÉBUT..HEAD</code>.</p> </dd> <dt class="hdlist1" id="git-blame---first-parent"> <a class="anchor" href="#git-blame---first-parent"></a>--first-parent </dt> <dd> <p>Ne suivre que le premier commit parent lors de la rencontre d&#8217;un commit de fusion. Cette option peut être utilisée pour déterminer le moment où une ligne a été introduite dans une branche d&#8217;intégration particulière, plutôt que le moment où elle a été introduite dans l&#8217;historique global.</p> </dd> <dt class="hdlist1" id="git-blame--p"> <a class="anchor" href="#git-blame--p"></a>-p </dt> <dt class="hdlist1" id="git-blame---porcelain"> <a class="anchor" href="#git-blame---porcelain"></a>--porcelain </dt> <dd> <p>Afficher dans un format propice à la consommation par machine.</p> </dd> <dt class="hdlist1" id="git-blame---line-porcelain"> <a class="anchor" href="#git-blame---line-porcelain"></a>--line-porcelain </dt> <dd> <p>Afficher le format porcelaine, mais sortir les informations de commit pour chaque ligne, et pas seulement la première fois qu&#8217;un commit est référencé. Implique --porcelaine.</p> </dd> <dt class="hdlist1" id="git-blame---incremental"> <a class="anchor" href="#git-blame---incremental"></a>--incremental </dt> <dd> <p>Afficher le résultat progressivement dans un format conçu pour la consommation par une machine.</p> </dd> <dt class="hdlist1" id="git-blame---encodingltcodagegt"> <a class="anchor" href="#git-blame---encodingltcodagegt"></a>--encoding=&lt;codage&gt; </dt> <dd> <p>Spécifier l’encodage utilisé pour produire les des noms d’auteurs et les résumés des commits. Le définir sur <code>none</code> rend la sortie de blâme des données non converties. Pour plus d’informations, voir la discussion sur l’encodage dans la page manuelle <a href='/docs/git-log/fr'>git-log[1]</a>.</p> </dd> <dt class="hdlist1" id="git-blame---contentsltfichiergt"> <a class="anchor" href="#git-blame---contentsltfichiergt"></a>--contents &lt;fichier&gt; </dt> <dd> <p>Annoter en utilisant le contenu du fichier nommé, en commençant par &lt;rév&gt; si elle est spécifiée, et HEAD sinon. Vous pouvez spécifier <em>-</em> pour que la commande lise le contenu du fichier à partir de l&#8217;entrée standard.</p> </dd> <dt class="hdlist1" id="git-blame---dateltformatgt"> <a class="anchor" href="#git-blame---dateltformatgt"></a>--date &lt;format&gt; </dt> <dd> <p>Spécifie le format utilisé pour les dates sur la sortie. Si --date n’est pas fourni, la valeur de la variable de configuration blame.date est utilisée. Si la variable de configuration blame.date n’est pas non plus définie, le format iso est utilisé. Pour les valeurs prises en charge, voir la discussion de l’option --date à <a href='/docs/git-log/fr'>git-log[1]</a>.</p> </dd> <dt class="hdlist1" id="git-blame---no-progress"> <a class="anchor" href="#git-blame---no-progress"></a>--[no-]progress </dt> <dd> <p>L&#8217;état d&#8217;avancement est indiqué par défaut sur le flux d&#8217;erreurs standard lorsqu&#8217;il est connecté à un terminal. Ce drapeau permet de signaler l&#8217;état d&#8217;avancement même s&#8217;il n&#8217;est pas attaché à un terminal. On ne peut pas utiliser <code>--progress</code> avec <code>--porcelain</code> ou <code>--incremental</code>.</p> </dd> <dt class="hdlist1" id="git-blame--Mltnumgt"> <a class="anchor" href="#git-blame--Mltnumgt"></a>-M[&lt;num&gt;] </dt> <dd> <p>Détecter les lignes déplacées ou copiées dans un fichier. Lorsqu&#8217;un commit déplace ou copie un bloc de lignes (par exemple, le fichier original a A puis B, et le commit le change en B puis A), l&#8217;algorithme traditionnel de <em>blame</em> ne remarque que la moitié du mouvement et blâme généralement les lignes qui ont été déplacées vers le haut (c&#8217;est-à-dire B) au parent et attribue le blâme aux lignes qui ont été déplacées vers le bas (c&#8217;est-à-dire A) au commit enfant. Avec cette option, les deux groupes de lignes sont blâmés sur le parent en effectuant des passes d&#8217;inspection supplémentaires.</p> <div class="paragraph"> <p>&lt;num&gt;est facultatif, mais c’est la limite inférieure sur le nombre de caractères alphanumériques que Git doit détecter comme déplacées/copiées dans un fichier pour qu’il associe ces lignes avec le commit parent. La valeur par défaut est 20.</p> </div> </dd> <dt class="hdlist1" id="git-blame--Cltnumgt"> <a class="anchor" href="#git-blame--Cltnumgt"></a>-C[&lt;num&gt;] </dt> <dd> <p>En plus de <code>-M</code>, détecter les lignes déplacées ou copiées à partir d&#8217;autres fichiers qui ont été modifiés dans le même commit. Ceci est utile lorsque vous réorganisez votre programme et que vous déplacez du code d&#8217;un fichier à l&#8217;autre. Lorsque cette option est donnée deux fois, la commande recherche en plus les copies depuis d&#8217;autres fichiers dans le commit qui crée le fichier. Lorsque cette option est donnée trois fois, la commande recherche également des copies d&#8217;autres fichiers dans n&#8217;importe quel commit.</p> <div class="paragraph"> <p>&lt;num&gt; est optionnel mais c&#8217;est la limite inférieure du nombre de caractères alphanumériques que Git doit détecter comme étant des déplacements/copies entre fichiers pour qu&#8217;il puisse associer ces lignes au commit parent. Et la valeur par défaut est 40. S&#8217;il y a plus d&#8217;une option <code>-C</code> donnée, l&#8217;argument &lt;num&gt; du dernier <code>-C</code> prendra effet.</p> </div> </dd> <dt class="hdlist1" id="git-blame---ignore-revltrvgt"> <a class="anchor" href="#git-blame---ignore-revltrvgt"></a>--ignore-rev &lt;rév&gt; </dt> <dd> <p>Ignorer les modifications apportées par la révision lors de l&#8217;attribution de la responsabilité, comme si la modification ne s&#8217;était jamais produite. Les lignes qui ont été modifiées ou ajoutées par un commit ignoré seront blâmées sur le commit précédent qui a modifié cette ligne ou les lignes voisines. Cette option peut être spécifiée plusieurs fois pour ignorer plus d&#8217;une révision. Si l&#8217;option de configuration <code>blame.markIgnoredLines</code> est activée, alors les lignes qui ont été modifiées par un commit ignoré et attribuées à un autre commit seront marquées avec un <code>?</code> dans la sortie de blame. Si l&#8217;option de configuration <code>blame.markUnblamableLines</code> est définie, alors les lignes touchées par un commit ignoré que nous n&#8217;avons pas pu attribuer à une autre révision sont marquées d&#8217;un <em>*</em>.</p> </dd> <dt class="hdlist1" id="git-blame---ignore-revs-fileltfichiergt"> <a class="anchor" href="#git-blame---ignore-revs-fileltfichiergt"></a>--ignore-revs-file &lt;fichier&gt; </dt> <dd> <p>Ignorer les révisions listées dans le <code>fichier</code>, qui doit être au même format qu&#8217;un <code>fsck.skipList</code>. Cette option peut être répétée, et ces fichiers seront traités après tous les fichiers spécifiés avec l&#8217;option de configuration <code>blame.ignoreRevsFile</code>. Un nom de fichier vide, <code>""</code>, effacera la liste des révisions des fichiers précédemment traités.</p> </dd> <dt class="hdlist1" id="git-blame---color-lines"> <a class="anchor" href="#git-blame---color-lines"></a>--color-lines </dt> <dd> <p>Colorier différemment les annotations de ligne dans le format par défaut si elles proviennent du même commit que la ligne précédente. Cela permet de distinguer plus facilement les blocs de code introduits par des commits différents. La couleur par défaut est le cyan et peut être ajustée en utilisant l&#8217;option de configuration <code>color.blame.repeatedLines</code>.</p> </dd> <dt class="hdlist1" id="git-blame---color-by-age"> <a class="anchor" href="#git-blame---color-by-age"></a>--color-by-age </dt> <dd> <p>Colorer les annotations de ligne en fonction de l&#8217;âge de la ligne dans le format par défaut. L&#8217;option de configuration <code>color.blame.highlightRecent</code> contrôle quelle couleur est utilisée pour chaque tranche d&#8217;âge.</p> </dd> <dt class="hdlist1" id="git-blame--h"> <a class="anchor" href="#git-blame--h"></a>-h </dt> <dd> <p>Afficher le message d&#8217;aide.</p> </dd> </dl> </div> <div class="dlist"> <dl> <dt class="hdlist1" id="git-blame--c"> <a class="anchor" href="#git-blame--c"></a>-c </dt> <dd> <p>Utiliser le même mode de sortie que <a href='/docs/git-annotate/fr'>git-annotate[1]</a> (Défaut : désactivé).</p> </dd> <dt class="hdlist1" id="git-blame---score-debug"> <a class="anchor" href="#git-blame---score-debug"></a>--score-debug </dt> <dd> <p>Inclure les informations de débogage relatives au déplacement des lignes entre les fichiers (voir <code>-C</code>) et aux lignes déplacées à l&#8217;intérieur d&#8217;un fichier (voir <code>-M</code>). Le premier nombre listé est le score. C&#8217;est le nombre de caractères alphanumériques détectés comme ayant été déplacés entre ou dans des fichiers. Il doit être supérieur à un certain seuil pour que <em>git blame</em> considère que ces lignes de code ont été déplacées.</p> </dd> <dt class="hdlist1" id="git-blame--f"> <a class="anchor" href="#git-blame--f"></a>-f </dt> <dt class="hdlist1" id="git-blame---show-name"> <a class="anchor" href="#git-blame---show-name"></a>--show-name </dt> <dd> <p>Afficher le nom de fichier dans le commit original. Par défaut, le nom du fichier est affiché s&#8217;il y a une ligne qui provient d&#8217;un fichier avec un nom différent, à cause de la détection des renommages.</p> </dd> <dt class="hdlist1" id="git-blame--n"> <a class="anchor" href="#git-blame--n"></a>-n </dt> <dt class="hdlist1" id="git-blame---show-number"> <a class="anchor" href="#git-blame---show-number"></a>--show-number </dt> <dd> <p>Afficher le numéro de ligne dans le commit original (Défaut : off).</p> </dd> <dt class="hdlist1" id="git-blame--s"> <a class="anchor" href="#git-blame--s"></a>-s </dt> <dd> <p>Supprimer le nom de l&#8217;auteur et l&#8217;horodatage dans la sortie.</p> </dd> <dt class="hdlist1" id="git-blame--e"> <a class="anchor" href="#git-blame--e"></a>-e </dt> <dt class="hdlist1" id="git-blame---show-email"> <a class="anchor" href="#git-blame---show-email"></a>--show-email </dt> <dd> <p>Montrer l&#8217;email de l&#8217;auteur au lieu du nom de l&#8217;auteur (Default : off). Ceci peut aussi être contrôlé par l&#8217;option de configuration <code>blame.showEmail</code>.</p> </dd> <dt class="hdlist1" id="git-blame--w"> <a class="anchor" href="#git-blame--w"></a>-w </dt> <dd> <p>Ignorer les espaces blancs lors de la comparaison de la version du parent et celle de l&#8217;enfant pour trouver d&#8217;où viennent les lignes.</p> </dd> <dt class="hdlist1" id="git-blame---abbrevltngt"> <a class="anchor" href="#git-blame---abbrevltngt"></a>--abbrev=&lt;n&gt; </dt> <dd> <p>Au lieu d&#8217;utiliser les 7 +1 chiffres hexadécimaux par défaut comme nom d&#8217;objet abrégé, utiliser <em>&lt;m&gt;</em>+1 chiffres, où <em>&lt;m&gt;</em> est au moins <em>&lt;n&gt;</em> mais garantir que les noms d&#8217;objet de commit sont uniques. Notez qu&#8217;une colonne est utilisée pour un signe d&#8217;insertion pour marquer le commit limite.</p> </dd> </dl> </div> </div> </div> <div class="sect1"> <h2 id="_le_format_par_défaut"><a class="anchor" href="#_le_format_par_défaut"></a>LE FORMAT PAR DÉFAUT</h2> <div class="sectionbody"> <div class="paragraph"> <p>Lorsque ni l&#8217;option <code>--porcelain</code> ni l&#8217;option <code>--incremental</code> ne sont spécifiées, <code>git blame</code> sortira une annotation pour chaque ligne avec :</p> </div> <div class="ulist"> <ul> <li> <p>nom d&#8217;objet abrégé pour le commit d&#8217;où provient la ligne ;</p> </li> <li> <p>l&#8217;identifiant de l&#8217;auteur (par défaut, le nom de l&#8217;auteur et la date, sauf si <code>-s</code> ou <code>-e</code> est spécifié) ; et</p> </li> <li> <p>numéro de ligne</p> </li> </ul> </div> <div class="paragraph"> <p>avant le contenu de la ligne.</p> </div> </div> </div> <div class="sect1"> <h2 id="_le_format_porcelaine"><a class="anchor" href="#_le_format_porcelaine"></a>LE FORMAT PORCELAINE</h2> <div class="sectionbody"> <div class="paragraph"> <p>Dans ce format, chaque ligne est sortie après un en-tête ; l&#8217;en-tête au minimum a la première ligne qui a :</p> </div> <div class="ulist"> <ul> <li> <p>SHA-1 de 40 octets du commit auquel la ligne est attribuée ;</p> </li> <li> <p>le numéro de la ligne dans le fichier d&#8217;origine ;</p> </li> <li> <p>le numéro de la ligne dans le fichier final ;</p> </li> <li> <p>sur une ligne qui commence un groupe de lignes d&#8217;un commit différent du précédent, le nombre de lignes dans ce groupe. Sur les lignes suivantes, ce champ est absent.</p> </li> </ul> </div> <div class="paragraph"> <p>Cette ligne d&#8217;en-tête est suivie par les informations suivantes au moins une fois pour chaque commit :</p> </div> <div class="ulist"> <ul> <li> <p>le nom de l&#8217;auteur ("author"), le courriel ("author-mail"), l&#8217;heure ("author-time"), et le fuseau horaire ("author-tz") ; de même pour le validateur.</p> </li> <li> <p>le nom du fichier dans le commit auquel la ligne est attribuée.</p> </li> <li> <p>la première ligne du message de validation ("summary").</p> </li> </ul> </div> <div class="paragraph"> <p>Le contenu de la ligne actuelle est affiché après l&#8217;en-tête ci-dessus, préfixé par un TAB. Cela permet d&#8217;ajouter ultérieurement d&#8217;autres éléments d&#8217;en-tête.</p> </div> <div class="paragraph"> <p>Le format porcelaine supprime généralement les informations de commit qui ont déjà été vues. Par exemple, deux lignes qui sont liées au même commit seront toutes deux affichées, mais les détails de ce commit ne seront affichés qu&#8217;une seule fois. C&#8217;est plus efficace, mais peut nécessiter que le lecteur conserve plus d&#8217;information en tête. L&#8217;option <code>--line-porcelain</code> peut être utilisée pour afficher toutes les informations de commit pour chaque ligne, permettant une utilisation plus simple (mais moins efficace) comme :</p> </div> <div class="literalblock"> <div class="content"> <pre># compter le nombre de lignes attribuées à chaque auteur git blame --line-porcelain file | sed -n 's/^author //p' | sort | uniq -c | sort -rn</pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_spécification_de_plages"><a class="anchor" href="#_spécification_de_plages"></a>SPÉCIFICATION DE PLAGES</h2> <div class="sectionbody"> <div class="paragraph"> <p>Contrairement à <em>git blame</em> et <em>git annotate</em> dans les anciennes versions de git, l&#8217;étendue de l&#8217;annotation peut être limitée à la fois à des plages de lignes et à des plages de révisions. L&#8217;option <code>-L</code>, qui limite l&#8217;annotation à une plage de lignes, peut être spécifiée plusieurs fois.</p> </div> <div class="paragraph"> <p>Lorsque vous souhaitez trouver l&#8217;origine des lignes 40-60 du fichier <code>foo</code>, vous pouvez utiliser l&#8217;option <code>-L</code> comme suit (elles signifient la même chose&#8201;&#8212;&#8201;toutes deux demandent 21 lignes à partir de la ligne 40) :</p> </div> <div class="literalblock"> <div class="content"> <pre>git blame -L 40,60 foo git blame -L 40,+21 foo</pre> </div> </div> <div class="paragraph"> <p>Vous pouvez également utiliser une expression régulière pour spécifier la plage de lignes :</p> </div> <div class="literalblock"> <div class="content"> <pre>git blame -L '/^sub hello {/,/^}$/' foo</pre> </div> </div> <div class="paragraph"> <p>qui limite l&#8217;annotation au corps de la sous-routine <code>hello</code>.</p> </div> <div class="paragraph"> <p>Lorsque vous n&#8217;êtes pas intéressé par les changements plus anciens que la version v2.6.18, ou les changements plus anciens que 3 semaines, vous pouvez utiliser des spécificateurs d&#8217;intervalle de révision similaires à <em>git rev-list</em> :</p> </div> <div class="literalblock"> <div class="content"> <pre>git blame v2.6.18.. -- foo git blame --since=3.weeks -- foo</pre> </div> </div> <div class="paragraph"> <p>Lorsque des spécificateurs de plage de révision sont utilisés pour limiter l&#8217;annotation, les lignes qui n&#8217;ont pas été modifiées depuis la limite de l&#8217;intervalle (soit le commit v2.6.18 ou le commit le plus récent qui date de plus de 3 semaines dans l&#8217;exemple ci-dessus) sont blâmées pour ce commit de limite de plage.</p> </div> <div class="paragraph"> <p>Un moyen particulièrement utile est de voir si un fichier ajouté comporte des lignes créées par copier-coller à partir de fichiers existants. Cela indique parfois que le développeur a été négligent et n&#8217;a pas refactoré le code correctement. Vous pouvez d&#8217;abord trouver le commit qui a introduit le fichier avec :</p> </div> <div class="literalblock"> <div class="content"> <pre>git log --diff-filter=A --pretty=short -- foo</pre> </div> </div> <div class="paragraph"> <p>et ensuite annoter la modification entre le commit et ses parents, en utilisant la notation <code>commit^!</code> :</p> </div> <div class="literalblock"> <div class="content"> <pre>git blame -C -C -f $commit^! -- foo</pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_sortie_incrémentale"><a class="anchor" href="#_sortie_incrémentale"></a>SORTIE INCRÉMENTALE</h2> <div class="sectionbody"> <div class="paragraph"> <p>Quand elle est appelée avec l&#8217;option <code>--incremental</code>, la commande affiche le résultat au fur et à mesure qu&#8217;il est construit. La sortie parle généralement des lignes touchées par les commits les plus récents en premier (c&#8217;est-à-dire que les lignes seront annotées dans le désordre) et est destinée à être utilisée par des visionneurs interactifs.</p> </div> <div class="paragraph"> <p>Le format de sortie est similaire au format Porcelain, mais il ne contient pas les lignes réelles du fichier qui est annoté.</p> </div> <div class="olist arabic"> <ol class="arabic"> <li> <p>Chaque entrée de blâme commence toujours par une ligne de :</p> <div class="literalblock"> <div class="content"> <pre>&lt;sha1-hex-de-40-octets&gt; &lt;lignesource&gt; &lt;lignerésultat&gt; &lt;nombre-de-lignes&gt;</pre> </div> </div> <div class="paragraph"> <p>Les numéros de ligne comptent à partir de 1.</p> </div> </li> <li> <p>La première fois qu&#8217;un commit apparaît dans le flux, diverses autres informations le concernant sont affichées avec une étiquette d&#8217;un mot au début de chaque ligne décrivant les informations supplémentaires du commit (auteur, email, validateur, dates, résumé, etc.).</p> </li> <li> <p>Contrairement au format Porcelaine, l&#8217;information sur le nom de fichier est toujours donnée et termine l&#8217;entrée :</p> <div class="literalblock"> <div class="content"> <pre>"nom de fichier" &lt;nom-de-fichier-avec-espaces-échappés-ici&gt;</pre> </div> </div> <div class="paragraph"> <p>et donc il est vraiment très facile à analyser pour un analyseur orienté lignes et mots (ce qui devrait être assez naturel pour la plupart des langages de script).</p> </div> <div class="admonitionblock note"> <table> <tr> <td class="icon"> <div class="title">Note</div> </td> <td class="content"> Pour les personnes qui font de l&#8217;analyse syntaxique : pour la rendre plus robuste, il suffit d&#8217;ignorer toutes les lignes entre la première et la dernière (lignes "&lt;sha1&gt;" et "nom-de-fichier") où vous ne reconnaissez pas les mots-clés (ou ne vous souciez pas de celui-là en particulier) au début des lignes "informations étendues". De cette façon, s&#8217;il y a un jour des informations ajoutées (comme le codage du commit ou le commentaire étendu du commit), un visualisateur de blame ne s&#8217;en souciera pas. </td> </tr> </table> </div> </li> </ol> </div> </div> </div> <div class="sect1"> <h2 id="_transformer_les_auteurs"><a class="anchor" href="#_transformer_les_auteurs"></a>TRANSFORMER LES AUTEURS</h2> <div class="sectionbody"> <div class="paragraph"> <p>Voir <a href='/docs/gitmailmap/fr'>gitmailmap[5]</a>.</p> </div> </div> </div> <div class="sect1"> <h2 id="_configuration"><a class="anchor" href="#_configuration"></a>CONFIGURATION</h2> <div class="sectionbody"> <div class="paragraph"> <p>Tout ce qui se trouve en dessous de cette ligne dans cette section est inclus de manière sélective à partir de la documentation <a href='/docs/git-config/fr'>git-config[1]</a>. Le contenu est le même que celui qui s&#8217;y trouve :</p> </div> <div class="admonitionblock warning"> <table> <tr> <td class="icon"> <div class="title">Warning</div> </td> <td class="content"> <div class="paragraph"> <p>Missing <code>fr/config/blame.adoc</code></p> </div> <div class="paragraph"> <p>See original version for this content.</p> </div> </td> </tr> </table> </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-annotate/fr'>git-annotate[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 &lt;jn.avila AT free DOT fr&gt; et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site <a href="https://github.com/jnavila/git-manpages-l10n" class="bare">https://github.com/jnavila/git-manpages-l10n</a> .</p> </div> </div> </div> </div> </div> </div> <footer> <div class="site-source"> <a href="/site">About this site</a><br> Patches, suggestions, and comments are welcome. </div> <div class="sfc-member"> Git is a member of <a href="/sfc">Software Freedom Conservancy</a> </div> </footer> <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top"> <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/> </a> <script src="/js/jquery-1.7.1.min.js"></script> <script src="/js/jquery-ui-1.8.18.custom.min.js"></script> <script src="/js/jquery.defaultvalue.js"></script> <script src="/js/session.min.js"></script> <script src="/js/modernizr.js"></script> <script src="/js/modernize.js"></script> <script src="/js/application.min.js"></script> </div> </body> </html>

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