git documentation - en to fr translation catalogue (3982 entries)

note: type: Plain text
en: Show blank SHA-1 for boundary commits.  This can also be controlled via the `blame.blankBoundary` config option.
fr: Afficher un SHA-1 vierge pour les validations de limite.  Cela peut également être contrôlé par l’option de configuration `blame.blankBoundary`.

note: type: Plain text
en: Do not treat root commits as boundaries.  This can also be controlled via the `blame.showRoot` config option.
fr: Ne pas considérer les commits de base comme des limites.  Ceci peut également être contrôlé via l'option de configuration `blame.showRoot`.

note: type: Plain text
en: Include additional statistics at the end of blame output.
fr: Inclure des statistiques supplémentaires à la fin de la sortie de blame.

note: type: Labeled list
en: -L <start>,<end>
fr: -L <début>,<fin>

note: type: Labeled list
en: -L :<funcname>
fr: -L: <nomfonc>

note: type: Plain text
en: Annotate only the line range given by '<start>,<end>', or by the function name regex '<funcname>'.  May be specified multiple times. Overlapping ranges are allowed.
fr: N'annoter que la plage de lignes donnée par '<début>,<fin>' ou par la regex du nom de la fonction '<nom-de-fonction>'. Peut être spécifié plusieurs fois.  Les intervalles qui se chevauchent sont autorisés.

note: type: Plain text
en: '<start>' and '<end>' are optional. `-L <start>` or `-L <start>,` spans from '<start>' to end of file. `-L ,<end>` spans from start of file to '<end>'.
fr: '<début>' et '<fin>' sont facultatifs. `-L <début>` ou `-L <début>,`, s’étend de '<début>' jusqu'à la fin du fichier. `-L,<fin>` s’étend du début du fichier jusqu'à '<fin>'.

note: type: Plain text
en: Show long rev (Default: off).
fr: Afficher la révision long (par défaut : désactivé).

note: type: Plain text
en: Show raw timestamp (Default: off).
fr: Afficher les horodatages bruts (Défaut : désactivé).

note: type: Labeled list
en: -S <revs-file>
fr: -S <fichier-des-révs>

note: type: Plain text
en: Use revisions from revs-file instead of calling linkgit:git-rev-list[1].
fr: Utiliser les révisions depuis le fichier-des-révisions au lieu d'appeler linkgit:git-rev-list[1].

note: type: Labeled list
en: --reverse <rev>..<rev>
fr: --reverse <rév>..<rév>

note: type: Plain text
en: Walk history forward instead of backward. Instead of showing the revision in which a line appeared, this shows the last revision in which a line has existed. This requires a range of revision like START..END where the path to blame exists in START.  `git blame --reverse START` is taken as `git blame --reverse START..HEAD` for convenience.
fr: Parcourir l'historique en avant au lieu d'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é, `git blame --reverse DÉBUT` est pris comme `git blame --reverse DÉBUT..HEAD`.

note: type: Plain text
en: Follow only the first parent commit upon seeing a merge commit. This option can be used to determine when a line was introduced to a particular integration branch, rather than when it was introduced to the history overall.
fr: Ne suivre que le premier commit parent lors de la rencontre d'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'intégration particulière, plutôt que le moment où elle a été introduite dans l'historique global.

note: type: Plain text
en: Show in a format designed for machine consumption.
fr: Afficher dans un format propice à la consommation par machine.

note: type: Plain text
en: Show the porcelain format, but output commit information for each line, not just the first time a commit is referenced.  Implies --porcelain.
fr: Afficher le format porcelaine, mais sortir les informations de commit pour chaque ligne, et pas seulement la première fois qu'un commit est référencé.  Implique --porcelaine.

note: type: Plain text
en: Show the result incrementally in a format designed for machine consumption.
fr: Afficher le résultat progressivement dans un format conçu pour la consommation par une machine.

note: type: Labeled list
en: --encoding=<encoding>
fr: --encoding=<codage>

note: type: Plain text
en: Specifies the encoding used to output author names and commit summaries. Setting it to `none` makes blame output unconverted data. For more information see the discussion about encoding in the linkgit:git-log[1] manual page.
fr: Spécifier l’encodage utilisé pour produire les des noms d’auteurs et les résumés des commits. Le définir sur `none` 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 linkgit:git-log[1].

note: type: Labeled list
en: --contents <file>
fr: --contents <fichier>

note: type: Plain text
en: When <rev> is not specified, the command annotates the changes starting backwards from the working tree copy.  This flag makes the command pretend as if the working tree copy has the contents of the named file (specify `-` to make the command read from the standard input).
fr: Lorsque <rév> n'est pas spécifié, la commande annote les modifications en arrière à partir de la copie de l'arbre de travail.  Ce drapeau permet à la commande de faire croire que la copie de l'arbre de travail contient le contenu du fichier nommé (spécifier `-` pour que la commande lise à partir de l'entrée standard).

note: type: Plain text
en: Specifies the format used to output dates. If --date is not provided, the value of the blame.date config variable is used. If the blame.date config variable is also not set, the iso format is used. For supported values, see the discussion of the --date option at linkgit:git-log[1].
fr: 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 à linkgit:git-log[1].

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal. This flag enables progress reporting even if not attached to a terminal. Can't use `--progress` together with `--porcelain` or `--incremental`.
fr: L'état d'avancement est indiqué par défaut sur le flux d'erreurs standard lorsqu'il est connecté à un terminal. Ce drapeau permet de signaler l'état d'avancement même s'il n'est pas attaché à un terminal. On ne peut pas utiliser `--progress` avec `--porcelain` ou `--incremental`.

note: type: Plain text
en: Detect moved or copied lines within a file. When a commit moves or copies a block of lines (e.g. the original file has A and then B, and the commit changes it to B and then A), the traditional 'blame' algorithm notices only half of the movement and typically blames the lines that were moved up (i.e. B) to the parent and assigns blame to the lines that were moved down (i.e. A) to the child commit.  With this option, both groups of lines are blamed on the parent by running extra passes of inspection.
fr: Détecter les lignes déplacées ou copiées dans un fichier. Lorsqu'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'algorithme traditionnel de 'blame' 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'est-à-dire B) au parent et attribue le blâme aux lignes qui ont été déplacées vers le bas (c'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'inspection supplémentaires.

note: type: Plain text
en: <num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying within a file for it to associate those lines with the parent commit. The default value is 20.
fr: <num>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.

note: type: Plain text
en: In addition to `-M`, detect lines moved or copied from other files that were modified in the same commit.  This is useful when you reorganize your program and move code around across files.  When this option is given twice, the command additionally looks for copies from other files in the commit that creates the file. When this option is given three times, the command additionally looks for copies from other files in any commit.
fr: En plus de `-M`, détecter les lignes déplacées ou copiées à partir d'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'un fichier à l'autre.  Lorsque cette option est donnée deux fois, la commande recherche en plus les copies depuis d'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'autres fichiers dans n'importe quel commit.

note: type: Plain text
en: <num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying between files for it to associate those lines with the parent commit. And the default value is 40. If there are more than one `-C` options given, the <num> argument of the last `-C` will take effect.
fr: <num> est optionnel mais c'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'il puisse associer ces lignes au commit parent. Et la valeur par défaut est 40. S'il y a plus d'une option `-C` donnée, l'argument <num> du dernier `-C` prendra effet.

note: type: Labeled list
en: --ignore-rev <rev>
fr: --ignore-rev <rév>

note: type: Plain text
en: Ignore changes made by the revision when assigning blame, as if the change never happened.  Lines that were changed or added by an ignored commit will be blamed on the previous commit that changed that line or nearby lines.  This option may be specified multiple times to ignore more than one revision.  If the `blame.markIgnoredLines` config option is set, then lines that were changed by an ignored commit and attributed to another commit will be marked with a `?` in the blame output.  If the `blame.markUnblamableLines` config option is set, then those lines touched by an ignored commit that we could not attribute to another revision are marked with a '*'.
fr: Ignorer les modifications apportées par la révision lors de l'attribution de la responsabilité, comme si la modification ne s'é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'une révision.  Si l'option de configuration `blame.markIgnoredLines` 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 `?` dans la sortie de blame.  Si l'option de configuration `blame.markUnblamableLines` est définie, alors les lignes touchées par un commit ignoré que nous n'avons pas pu attribuer à une autre révision sont marquées d'un '*'.

note: type: Labeled list
en: --ignore-revs-file <file>
fr: --ignore-revs-file <fichier>

note: type: Plain text
en: Ignore revisions listed in `file`, which must be in the same format as an `fsck.skipList`.  This option may be repeated, and these files will be processed after any files specified with the `blame.ignoreRevsFile` config option.  An empty file name, `""`, will clear the list of revs from previously processed files.
fr: Ignorer les révisions listées dans le `fichier`, qui doit être au même format qu'un `fsck.skipList`.  Cette option peut être répétée, et ces fichiers seront traités après tous les fichiers spécifiés avec l'option de configuration `blame.ignoreRevsFile`.  Un nom de fichier vide, `""`, effacera la liste des révisions des fichiers précédemment traités.

note: type: Plain text
en: Show help message.
fr: Afficher le message d'aide.

note: type: Plain text
en: Annotate file lines with commit information.
fr: Annoter les lignes du fichier avec l'information de commit.

note: type: Plain text
en: Show what revision and author last modified each line of a file.
fr: Montrer la révision et l'auteur qui ont modifié en dernier chaque ligne d'un fichier.

note: type: Plain text
en: Collect information for user to file a bug report.
fr: Collecter des informations pour que l’utilisateur dépose un rapport de bogue.

note: type: Plain text
en: Count unpacked number of objects and their disk consumption.
fr: Compter le nombre non-empaqueté d'objets et leur consommation d'espace disque.

note: type: Plain text
en: Show changes using common diff tools.
fr: Afficher les modifications en utilisant les outils habituels de diff.

note: type: Plain text
en: Verifies the connectivity and validity of the objects in the database.
fr: Vérifie la connectivité et la validité des objets en base de données.

note: type: Plain text
en: Display help information about Git.
fr: Afficher l'information d'aide à propos de Git.

note: type: Plain text
en: Instantly browse your working repository in gitweb.
fr: Naviguer instantanément votre dépôt de travail dans gitweb.

note: type: Plain text
en: Show three-way merge without touching index.
fr: Afficher la fusion à trois points sans modifier l'index.

note: type: Plain text
en: Reuse recorded resolution of conflicted merges.
fr: Réutiliser une résolution enregistrée de fusions conflictuelles.

note: type: Plain text
en: Show branches and their commits.
fr: Afficher les branches et leurs commits.

note: type: Plain text
en: Check the GPG signature of commits.
fr: Vérifier la signature GPG de commits.

note: type: Plain text
en: Check the GPG signature of tags.
fr: Vérifier la signature GPG d'étiquettes.

note: type: Plain text
en: Show logs with difference each commit introduces.
fr: Afficher les journaux avec la différence que chaque commit introduit.

note: type: Plain text
en: Git web interface (web frontend to Git repositories).
fr: Interface web de Git (frontal web vers les dépôts Git).

note: type: Plain text
en: Get and set repository or global options.
fr: Voir et régler les options globales ou de dépôt.

note: type: Plain text
en: Git data exporter.
fr: Exporteur de données Git.

note: type: Plain text
en: Backend for fast Git data importers.
fr: Moteur pour les importateurs rapides de données Git.

note: type: Plain text
en: Rewrite branches.
fr: Réécrire les branches.

note: type: Plain text
en: Run merge conflict resolution tools to resolve merge conflicts.
fr: Lancer les outils de résolution de conflit de fusion pour résoudre les conflits de fusion.

note: type: Plain text
en: Pack heads and tags for efficient repository access.
fr: Empaqueter les têtes et les étiquettes pour un accès efficace au dépôt.

note: type: Plain text
en: Prune all unreachable objects from the object database.
fr: Élaguer tous les objets non joignables de la base de données d'objets.

note: type: Plain text
en: Manage reflog information.
fr: Gérer l'information de reflog.

note: type: Plain text
en: Manage set of tracked repositories.
fr: Gerer un ensemble de dépôts suivis.

note: type: Plain text
en: Pack unpacked objects in a repository.
fr: Empaqueter les objets non-empaquetés dans un dépôt.

note: type: Plain text
en: Create, list, delete refs to replace objects.
fr: Créer, lister, supprimer des référence pour remplacer des objets.

note: type: Plain text
en: Import a GNU Arch repository into Git.
fr: Importer dans Git un dépôt GNU Arch.

note: type: Plain text
en: Export a single commit to a CVS checkout.
fr: Exporter un commit unique en extraction CVS.

note: type: Plain text
en: Salvage your data out of another SCM people love to hate.
fr: Sauver vos données depuis un autre SCM qu'on aime haïr.

note: type: Plain text
en: A CVS server emulator for Git.
fr: Un émulateur de serveur CVS pour Git.

note: type: Plain text
en: Send a collection of patches from stdin to an IMAP folder.
fr: Envoyer un ensemble de patchs depuis stdin vers un répertoire IMAP.

note: type: Plain text
en: Import from and submit to Perforce repositories.
fr: Importer depuis et soumettre vers des dépôts Perforce.

note: type: Plain text
en: Applies a quilt patchset onto the current branch.
fr: Appliquer un patchset quilt sur la branche courante.

note: type: Plain text
en: Generates a summary of pending changes.
fr: Générer une résumé des modifications en attentes.

note: type: Plain text
en: Send a collection of patches as emails.
fr: Envoyer un ensemble de rustines comme courriels.

note: type: Plain text
en: Bidirectional operation between a Subversion repository and Git.
fr: Opération Bidirectionnelle entre un dépôt Subversion et Git.

note: type: Plain text
en: Defining attributes per path.
fr: Définir les attributs par chemin.

note: type: Plain text
en: Git command-line interface and conventions.
fr: Interface et conventions de la ligne de commande Git.

note: type: Plain text
en: A Git core tutorial for developers.
fr: Un tutoriel de base sur Git pour les développeurs.

note: type: Plain text
en: Providing usernames and passwords to Git.
fr: Fournir des noms d’utilisateur et des mots de passe à Git.

note: type: Plain text
en: Git for CVS users.
fr: Git pour les utilisateurs de CVS.

note: type: Plain text
en: Tweaking diff output.
fr: Bricoler la sortie diff.

note: type: Plain text
en: A useful minimum set of commands for Everyday Git.
fr: Un ensemble minimum de commandes utiles pour l'utilisation quotidienne de Git.

note: type: Plain text
en: Frequently asked questions about using Git.
fr: Foire aux questions sur l'utilisation de Git.

note: type: Plain text
en: A Git Glossary.
fr: Un glossaire de Git.

note: type: Plain text
en: Hooks used by Git.
fr: Crochets utilisés par Git.

note: type: Plain text
en: Specifies intentionally untracked files to ignore.
fr: Spécifie les fichiers intentionnellement non suivis à ignorer.

note: type: Plain text
en: Map author/committer names and/or E-Mail addresses.
fr: Fais correspondre les noms des auteurs/validateurs et/ou les adresses électroniques.

note: type: Plain text
en: Defining submodule properties.
fr: Définition des propriétés des sous-modules.

note: type: Plain text
en: Git namespaces.
fr: Espaces de noms Git.

note: type: Plain text
en: Helper programs to interact with remote repositories.
fr: Programmes d'aide pour interagir avec les dépôts distants.

note: type: Plain text
en: Git Repository Layout.
fr: Disposition d'un dépôt Git.

note: type: Plain text
en: Specifying revisions and ranges for Git.
fr: Spécifier les révisions et les plages pour Git.

note: type: Plain text
en: Mounting one repository inside another.
fr: Montage d'un dépôt à l'intérieur d'un autre.

note: type: Plain text
en: A tutorial introduction to Git.
fr: Une introduction tutorielle à Git.

note: type: Plain text
en: A tutorial introduction to Git: part two.
fr: Une introduction tutorielle à Git : deuxième partie.

note: type: Plain text
en: An overview of recommended workflows with Git.
fr: Un aperçu des flux de travail recommandés avec Git.

note: type: Plain text
en: Add file contents to the index.
fr: Ajouter le contenu de fichiers à l'index.

note: type: Plain text
en: Apply a series of patches from a mailbox.
fr: Appliquer une série de rustines depuis des fichiers mailbox.

note: type: Plain text
en: Create an archive of files from a named tree.
fr: Créer une archive des fichiers depuis un arbre nommé.

note: type: Plain text
en: Use binary search to find the commit that introduced a bug.
fr: Trouver par recherche binaire la modification qui a introduit un bogue.

note: type: Plain text
en: List, create, or delete branches.
fr: Lister, créer ou supprimer des branches.

note: type: Plain text
en: Move objects and refs by archive.
fr: Déplacer les objets et références par archive.

note: type: Plain text
en: Switch branches or restore working tree files.
fr: Basculer de branche ou restaurer les fichiers des arbres de travail.

note: type: Plain text
en: Apply the changes introduced by some existing commits.
fr: Appliquer les modifications introduites par des commits existants.

note: type: Plain text
en: Graphical alternative to git-commit.
fr: Alternative graphique à git-commit.

note: type: Plain text
en: Remove untracked files from the working tree.
fr: Supprimer des fichiers non-suivis depuis un arbre de travail.

note: type: Plain text
en: Clone a repository into a new directory.
fr: Cloner un dépôt dans un nouveau répertoire.

note: type: Plain text
en: Record changes to the repository.
fr: Enregistrer les modifications dans le dépôt.

note: type: Plain text
en: Give an object a human readable name based on an available ref.
fr: Baptiser un objet avec un nom lisible basé sur une référence disponible.

note: type: Plain text
en: Show changes between commits, commit and working tree, etc.
fr: Afficher les modifications entre les validations, entre validation et copie de travail, etc.

note: type: Plain text
en: Download objects and refs from another repository.
fr: Télécharger les objets et références depuis un autre dépôt.

note: type: Plain text
en: Prepare patches for e-mail submission.
fr: Préparer les rustines pour soumission par courriel.

note: type: Plain text
en: Cleanup unnecessary files and optimize the local repository.
fr: Effacer les fichiers non-nécessaires et optimiser le dépôt local.

note: type: Plain text
en: Print lines matching a pattern.
fr: Afficher les lignes correspondant à un motif.

note: type: Plain text
en: A portable graphical interface to Git.
fr: Une interface graphique portable pour Git.

note: type: Plain text
en: Create an empty Git repository or reinitialize an existing one.
fr: Créer un dépôt Git vide ou réinitialise un dépôt existant.

note: type: Plain text
en: Show commit logs.
fr: Afficher l'historique des validations.

note: type: Plain text
en: Run tasks to optimize Git repository data.
fr: Exécuter des tâches pour optimiser les données du dépôt Git.

note: type: Plain text
en: Join two or more development histories together.
fr: Fusionner deux ou plusieurs historiques de développement ensemble.

note: type: Plain text
en: Move or rename a file, a directory, or a symlink.
fr: Déplacer ou renommer un fichier, un répertoire, ou un lien symbolique.

note: type: Plain text
en: Add or inspect object notes.
fr: Ajouter ou inspecter les notes d'un objet.

note: type: Plain text
en: Fetch from and integrate with another repository or a local branch.
fr: Rapatrier et intégrer un autre dépôt ou une branche locale.

note: type: Plain text
en: Update remote refs along with associated objects.
fr: Mettre à jour les références distantes ainsi que les objets associés.

note: type: Plain text
en: Compare two commit ranges (e.g. two versions of a branch).
fr: Comparer deux plages de commits (par exemple deux versions d'une branche).

note: type: Plain text
en: Reapply commits on top of another base tip.
fr: Réappliquet des commits sur le sommet de l'autre base.

note: type: Plain text
en: Reset current HEAD to the specified state.
fr: Réinitialiser la HEAD actuelle à l'état spécifié.

note: type: Plain text
en: Restore working tree files.
fr: Corriger les fichiers de l'arbre de travail.

note: type: Plain text
en: Revert some existing commits.
fr: Inverser des commits existants.

note: type: Plain text
en: Remove files from the working tree and from the index.
fr: Supprimer des fichiers d'un arbre de travail ou de l'index.

note: type: Plain text
en: Summarize 'git log' output.
fr: Résumer la sortie de 'git log'.

note: type: Plain text
en: Show various types of objects.
fr: Afficher différents types d'objets.

note: type: Plain text
en: Initialize and modify the sparse-checkout.
fr: Initialiser et modifier l'extraction partielle.

note: type: Plain text
en: Stash the changes in a dirty working directory away.
fr: Remiser les modifications d'un répertoire de travail sale.

note: type: Plain text
en: Show the working tree status.
fr: Afficher l'état de l'arbre de travail.

note: type: Plain text
en: Initialize, update or inspect submodules.
fr: Initialiser, mettre à jour et inspecter les sous-modules.

note: type: Plain text
en: Switch branches.
fr: Basculer de branche.

note: type: Plain text
en: Create, list, delete or verify a tag object signed with GPG.
fr: Créer, lister, supprimer ou vérifier un objet d'étiquette signé avec GPG.

note: type: Plain text
en: Manage multiple working trees.
fr: Gérer des arbres de travail multiples.

note: type: Plain text
en: The Git repository browser.
fr: Le navigateur de dépôt Git.

note: type: Plain text
en: Provide content or type and size information for repository objects.
fr: Fournir le contenu ou l'information de type et taille pour les objets du dépôt.

note: type: Plain text
en: Find commits yet to be applied to upstream.
fr: Trouver les commits à appliquer en amont.

note: type: Plain text
en: Compares files in the working tree and the index.
fr: Comparer des fichiers dans l'arbre de travail et l'index.

note: type: Plain text
en: Compare a tree to the working tree or index.
fr: Comparer un arbre à l'arbre de travail ou l'index.

note: type: Plain text
en: Compares the content and mode of blobs found via two tree objects.
fr: Comparer le contenu et le mode des blobs trouvés via deux objets arbre.

note: type: Plain text
en: Output information on each ref.
fr: Afficher des informations sur chaque référence.

note: type: Plain text
en: Run a Git command on a list of repositories.
fr: Exécuter une commande Git sur une liste de dépôts.

note: type: Plain text
en: Extract commit ID from an archive created using git-archive.
fr: Extraire l'ID du commit depuis une archive créée par git-archive.

note: type: Plain text
en: Show information about files in the index and the working tree.
fr: Afficher des informations sur les fichiers de l'index et de l'arbre de travail.

note: type: Plain text
en: List references in a remote repository.
fr: Lister les références dans un dépôt distant.

note: type: Plain text
en: List the contents of a tree object.
fr: Afficher le contenu d'un objet arbre.

note: type: Plain text
en: Find as good common ancestors as possible for a merge.
fr: Trouver un ancêtre aussi bon que possible pour une fusion.

note: type: Plain text
en: Find symbolic names for given revs.
fr: Trouver les noms symboliques pour des révisions données.

note: type: Plain text
en: Find redundant pack files.
fr: Trouver les fichiers pack redondants.

note: type: Plain text
en: Lists commit objects in reverse chronological order.
fr: Afficher les objets commit dans l'ordre chronologique inverse.

note: type: Plain text
en: Pick out and massage parameters.
fr: Analyser et préparer les paramètres.

note: type: Plain text
en: Show packed archive index.
fr: Afficher l'index de l'archive empaquetée.

note: type: Plain text
en: List references in a local repository.
fr: Lister les références du dépôt local.

note: type: Plain text
en: Creates a temporary file with a blob's contents.
fr: Créer un fichier temporaire avec le contenu d'un blob.

note: type: Plain text
en: Show a Git logical variable.
fr: Afficher un variable logique de Git.

note: type: Plain text
en: Validate packed Git archive files.
fr: Valider des fichiers d'archive Git empaquetés.

note: type: Plain text
en: Apply a patch to files and/or to the index.
fr: Appliquer un correctif à des fichiers et/ou à l'index.

note: type: Plain text
en: Copy files from the index to the working tree.
fr: Copier des fichiers depuis l'index dans l'arbre de travail.

note: type: Plain text
en: Write and verify Git commit-graph files.
fr: Écrire et vérifier les fichiers de graphe de commit Git.

note: type: Plain text
en: Create a new commit object.
fr: Créer un nouvel objet commit.

note: type: Plain text
en: Compute object ID and optionally creates a blob from a file.
fr: Calculer l'ID d'objet et créer optionnellement un blob depuis un fichier.

note: type: Plain text
en: Build pack index file for an existing packed archive.
fr: Construire un fichier d'index pack depuis une archive compactée existante.

note: type: Plain text
en: Run a three-way file merge.
fr: Lancer une fusion à 3 points.

note: type: Plain text
en: Run a merge for files needing merging.
fr: Lancer une fusion à 3 points pour les fichiers à fusionner.

note: type: Plain text
en: Creates a tag object with extra validation.
fr: Créer un objet étiquette avec une validation supplémentaire.

note: type: Plain text
en: Build a tree-object from ls-tree formatted text.
fr: Construire un objet arbre depuis du texte au format ls-tree.

note: type: Plain text
en: Write and verify multi-pack-indexes.
fr: Écrire et vérifier les index multi-paquet.

note: type: Plain text
en: Create a packed archive of objects.
fr: Créer une archive compactée d'objets.

note: type: Plain text
en: Remove extra objects that are already in pack files.
fr: Éliminer les objets supplémentaires qui sont déjà présents dans les fichiers pack.

note: type: Plain text
en: Reads tree information into the index.
fr: Lire l'information d'arbre dans l'index.

note: type: Plain text
en: Read, modify and delete symbolic refs.
fr: Lire, modifier et supprimer les références symboliques.

note: type: Plain text
en: Unpack objects from a packed archive.
fr: Dépaqueter les objets depuis une archive empaquetée.

note: type: Plain text
en: Register file contents in the working tree to the index.
fr: Enregistrer le contenu de fichiers de l'arbre de travail dans l'index.

note: type: Plain text
en: Update the object name stored in a ref safely.
fr: Mettre à jour le nom d'objet stocké dans une référence en toute sécurité.

note: type: Plain text
en: Create a tree object from the current index.
fr: Créer un objet arbre depuis l'index courant.

note: type: Plain text
en: Display gitattributes information.
fr: Afficher les informations de gitattributes.

note: type: Plain text
en: Debug gitignore / exclude files.
fr: Déboguer gitignore / les fichiers d'exclusion.

note: type: Plain text
en: Show canonical names and email addresses of contacts.
fr: Afficher les noms canoniques et les adresses courriel des contacts.

note: type: Plain text
en: Ensures that a reference name is well formed.
fr: S'assurer qu'un nom de référence est bien formé.

note: type: Plain text
en: Display data in columns.
fr: Afficher les données en colonnes.

note: type: Plain text
en: Retrieve and store user credentials.
fr: Récupérer et sauvegarder les certificats d'utilisateur.

note: type: Plain text
en: Helper to temporarily store passwords in memory.
fr: Assistant pour maintenir temporairement en mémoire les mots de passe.

note: type: Plain text
en: Helper to store credentials on disk.
fr: Assistant pour sauvegarder les certificats sur disque.

note: type: Plain text
en: Produce a merge commit message.
fr: Produire un message de validation de fusion.

note: type: Plain text
en: Add or parse structured information in commit messages.
fr: Ajouter ou analyser l'information structurée dans les messages de validation.

note: type: Plain text
en: Extracts patch and authorship from a single e-mail message.
fr: Extraire la rustine et l'information de d'auteur depuis un simple message de courriel.

note: type: Plain text
en: Simple UNIX mbox splitter program.
fr: Programme simple de découpage de mbox UNIX.

note: type: Plain text
en: The standard helper program to use with git-merge-index.
fr: Le programme d'assistant standard à utiliser avec git-merge-index.

note: type: Plain text
en: Compute unique ID for a patch.
fr: Calculer l'ID unique d'une rustine.

note: type: Plain text
en: Git's i18n setup code for shell scripts.
fr: Le code d'initialisation i18n pour les scripts shell.

note: type: Plain text
en: Common Git shell script setup code.
fr: Le code d'initialisation commun aux scripts shell Git.

note: type: Plain text
en: Remove unnecessary whitespace.
fr: Retirer les espaces inutiles.

note: type: Plain text
en: Download from a remote Git repository via HTTP.
fr: Télécharger depuis un dépôt Git distant via HTTP.

note: type: Plain text
en: Push objects over HTTP/DAV to another repository.
fr: Pousser des objets par HTTP/DAV vers un autre dépôt.

note: type: Plain text
en: Receive what is pushed into the repository.
fr: Recevoir ce qui est poussé dans un dépôt.

note: type: Plain text
en: Restricted login shell for Git-only SSH access.
fr: Shell de login restreint pour un accès SSH vers Git seulement.

note: type: Plain text
en: Send archive back to git-archive.
fr: Renvoyer une archive dans git-archive.

note: type: Plain text
en: Send objects packed back to git-fetch-pack.
fr: Renvoyer des objets empaquetés dans git-fetch-pack.

note: type: Plain text
en: A really simple server for Git repositories.
fr: Un serveur vraiment très simple pour les dépôts Git.

note: type: Plain text
en: Receive missing objects from another repository.
fr: Recevoir des objets manquants depuis un autre dépôt.

note: type: Plain text
en: Server side implementation of Git over HTTP.
fr: Implantation côté serveur de Git sur HTTP.

note: type: Plain text
en: Push objects over Git protocol to another repository.
fr: Pousser des objets sur le protocole Git sur un autre dépôt.

note: type: Plain text
en: Update auxiliary info file to help dumb servers.
fr: Mettre à jour le fichier d'informations auxiliaires pour aider les serveurs idiots.

note: type: Title -
en: CONFIGURATION FILE
fr: FICHIER DE CONFIGURATION

note: type: Plain text
en: The Git configuration file contains a number of variables that affect the Git commands' behavior. The files `.git/config` and optionally `config.worktree` (see the "CONFIGURATION FILE" section of linkgit:git-worktree[1]) in each repository are used to store the configuration for that repository, and `$HOME/.gitconfig` is used to store a per-user configuration as fallback values for the `.git/config` file. The file `/etc/gitconfig` can be used to store a system-wide default configuration.
fr: Le fichier de configuration Git contient un certain nombre de variables qui affectent le comportement des commandes Git. Les fichiers `.git/config` et éventuellement `config.worktree` (voir la section "FICHIER DE CONFIGURATION" de linkgit:git-worktree[1]) dans chaque dépôt sont utilisés pour stocker la configuration de ce dépôt, et `$HOME/.gitconfig` est utilisé pour stocker une configuration par utilisateur comme valeurs de repli pour le fichier `.git/config`. Le fichier `/etc/gitconfig` peut être utilisé pour stocker une configuration par défaut pour l'ensemble du système.

note: type: Plain text
en: The configuration variables are used by both the Git plumbing and the porcelains. The variables are divided into sections, wherein the fully qualified variable name of the variable itself is the last dot-separated segment and the section name is everything before the last dot. The variable names are case-insensitive, allow only alphanumeric characters and `-`, and must start with an alphabetic character.  Some variables may appear multiple times; we say then that the variable is multivalued.
fr: Les variables de configuration sont utilisées à la fois par la plomberie Git et les porcelaines. Les variables sont divisées en sections, dans lesquelles le nom de variable entièrement qualifié de la variable elle-même est le dernier segment séparé par un point et le nom de la section est tout ce qui précède le dernier point. Les noms de variables sont insensibles à la casse, n'autorisent que les caractères alphanumériques et `-`, et doivent commencer par un caractère alphabétique.  Certaines variables peuvent apparaître plusieurs fois ; on dit alors que la variable est multivaluée.

note: type: Title ~
en: Syntax
fr: Syntaxe

note: type: Plain text
en: The syntax is fairly flexible and permissive; whitespaces are mostly ignored.  The '#' and ';' characters begin comments to the end of line, blank lines are ignored.
fr: La syntaxe est assez souple et permissive ; les espaces blancs sont généralement ignorés.  Les caractères '#' et ' ;' commencent les commentaires à la fin de la ligne, les lignes blanches sont ignorées.

note: type: Plain text
en: The file consists of sections and variables.  A section begins with the name of the section in square brackets and continues until the next section begins.  Section names are case-insensitive.  Only alphanumeric characters, `-` and `.` are allowed in section names.  Each variable must belong to some section, which means that there must be a section header before the first setting of a variable.
fr: Le fichier se compose de sections et de variables.  Une section commence par le nom de la section entre crochets et se poursuit jusqu'au début de la section suivante.  Les noms de section ne sont pas sensibles à la casse.  Seuls les caractères alphanumériques, `-` et `.` sont autorisés dans les noms de section.  Chaque variable doit appartenir à une section, ce qui signifie qu'il doit y avoir un en-tête de section avant le premier paramétrage d'une variable.

note: type: Plain text
en: Sections can be further divided into subsections.  To begin a subsection put its name in double quotes, separated by space from the section name, in the section header, like in the example below:
fr: Les sections peuvent être divisées en sous-sections. Pour commencer une sous-section, mettez son nom entre guillemets, séparé  du nom de la section par un espace, dans l'en-tête de la section, comme dans l'exemple ci-dessous :

note: type: delimited block -
en: 	[section "subsection"]
fr: 	[section "sous-section"]

note: type: Plain text
en: Subsection names are case sensitive and can contain any characters except newline and the null byte. Doublequote `"` and backslash can be included by escaping them as `\"` and `\\`, respectively. Backslashes preceding other characters are dropped when reading; for example, `\t` is read as `t` and `\0` is read as `0`. Section headers cannot span multiple lines.  Variables may belong directly to a section or to a given subsection. You can have `[section]` if you have `[section "subsection"]`, but you don't need to.
fr: Les noms de sous-sections sont sensibles à la casse et peuvent contenir n'importe quel caractère, à l'exception du saut de ligne et de l'octet nul. Les guillemets `"` et les barres obliques inverses peuvent être inclus en les échappant sous la forme `\"` et `\\`, respectivement. Les barres obliques inverses précédant d'autres caractères sont supprimées lors de la lecture ; par exemple, `\t` est lu comme `t` et `\0` est lu comme `0`. Les en-têtes de section ne peuvent pas s'étendre sur plusieurs lignes.  Les variables peuvent appartenir directement à une section ou à une sous-section donnée. Vous pouvez avoir une `[section]` si vous avez `[section sous-section]`, mais vous n'en avez pas besoin.

note: type: Plain text
en: There is also a deprecated `[section.subsection]` syntax. With this syntax, the subsection name is converted to lower-case and is also compared case sensitively. These subsection names follow the same restrictions as section names.
fr: Il existe également une syntaxe `[section.sous-section]` obsolète. Avec cette syntaxe, le nom de la sous-section est converti en minuscules et est également comparé en tenant compte de la casse. Ces noms de sous-sections suivent les mêmes restrictions que les noms de sections.

note: type: Plain text
en: All the other lines (and the remainder of the line after the section header) are recognized as setting variables, in the form 'name = value' (or just 'name', which is a short-hand to say that the variable is the boolean "true").  The variable names are case-insensitive, allow only alphanumeric characters and `-`, and must start with an alphabetic character.
fr: Toutes les autres lignes (et le reste de la ligne après l'en-tête de section) sont reconnues comme des variables de réglage, sous la forme 'nom = valeur' (ou simplement 'nom', qui est un raccourci pour dire que la variable est le booléen « vrai »).  Les noms des variables sont insensibles à la casse, n'autorisent que les caractères alphanumériques et `-`, et doivent commencer par un caractère alphabétique.

note: type: Plain text
en: A line that defines a value can be continued to the next line by ending it with a `\`; the backslash and the end-of-line are stripped.  Leading whitespaces after 'name =', the remainder of the line after the first comment character '#' or ';', and trailing whitespaces of the line are discarded unless they are enclosed in double quotes.  Internal whitespaces within the value are retained verbatim.
fr: Une ligne qui définit une valeur peut se poursuivre jusqu'à la ligne suivante en la terminant par un `\` ; la barre arrière et la fin de la ligne sont supprimés.  Les espaces après 'nom =', le reste de la ligne après le premier caractère de commentaire '#' ou ' ;', et les espaces de fin de ligne sont supprimés, sauf s'ils sont entre guillemets.  Les espaces internes à l'intérieur de la valeur sont conservés textuellement.

note: type: Plain text
en: Inside double quotes, double quote `"` and backslash `\` characters must be escaped: use `\"` for `"` and `\\` for `\`.
fr: À l'intérieur des guillemets, les caractères guillemet `"` et barre inversée `\` doivent être échappés : utilisez `\"` pour `"` et `\\` pour `\`.

note: type: Plain text
en: The following escape sequences (beside `\"` and `\\`) are recognized: `\n` for newline character (NL), `\t` for horizontal tabulation (HT, TAB)  and `\b` for backspace (BS).  Other char escape sequences (including octal escape sequences) are invalid.
fr: Les séquences d'échappement suivantes (en plus de `\"` et `\\`) sont reconnues : `\n` pour le caractère de retour à la ligne (NL), `\t` pour la tabulation horizontale (HT, TAB) et `\b` pour l'espacement arrière (BS).  Les autres séquences d'échappement de caractères (y compris les séquences d'échappement octales) ne sont pas valides.

note: type: Title ~
en: Includes
fr: Inclusions

note: type: Plain text
en: The `include` and `includeIf` sections allow you to include config directives from another source. These sections behave identically to each other with the exception that `includeIf` sections may be ignored if their condition does not evaluate to true; see "Conditional includes" below.
fr: Les sections `include` et `includeIf` vous permettent d'inclure des directives de configuration provenant d'une autre source. Ces sections se comportent de manière identique, à l'exception des sections `includeIf` qui peuvent être ignorées si leur condition n'est pas évaluée comme vraie ; voir "Inclusions conditionnelles" ci-dessous.

note: type: Plain text
en: You can include a config file from another by setting the special `include.path` (or `includeIf.*.path`) variable to the name of the file to be included. The variable takes a pathname as its value, and is subject to tilde expansion. These variables can be given multiple times.
fr: Vous pouvez inclure un fichier de configuration à partir d’un autre en définissant la variable spéciale `include.path` (ou `includeIf.*.path`) au nom du fichier à inclure. La variable prend un nom de chemin comme valeur, et est soumise à l’expansion tilde. Ces variables peuvent être données plusieurs fois.

note: type: Plain text
en: The contents of the included file are inserted immediately, as if they had been found at the location of the include directive. If the value of the variable is a relative path, the path is considered to be relative to the configuration file in which the include directive was found.  See below for examples.
fr: Le contenu du fichier inclus est inséré immédiatement, comme s'il avait été trouvé à l'endroit de la directive d'inclusion. Si la valeur de la variable est un chemin relatif, le chemin est considéré comme relatif au fichier de configuration dans lequel la directive include a été trouvée.  Voir ci-dessous pour des exemples.

note: type: Title ~
en: Conditional includes
fr: Inclusions conditionnelles

note: type: Plain text
en: You can include a config file from another conditionally by setting a `includeIf.<condition>.path` variable to the name of the file to be included.
fr: Vous pouvez inclure un fichier de configuration provenant d'un autre fichier conditionnellement en définissant une variable `includeIf.<condition>.path` au nom du fichier à inclure.

note: type: Plain text
en: The condition starts with a keyword followed by a colon and some data whose format and meaning depends on the keyword. Supported keywords are:
fr: La condition commence par un mot-clé suivi d'un deux-points et de quelques données dont le format et la signification dépendent du mot-clé. Les mots-clés pris en charge sont les suivants :

note: type: Plain text
en: The data that follows the keyword `gitdir:` is used as a glob pattern. If the location of the .git directory matches the pattern, the include condition is met.
fr: Les données qui suivent le mot-clé `gitdir:` sont utilisées comme modèle de motif glob. Si l'emplacement du répertoire .git correspond au motif, la condition d'inclusion est remplie.

note: type: Plain text
en: The .git location may be auto-discovered, or come from `$GIT_DIR` environment variable. If the repository is auto discovered via a .git file (e.g. from submodules, or a linked worktree), the .git location would be the final location where the .git directory is, not where the
fr: L'emplacement de .git peut être découvert automatiquement ou provenir de la variable d'environnement `$GIT_DIR`. Si le dépôt est découvert automatiquement via un fichier .git (par exemple à partir de sous-modules ou d'un arbre de travail lié), l'emplacement .git sera l'emplacement final où se trouve le répertoire .git, et non pas ou le fichier .git

note: type: Block title
en: git file is.
fr: se trouve.

note: type: Plain text
en: The pattern can contain standard globbing wildcards and two additional ones, `**/` and `/**`, that can match multiple path components. Please refer to linkgit:gitignore[5] for details. For convenience:
fr: Le motif peut contenir des caractères génériques de globbing standard et deux autres, `**/` et `/**`, qui peuvent correspondre à plusieurs composants de chemin d’accès. Veuillez consulter linkgit:gitignore[5] pour plus de détails. Pour plus de commodité :

note: type: Plain text
en: If the pattern starts with `~/`, `~` will be substituted with the content of the environment variable `HOME`.
fr: Si le motif commence par `~/`, `~` sera remplacé par le contenu de la variable d'environnement `HOME`.

note: type: Plain text
en: If the pattern starts with `./`, it is replaced with the directory containing the current config file.
fr: Si le motif commence par '`./`, il est remplacé par le répertoire contenant le fichier de configuration actuel.

note: type: Plain text
en: If the pattern does not start with either `~/`, `./` or `/`, `**/` will be automatically prepended. For example, the pattern `foo/bar` becomes `**/foo/bar` and would match `/any/path/to/foo/bar`.
fr: Si le motif ne commence pas par `~/`, `./` ou `/`, `**/` sera automatiquement ajouté en préfixe. Par exemple, le motif `foo/bar` devient `**/foo/bar` et correspondra à `tout/chemin/vers/foo/bar`.

note: type: Plain text
en: If the pattern ends with `/`, `**` will be automatically added. For example, the pattern `foo/` becomes `foo/**`. In other words, it matches "foo" and everything inside, recursively.
fr: Si le motif se termine par `/`, `**` sera automatiquement ajouté. Par exemple, le motif `foo/` devient `foo/**`. En d'autres termes, il correspond à `foo` et à tout ce qui se trouve à l'intérieur, de manière récursive.

note: type: Plain text
en: This is the same as `gitdir` except that matching is done case-insensitively (e.g. on case-insensitive file systems)
fr: C'est la même chose que `gitdir` sauf que la correspondance se fait sans tenir compte de la casse (par exemple sur les systèmes de fichiers insensibles à la casse)

note: type: Plain text
en: The data that follows the keyword `onbranch:` is taken to be a pattern with standard globbing wildcards and two additional ones, `**/` and `/**`, that can match multiple path components.  If we are in a worktree where the name of the branch that is currently checked out matches the pattern, the include condition is met.
fr: Les données qui suivent le mot-clé `onbranch:` sont considérées comme un motif avec des jokers standard et deux autres, `**/` et `/**`, qui peuvent correspondre à plusieurs composants de chemin.  Si nous nous trouvons dans un arbre de travail où le nom de la branche actuellement extraite correspond au motif, la condition d'inclusion est remplie.

note: type: Plain text
en: If the pattern ends with `/`, `**` will be automatically added. For example, the pattern `foo/` becomes `foo/**`. In other words, it matches all branches that begin with `foo/`. This is useful if your branches are organized hierarchically and you would like to apply a configuration to all the branches in that hierarchy.
fr: Si le motif se termine par `/`, `**` sera automatiquement ajouté. Par exemple, le motif `foo/` devient `foo/**`. En d'autres termes, il correspond à toutes les branches qui commencent par `foo/`. Ceci est utile si vos branches sont organisées de manière hiérarchique et que vous souhaitez appliquer une configuration à toutes les branches de cette hiérarchie.

note: type: Plain text
en: A few more notes on matching via `gitdir` and `gitdir/i`:
fr: Quelques notes supplémentaires sur la correspondance via `gitdir` et `gitdir/i` :

note: type: Plain text
en: Symlinks in `$GIT_DIR` are not resolved before matching.
fr: Les liens symboliques dans `$GIT_DIR` ne sont pas résolus avant la correspondance.

note: type: Plain text
en: Both the symlink & realpath versions of paths will be matched outside of `$GIT_DIR`. E.g. if ~/git is a symlink to /mnt/storage/git, both `gitdir:~/git` and `gitdir:/mnt/storage/git` will match.
fr: Les versions symlink et realpath des chemins seront comparées en dehors de `$GIT_DIR`. Par exemple, si ~/git est un lien symbolique vers /mnt/stockage/git, `gitdir:~/git` et `gitdir:/mnt/stockage/git` correspondront tous deux.

note: type: Plain text
en: This was not the case in the initial release of this feature in v2.13.0, which only matched the realpath version. Configuration that wants to be compatible with the initial release of this feature needs to either specify only the realpath version, or both versions.
fr: Ce n'était pas le cas dans la version initiale de cette fonctionnalité dans la v2.13.0, qui ne correspondait qu'à la version realpath. La configuration qui veut être compatible avec la version initiale de cette fonctionnalité doit soit spécifier uniquement la version realpath, soit les deux versions.

note: type: Plain text
en: Note that "../" is not special and will match literally, which is unlikely what you want.
fr: Notez que "../" n'est pas spécial et correspondra littéralement, ce qui est peu probablement ce que vous voulez.

note: type: Title ~
en: Example
fr: Exemple

note: type: delimited block -
en: # Core variables
    [core]
    	; Don't trust file modes
    	filemode = false
fr: # Variables core
    [core]
    	; Ne pas se fier au modes des fichiers
    	filemode = false

note: type: delimited block -
en: # Our diff algorithm
    [diff]
    	external = /usr/local/bin/diff-wrapper
    	renames = true
fr: # Notre algorithme de diff
    [diff]
    	external = /usr/local/bin/diff-wrapper
    	renames = true

note: type: delimited block -
en: # Proxy settings
    [core]
    	gitProxy="ssh" for "kernel.org"
    	gitProxy=default-proxy ; for the rest
fr: # Réglages proxy
    [core]
    	gitProxy="ssh" for "kernel.org"
    	gitProxy=default-proxy ;pour le reste

note: type: delimited block -
en: [include]
    	path = /path/to/foo.inc ; include by absolute path
    	path = foo.inc ; find "foo.inc" relative to the current file
    	path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory
fr: [include]
    	path = /chemin/vers/foo.inc ; inclure par chemin absolu
    	path = foo.inc ; trouver "foo.inc" relativement au fichier actuel
    	path = ~/foo.inc ; trouver "foo.inc" dans votre répertoire `$HOME`

note: type: delimited block -
en: ; include if $GIT_DIR is /path/to/foo/.git
    [includeIf "gitdir:/path/to/foo/.git"]
    	path = /path/to/foo.inc
fr: ; inclure si $GIT_DIR est /chemin/vers/foo/.git
    [includeIf "gitdir:/chemin/vers/foo/.git"]
    	path = /chemin/vers/foo.inc

note: type: delimited block -
en: ; include for all repositories inside /path/to/group
    [includeIf "gitdir:/path/to/group/"]
    	path = /path/to/foo.inc
fr: ; inclure tous les dépôts dans /chemin/vers/groupe
    [includeIf "gitdir:/chemin/vers/groupe"]
    	path = /chemin/vers/foo.inc

note: type: delimited block -
en: ; include for all repositories inside $HOME/to/group
    [includeIf "gitdir:~/to/group/"]
    	path = /path/to/foo.inc
fr: ; inclure pour tous les dépôts à l'intérieur de $HOME/vers/groupe
    [includeIf "gitdir:~/vers/groupe/"]
    	path = /chemin/vers/foo.inc

note: type: delimited block -
en: ; relative paths are always relative to the including
    ; file (if the condition is true); their location is not
    ; affected by the condition
    [includeIf "gitdir:/path/to/group/"]
    	path = foo.inc
fr: les chemins relatifs sont toujours relatifs au fichier
    ; incluant (si la condition est vraie) ; leur emplacement n'est pas
    ; affecté par la condition
    [includeIf "gitdir:/chemin/vers/groupe/"]
    	path = foo.inc

note: type: delimited block -
en: ; include only if we are in a worktree where foo-branch is
    ; currently checked out
    [includeIf "onbranch:foo-branch"]
    	path = foo.inc
fr: ; n'inclure que si nous sommes dans un arbre de travail où foo-branch
    ; actuellement extrait
    [includeIf "onbranch:foo-branch"]
    	path = foo.inc

note: type: Title ~
en: Values
fr: Valeurs

note: type: Plain text
en: Values of many variables are treated as a simple string, but there are variables that take values of specific types and there are rules as to how to spell them.
fr: Les valeurs de nombreuses variables sont traitées comme une simple chaîne de caractères, mais il existe des variables qui prennent des valeurs de types spécifiques et il existe des règles quant à leur orthographe.

note: type: Labeled list
en: boolean
fr: booléen

note: type: Plain text
en: When a variable is said to take a boolean value, many synonyms are accepted for 'true' and 'false'; these are all case-insensitive.
fr: Lorsqu'une variable prend une valeur booléenne, de nombreux synonymes sont acceptés pour 'vrai' et 'faux' ; ils sont tous insensibles à la casse.

note: type: Plain text
en: Boolean true literals are `yes`, `on`, `true`, and `1`.  Also, a variable defined without `= <value>` is taken as true.
fr: Les littéraux booléens pour vrai sont `yes`, `on`, `true` et `1`.  De plus, une variable définie sans `=<valeur>` est considérée comme vraie.

note: type: Labeled list
en: false
fr: faux

note: type: Plain text
en: Boolean false literals are `no`, `off`, `false`, `0` and the empty string.
fr: Les littéraux booléens faux sont `no`, `off`, `false`, `0` et la chaîne vide.

note: type: Plain text
en: When converting a value to its canonical form using the `--type=bool` type specifier, 'git config' will ensure that the output is "true" or "false" (spelled in lowercase).
fr: Lors de la conversion d'une valeur sous sa forme canonique en utilisant le spécificateur de type `--type=bool`, 'git config' s'assurera que la sortie est "true" ou "false" (écrit en minuscules).

note: type: Labeled list
en: integer
fr: Entier

note: type: Plain text
en: The value for many variables that specify various sizes can be suffixed with `k`, `M`,... to mean "scale the number by 1024", "by 1024x1024", etc.
fr: La valeur de nombreuses variables qui spécifient différentes tailles peut être suffixée par `k`, `M`, ... pour signifier « multiplier le nombre par 1024 », « par 1024x1024 », etc.

note: type: Plain text
en: The value for a variable that takes a color is a list of colors (at most two, one for foreground and one for background)  and attributes (as many as you want), separated by spaces.
fr: La valeur d’une variable qui prend une couleur est une liste de couleurs (au plus deux, une pour le premier plan et une pour l’arrière-plan) et les attributs (autant que vous le souhaitez), séparés par des espaces.

note: type: Plain text
en: The basic colors accepted are `normal`, `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan` and `white`.  The first color given is the foreground; the second is the background.  All the basic colors except `normal` have a bright variant that can be specified by prefixing the color with `bright`, like `brightred`.
fr: Les couleurs de base acceptées sont `normal`, `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan` et `white`.  La première couleur donnée est le premier plan ; la seconde est l'arrière-plan.  Toutes les couleurs de base, sauf la couleur `normal`, ont une variante claire qui peut être spécifiée en préfixant la couleur par `bright`, comme `brightred`.

note: type: Plain text
en: Colors may also be given as numbers between 0 and 255; these use ANSI 256-color mode (but note that not all terminals may support this).  If your terminal supports it, you may also specify 24-bit RGB values as hex, like `#ff0ab3`.
fr: Les couleurs peuvent également être données en tant que nombres entre 0 et 255 ; ceux-ci utilisent le mode ANSI 256 couleurs (mais notez que certains terminaux ne peuvent pas prendre en charge cela).  Si votre terminal le prend en charge, vous pouvez également spécifier des valeurs RGB 24 bits en hexadécimal, comme `#ff0ab3`.

note: type: Plain text
en: The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, `italic`, and `strike` (for crossed-out or "strikethrough" letters).  The position of any attributes with respect to the colors (before, after, or in between), doesn't matter. Specific attributes may be turned off by prefixing them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc).
fr: Les attributs acceptés sont `bold`, `dim`, `ul`, `blink`, `reverse`, `italic`, et `strike` (pour les lettres barrées ou "surlignées").  La position de tout attribut par rapport aux couleurs (avant, après ou entre les deux) n'a pas d'importance. Des attributs spécifiques peuvent être désactivés en les préfixant par `no` ou `no-` (par exemple, `noreverse`, `no-ul`, etc.).

note: type: Plain text
en: An empty color string produces no color effect at all. This can be used to avoid coloring specific elements without disabling color entirely.
fr: Une chaîne de couleur vide ne produit aucun effet de couleur. Cela peut être utilisé pour éviter de colorer des éléments spécifiques sans désactiver complètement la couleur.

note: type: Plain text
en: For git's pre-defined color slots, the attributes are meant to be reset at the beginning of each item in the colored output. So setting `color.decorate.branch` to `black` will paint that branch name in a plain `black`, even if the previous thing on the same output line (e.g.  opening parenthesis before the list of branch names in `log --decorate` output) is set to be painted with `bold` or some other attribute.  However, custom log formats may do more complicated and layered coloring, and the negated forms may be useful there.
fr: Pour les étiquettes de couleur prédéfinies de git, les attributs sont censés être réinitialisés au début de chaque élément de la sortie colorée. Ainsi, mettre `color.decorate.branch` à `black` peindra le nom de cette branche en un simple `black`, même si la chose précédente sur la même ligne de sortie (par exemple, ouvrir une parenthèse avant la liste des noms de branches dans la sortie de `log --decorate`) est mise à être peinte avec `bold` ou un autre attribut.  Cependant, les formats de log personnalisés peuvent faire une coloration plus compliquée et plus stratifiée, et les formes inversées peuvent être utiles dans ce cas.

note: type: Labeled list
en: pathname
fr: nom-de-chemin

note: type: Plain text
en: A variable that takes a pathname value can be given a string that begins with "`~/`" or "`~user/`", and the usual tilde expansion happens to such a string: `~/` is expanded to the value of `$HOME`, and `~user/` to the specified user's home directory.
fr: Une variable qui prend la valeur d'un nom de chemin peut recevoir une chaîne de caractères commençant par "`~/`" ou "`~user/`", et l'expansion tilde habituelle se fait sur une telle chaîne : `~/` est développée à la valeur de `$HOME`, et `~user/` au répertoire personnel de l'utilisateur spécifié.

note: type: Plain text
en: Note that this list is non-comprehensive and not necessarily complete.  For command-specific variables, you will find a more detailed description in the appropriate manual page.
fr: Notez que cette liste n'est pas exhaustive et n'est pas nécessairement complète.  Pour les variables spécifiques à une commande, vous trouverez une description plus détaillée dans la page du manuel appropriée.

note: type: Plain text
en: Other git-related tools may and do use their own variables.  When inventing new variables for use in your own tool, make sure their names do not conflict with those that are used by Git itself and other popular tools, and describe them in your documentation.
fr: D'autres outils liés à git peuvent utiliser et utilisent leurs propres variables.  Lorsque vous inventez de nouvelles variables à utiliser dans votre propre outil, assurez-vous que leurs noms n'entrent pas en conflit avec ceux qui sont utilisés par Git lui-même et d'autres outils populaires, et décrivez-les dans votre documentation.

note: type: Plain text
en: Specify the style in which conflicted hunks are written out to working tree files upon merge.  The default is "merge", which shows a `<<<<<<<` conflict marker, changes made by one side, a `=======` marker, changes made by the other side, and then a `>>>>>>>` marker.  An alternate style, "diff3", adds a `|||||||` marker and the original text before the `=======` marker.
fr: Spécifier le style dans lequel les sections en conflit sont écrites dans les fichiers de l'arbre de travail lors de la fusion.  La valeur par défaut est "merge", qui affiche un marqueur de conflit `<<<<<<<<`, les modifications faites par un côté, un marqueur `==========, les modifications faites par l'autre côté, et ensuite un marqueur `>>>>>>>>>>`.  Un style alternatif, "diff3", ajoute un marqueur `|||||||` et le texte original avant le marqueur `========`.

note: type: Plain text
en: If merge is called without any commit argument, merge the upstream branches configured for the current branch by using their last observed values stored in their remote-tracking branches.  The values of the `branch.<current branch>.merge` that name the branches at the remote named by `branch.<current branch>.remote` are consulted, and then they are mapped via `remote.<remote>.fetch` to their corresponding remote-tracking branches, and the tips of these tracking branches are merged. Defaults to true.
fr: Si la fusion est appelée sans aucun argument de commit, fusionner les branches amont configurées pour la branche courante en utilisant leurs dernières valeurs observées stockées dans leurs branches de suivi à distance.  Les valeurs de `branch.<branche courante>.merge` qui nomment les branches distantes nommées par `branch.<branche courante>.remote` sont consultées, puis elles sont mappées via `remote.<distant>.fetch` vers leurs branches de suivi à distance correspondantes, et les extrémités de ces branches de suivi sont fusionnées. La valeur par défaut est true.

note: type: Plain text
en: By default, Git does not create an extra merge commit when merging a commit that is a descendant of the current commit. Instead, the tip of the current branch is fast-forwarded. When set to `false`, this variable tells Git to create an extra merge commit in such a case (equivalent to giving the `--no-ff` option from the command line). When set to `only`, only such fast-forward merges are allowed (equivalent to giving the `--ff-only` option from the command line).
fr: Par défaut, Git ne crée pas de commit de fusion supplémentaire lors de la fusion d'un commit descendant du commit courant. Au lieu de cela, le sommet de la branche courante est avancé rapidement. Quand elle est définie à `false`, cette variable indique à Git de créer un commit de fusion supplémentaire dans un tel cas (équivalent à donner l'option `--no-ff` de la ligne de commande). Lorsqu'il est défini à `only`, seules ces fusions en avance rapide sont autorisées (ce qui équivaut à donner l'option `--ff-only` depuis la ligne de commande).

note: type: Plain text
en: If true, this is equivalent to the --verify-signatures command line option. See linkgit:git-merge[1] for details.
fr: Si vrai, c'est équivalent à l'option de ligne de commande --verify-signatures. Voir linkgit:git-merge[1] pour plus de détails.

note: type: Plain text
en: The number of files to consider in the exhaustive portion of rename detection during a merge.  If not specified, defaults to the value of diff.renameLimit.  If neither merge.renameLimit nor diff.renameLimit are specified, currently defaults to 7000.  This setting has no effect if rename detection is turned off.
fr: Le nombre de fichiers à prendre en compte dans la partie restante de la détection de renommage lors d'une fusion ; s'il n'est pas spécifié, la valeur par défaut est celle de diff.renameLimit.  Si ni merge.renameLimit ni diff.renameLimit ne sont spécifiés, la valeur par défaut est 7000. Ce réglage n'a aucun effet si la détection de renommage est désactivée.

note: type: Plain text
en: Whether Git detects renames.  If set to "false", rename detection is disabled. If set to "true", basic rename detection is enabled.  Defaults to the value of diff.renames.
fr: Indique si Git doit détecter les renommages. S'il est défini à "false", la détection de renommage est désactivée. S'il est défini à "true", la détection de renommage de base est activée. La valeur par défaut est diff.renames.

note: type: Plain text
en: Whether Git detects directory renames, affecting what happens at merge time to new files added to a directory on one side of history when that directory was renamed on the other side of history.  If merge.directoryRenames is set to "false", directory rename detection is disabled, meaning that such new files will be left behind in the old directory.  If set to "true", directory rename detection is enabled, meaning that such new files will be moved into the new directory.  If set to "conflict", a conflict will be reported for such paths.  If merge.renames is false, merge.directoryRenames is ignored and treated as false.  Defaults to "conflict".
fr: Indique si Git doit détecter les noms de répertoire, affectant ce qui se arrive lors d'une fusion à de nouveaux fichiers ajoutés à un répertoire d'un côté de l'historique lorsque ce répertoire a été renommé de l'autre côté de l'historique.  Si merge.directoryRenames est réglé à "false", la détection du répertoire est désactivée, ce qui signifie que ces nouveaux fichiers seront laissés dans l'ancien répertoire.  S'il est réglé sur "true", la détection du répertoire est activée, ce qui signifie que ces nouveaux fichiers seront transférés dans le nouveau répertoire.  S'il est réglé pour "conflict", un conflit sera signalé pour de tels chemins.  Si merge.renames est faux, merge.directoryRenames est ignoré et traité comme faux.   Par défaut, la valeur est "conflict".

note: type: Plain text
en: Tell Git that canonical representation of files in the repository has changed over time (e.g. earlier commits record text files with CRLF line endings, but recent ones use LF line endings).  In such a repository, Git can convert the data recorded in commits to a canonical form before performing a merge to reduce unnecessary conflicts.  For more information, see section "Merging branches with differing checkin/checkout attributes" in linkgit:gitattributes[5].
fr: Indiquer à Git que la représentation canonique des fichiers dans le dépôt a changé au fil du temps (par exemple, les premiers commits enregistrent les fichiers avec des fins de ligne CRLF, mais les plus récents utilisent des fins de ligne LF).  Dans un tel dépôt, Git peut convertir les données enregistrées dans les commits en une forme canonique avant d'effectuer une fusion pour réduire les conflits inutiles.  Pour plus d'informations, voir la section "Fusionner des branches avec des attributs d'entrée/de sortie différents" dans linkgit:gitattributes[5].

note: type: Plain text
en: Whether to print the diffstat between ORIG_HEAD and the merge result at the end of the merge.  True by default.
fr: Indiquer s'il faut afficher le diffstat entre ORIG_HEAD et le résultat de la fusion à la fin de la fusion. Vrai par défaut.

note: type: Plain text
en: When set to true, automatically create a temporary stash entry before the operation begins, and apply it after the operation ends.  This means that you can run merge on a dirty worktree.  However, use with care: the final stash application after a successful merge might result in non-trivial conflicts.  This option can be overridden by the `--no-autostash` and `--autostash` options of linkgit:git-merge[1].  Defaults to false.
fr: Lorsque réglé sur true, créer automatiquement une entrée temporaire de remisage avant le début de l'opération, et l'appliquer après la fin de l'opération.  Cela signifie que vous pouvez exécuter la fusion sur un arbre de travail sale.  Cependant, à utiliser avec précaution : l'application finale du remisage après une fusion réussie peut entraîner des conflits non négligeables.  Cette option peut être remplacée par les options `--no-autostash` et `--autostash` de linkgit:git-merge[1].  La valeur par défaut est false.

note: type: Plain text
en: Controls which merge tool is used by linkgit:git-mergetool[1].  The list below shows the valid built-in values.  Any other value is treated as a custom merge tool and requires that a corresponding mergetool.<tool>.cmd variable is defined.
fr: Contrôle quel outil de fusion est utilisé par linkgit:git-mergetool[1].  La liste ci-dessous indique les valeurs pré-intégrées valides.  Toute autre valeur est traitée comme un outil de fusion personnalisé et nécessite qu'une variable mergetool.<outil>.cmd correspondante soit définie.

note: type: Plain text
en: Controls which merge tool is used by linkgit:git-mergetool[1] when the -g/--gui flag is specified. The list below shows the valid built-in values.  Any other value is treated as a custom merge tool and requires that a corresponding mergetool.<guitool>.cmd variable is defined.
fr: Contrôle quel outil de fusion est utilisé par linkgit:git-mergetool[1] lorsque le drapeau -g/--gui est spécifié. La liste ci-dessous indique les valeurs pré-intégrées valides.  Toute autre valeur est traitée comme un outil de fusion personnalisé et nécessite qu'une variable mergetool.<outilgraphique>.cmd correspondante soit définie.

note: type: Plain text
en: Controls the amount of output shown by the recursive merge strategy.  Level 0 outputs nothing except a final error message if conflicts were detected. Level 1 outputs only conflicts, 2 outputs conflicts and file changes.  Level 5 and above outputs debugging information.  The default is level 2.  Can be overridden by the `GIT_MERGE_VERBOSITY` environment variable.
fr: Contrôle la quantité de production affichée par la stratégie de fusion récursive.  Le niveau 0 ne produit rien, sauf un message d'erreur final si des conflits ont été détectés. Le niveau 1 ne produit que des conflits, le niveau 2 produit des conflits et des changements de fichiers.  Les niveaux 5 et plus produisent des informations de débogage.  La valeur par défaut est le niveau 2.  Peut être écrasée par la variable d'environnement `GIT_MERGE_VERBOSITY`.

note: type: Labeled list
en: merge.<driver>.name
fr: merge.<pilote>.name

note: type: Plain text
en: Defines a human-readable name for a custom low-level merge driver.  See linkgit:gitattributes[5] for details.
fr: Définit un nom lisible par l'homme pour un pilote de fusion personnalisé de bas niveau.  Voir linkgit:gitattributes[5] pour plus de détails.

note: type: Labeled list
en: merge.<driver>.driver
fr: merge.<pilote>.driver

note: type: Plain text
en: Defines the command that implements a custom low-level merge driver.  See linkgit:gitattributes[5] for details.
fr: Définit la commande qui met en œuvre un pilote de fusion de bas niveau personnalisé.  Voir linkgit:gitattributes[5] pour plus de détails.

note: type: Labeled list
en: merge.<driver>.recursive
fr: merge.<pilote>.recursive

note: type: Plain text
en: Names a low-level merge driver to be used when performing an internal merge between common ancestors.  See linkgit:gitattributes[5] for details.
fr: Nomme un pilote de fusion de bas niveau à utiliser lors d'une fusion interne entre des ancêtres communs.  Voir linkgit:gitattributes[5] pour plus de détails.

note: type: Plain text
en: In addition to branch names, populate the log message with the branch description text associated with them.  Defaults to false.
fr: En plus des noms des branches, remplir le message de validation avec le texte de description des branches qui leur est associé.  Désactivé par défaut (valeur false).

note: type: Plain text
en: In addition to branch names, populate the log message with at most the specified number of one-line descriptions from the actual commits that are being merged.  Defaults to false, and true is a synonym for 20.
fr: En plus des noms de branches, remplir le message de validation avec au maximum le nombre spécifié de descriptions d'une ligne des commits réels fusionnés.  Désactivé par défaut (valeur false), et vaut 20 si `true`.

note: type: Plain text
en: By adding a glob that matches the names of integration branches to this multi-valued configuration variable, the default merge message computed for merges into these integration branches will omit "into <branch name>" from its title.
fr: En ajoutant à cette variable de configuration à valeurs multiples un motif qui correspond aux noms des branches d'intégration, le message de fusion par défaut calculé pour les fusions dans ces branches d'intégration omettra "into <nom de branche>" dans son titre.

note: type: Plain text
en: An element with an empty value can be used to clear the list of globs accumulated from previous configuration entries.  When there is no `merge.suppressDest` variable defined, the default value of `master` is used for backward compatibility.
fr: Un élément avec une valeur vide peut être utilisé pour effacer la liste des motifs accumulés dans les entrées de configuration précédentes.  Lorsqu'aucune variable `merge.suppressDest` n'est définie, la valeur par défaut de `master` est utilisée par rétrocompatibilité.

note: type: Title -
en: DATE FORMATS
fr: FORMATS DE DATE

note: type: Plain text
en: The `GIT_AUTHOR_DATE` and `GIT_COMMITTER_DATE` environment variables support the following date formats:
fr: Les variables d'environnement `GIT_AUTHOR_DATE` et `GIT_COMMITTER_DATE` supportent les formats de date suivants :

note: type: Labeled list
en: Git internal format
fr: Format interne de Git

note: type: Plain text
en: It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is the number of seconds since the UNIX epoch.  `<time zone offset>` is a positive or negative offset from UTC.  For example CET (which is 1 hour ahead of UTC) is `+0100`.
fr: Il est de la forme `<horodatage unix> <décalage de fuseau horaire>`, où `<horodatage unix>` est un nombre de secondes depuis l'époque UNIX. `<décalage de fuseau horaire>` est un décalage positif ou négative par rapport à UTC. Par exemple, CET (qui est en avance d'une heure sur UTC) est `+0100`.

note: type: Plain text
en: The standard email format as described by RFC 2822, for example `Thu, 07 Apr 2005 22:13:13 +0200`.
fr: Le standard de format des courriel tel que décrit par la RFC 2822, par exemple `Thu, 07 Apr 2005 22:13:13 +0200`.

note: type: Plain text
en: Time and date specified by the ISO 8601 standard, for example `2005-04-07T22:13:13`. The parser accepts a space instead of the `T` character as well. Fractional parts of a second will be ignored, for example `2005-04-07T22:13:13.019` will be treated as `2005-04-07T22:13:13`.
fr: Les heures et les dates sont spécifiées par le standard ISO 8601, par exemple `2005-04-07T22:13:13`. L'analyseur accepte aussi un espace au lieu du caractère `T`. Les parties fractionnelles d'une seconde seront ignorées, par exemple, `2005-04-07T22:13:13.019` sera considéré comme étant `2005-04-07T22:13:13`.

note: type: Plain text
en: In addition, the date part is accepted in the following formats: `YYYY.MM.DD`, `MM/DD/YYYY` and `DD.MM.YYYY`.
fr: De plus, la partie date est acceptée dans les formats suivants : `AAAA.MM.JJ`, `MM/JJ/AAAA` et `JJ.MM.AAAA`.

note: type: Plain text
en: In addition to recognizing all date formats above, the `--date` option will also try to make sense of other, more human-centric date formats, such as relative dates like "yesterday" or "last Friday at noon".
fr: En plus de reconnaître tous les formats de date ci-dessus, l'option `--date` essaiera également de donner un sens à d'autres formats de date plus humainement compréhensibles, tels que les dates relatives comme "yesterday" ou "last Friday at noon".

note: type: Title -
en: Raw output format
fr: Format brut de sortie

note: type: Plain text
en: The raw output format from "git-diff-index", "git-diff-tree", "git-diff-files" and "git diff --raw" are very similar.
fr: Les formats bruts de sortie de "git-diff-index", "git-diff-tree", "git-diff-files" et "git diff --raw" sont très similaires.

note: type: Plain text
en: These commands all compare two sets of things; what is compared differs:
fr: Ces commandes comparent toutes deux ensembles de choses ; ce qui est comparé varie :

note: type: Labeled list
en: git-diff-index <tree-ish>
fr: git-diff-index <arbre-esque>

note: type: Plain text
en: compares the <tree-ish> and the files on the filesystem.
fr: compare l'<arbre-esque> et les fichiers du système de fichiers.

note: type: Labeled list
en: git-diff-index --cached <tree-ish>
fr: git-diff-index --cached <arbre-esque>

note: type: Plain text
en: compares the <tree-ish> and the index.
fr: compare l'<arbre-esque> et l'index.

note: type: Labeled list
en: git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]
fr: git-diff-tree [-r] <arbre-esque-1> <arbre-esque-2> [<motif>...]

note: type: Plain text
en: compares the trees named by the two arguments.
fr: Compare les arbres nommés par les deux arguments.

note: type: Labeled list
en: git-diff-files [<pattern>...]
fr: git-diff-files [<motif>...]

note: type: Plain text
en: compares the index and the files on the filesystem.
fr: compare l'index et les fichiers sur le système de fichier.

note: type: Plain text
en: The "git-diff-tree" command begins its output by printing the hash of what is being compared. After that, all the commands print one output line per changed file.
fr: La commande "git-diff-tree" débute sa sortie par l'empreinte de ce qui est comparé. Ensuite, toutes les commandes affichent une ligne par fichier modifié.

note: type: Plain text
en: An output line is formatted this way:
fr: une ligne affichée est formatée de la manière suivante :

note: type: delimited block -
en: in-place edit  :100644 100644 bcd1234 0123456 M file0
    copy-edit      :100644 100644 abcd123 1234567 C68 file1 file2
    rename-edit    :100644 100644 abcd123 1234567 R86 file1 file3
    create         :000000 100644 0000000 1234567 A file4
    delete         :100644 000000 1234567 0000000 D file5
    unmerged       :000000 000000 0000000 0000000 U file6
fr: édition en place  :100644 100644 bcd1234 0123456 M fichier0
    copie édition     :100644 100644 abcd123 1234567 C68 fichier1 fichier2
    édition renommage :100644 100644 abcd123 1234567 R86 fichier1 fichier3
    création          :000000 100644 0000000 1234567 A fichier4
    suppression       :100644 000000 1234567 0000000 D fichier5
    non fusionnné     :000000 000000 0000000 0000000 U fichier6

note: type: Plain text
en: That is, from the left to the right:
fr: C'est-à-dire, de gauche à droite :

note: type: Plain text
en: a colon.
fr: deux points.

note: type: Plain text
en: mode for "src"; 000000 if creation or unmerged.
fr: le mode pour "src" ; 000000 si c'est une création ou non fusionné.

note: type: Plain text
en: a space.
fr: un espace.

note: type: Plain text
en: mode for "dst"; 000000 if deletion or unmerged.
fr: mode pour "dst" ; 000000 si suppression ou non-fusionné.

note: type: Plain text
en: sha1 for "src"; 0\{40\} if creation or unmerged.
fr: sha1 de "src", 0\{40\} si création ou non fusionné.

note: type: Plain text
en: sha1 for "dst"; 0\{40\} if creation, unmerged or "look at work tree".
fr: sha1 de "dst", 0\{40\} si création, non fusionné ou "recherche dans l'arbre de travail".

note: type: Plain text
en: status, followed by optional "score" number.
fr: status, suivi optionnellement d'un nombre score.

note: type: Plain text
en: a tab or a NUL when `-z` option is used.
fr: une tabulation ou un caractère NUL si l'option `-z` est utilisée.

note: type: Plain text
en: path for "src"
fr: chemin pour "src"

note: type: Plain text
en: a tab or a NUL when `-z` option is used; only exists for C or R.
fr: une tabulation ou un caractère NUL si l'option `-z` est utilisée ; n'existe que pour C ou R.

note: type: Plain text
en: path for "dst"; only exists for C or R.
fr: chemin pour "dst" ; n'existe que pour C ou R.

note: type: Plain text
en: an LF or a NUL when `-z` option is used, to terminate the record.
fr: un caractère LF ou NUL si l'option `-z` est utilisée, pour terminer l'enregistrement.

note: type: Plain text
en: Possible status letters are:
fr: Les lettres de statut possibles sont :

note: type: Plain text
en: A: addition of a file
fr: A : addition d'un fichier

note: type: Plain text
en: C: copy of a file into a new one
fr: C : copie d'un fichier en un autre

note: type: Plain text
en: D: deletion of a file
fr: D : suppression (deletion) d'un fichier

note: type: Plain text
en: M: modification of the contents or mode of a file
fr: M : modification de contenu ou du mode d'un fichier

note: type: Plain text
en: R: renaming of a file
fr: R : renommage d'un fichier

note: type: Plain text
en: T: change in the type of the file
fr: T : modification du type d'un fichier

note: type: Plain text
en: U: file is unmerged (you must complete the merge before it can be committed)
fr: U : le fichier est non-fusionné (unmerged) (vous devez finir la fusion avant de le valider)

note: type: Plain text
en: X: "unknown" change type (most probably a bug, please report it)
fr: X : type de modification "inconnue" (probablement un bug, veuillez le signaler)

note: type: Plain text
en: Status letters C and R are always followed by a score (denoting the percentage of similarity between the source and target of the move or copy).  Status letter M may be followed by a score (denoting the percentage of dissimilarity) for file rewrites.
fr: Les lettres de statut C et R sont toujours suivies d'un score (indiquant le pourcentage de similarité entre la source et la cible du déplacement ou de la copie). La lettre de statut M peut être suivie d'un score (indiquant le pourcentage de dissimilarité) pour une réécriture de fichier.

note: type: Plain text
en: <sha1> is shown as all 0's if a file is new on the filesystem and it is out of sync with the index.
fr: Le <sha1> est tout à zéro si le fichier est nouveau sur le système de fichiers et est désynchronisé avec l'index.

note: type: Labeled list
en: Example:
fr: Exemple :

note: type: delimited block -
en: :100644 100644 5be4a4a 0000000 M file.c
fr: :100644 100644 5be4a4a 0000000 M fichier.c

note: type: Plain text
en: Without the `-z` option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).  Using `-z` the filename is output verbatim and the line is terminated by a NUL byte.
fr: Sans l'option `-z`, les noms de chemin avec des caractères « inhabituels » sont cités comme expliqué pour la variable de configuration `core.quotePath` (voir linkgit:git-config[1]). Lors de l'utilisation de `-z` le fichier est affiché verbatim et la ligne est terminée par un octet NUL.

note: type: Title -
en: diff format for merges
fr: format diff pour les fusions

note: type: Plain text
en: "git-diff-tree", "git-diff-files" and "git-diff --raw" can take `-c` or `--cc` option to generate diff output also for merge commits.  The output differs from the format described above in the following way:
fr: "git-diff-tree", "git-diff-files" et "git diff --raw" peuvent prendre une option `-c` ou `--cc` pour générer une sortie diff pour les commits de fusion. La sortie diffère du format décrit ci-dessus sur les points suivants :

note: type: Plain text
en: there is a colon for each parent
fr: il y a un caractère deux points pour chaque parent

note: type: Plain text
en: there are more "src" modes and "src" sha1
fr: il y a plus de modes "src" et de sha1 "src"

note: type: Plain text
en: status is concatenated status characters for each parent
fr: les statut est la concaténation des caractères de statut de chaque parent

note: type: Plain text
en: no optional "score" number
fr: pas de nombre optionnel de "score"

note: type: Plain text
en: tab-separated pathname(s) of the file
fr: chemin(s) d'accès du fichier séparé(s) par des tabulations

note: type: Plain text
en: For `-c` and `--cc`, only the destination or final path is shown even if the file was renamed on any side of history.  With `--combined-all-paths`, the name of the path in each parent is shown followed by the name of the path in the merge commit.
fr: Pour `-c' et `--cc', seule la destination ou le chemin final est affiché même si le fichier a été renommé d'un côté ou de l'autre de l'historique.  Avec `--combined-all-paths', le nom du chemin dans chaque parent est affiché suivi du nom du chemin dans le commit de fusion.

note: type: Plain text
en: Examples for `-c` and `--cc` without `--combined-all-paths`:
fr: Exemples pour `-c' et `--cc` sans `--combined-all-paths` :

note: type: Plain text
en: Examples when `--combined-all-paths` added to either `-c` or `--cc`:
fr: Exemples où `--combined-all-paths' a été ajouté à `-c' ou `--cc' :

note: type: Plain text
en: Note that 'combined diff' lists only files which were modified from all parents.
fr: Notez que le 'diff combiné' ne liste que les fichiers qui ont été modifiés depuis tous leurs parents.

note: type: Title -
en: other diff formats
fr: autres formats de diff

note: type: Plain text
en: The `--summary` option describes newly added, deleted, renamed and copied files.  The `--stat` option adds diffstat(1) graph to the output.  These options can be combined with other options, such as `-p`, and are meant for human consumption.
fr: L'option `--summary` décrit les fichiers nouvellement additionnés, supprimés, renommés et copiés. L'option `--stat` ajoute un graphe diffstat(1) à la sortie. Ces options peuvent être combinées avec d'autres options, telles que `-p` et sont destinées à une consommation humaine.

note: type: Plain text
en: When showing a change that involves a rename or a copy, `--stat` output formats the pathnames compactly by combining common prefix and suffix of the pathnames.  For example, a change that moves `arch/i386/Makefile` to `arch/x86/Makefile` while modifying 4 lines will be shown like this:
fr: Lors de l'affichage d'une modification qui comprend un renommage ou une copie, la sortie de `--stat` formate de manière compacte les noms de chemins en combinant les préfixes et suffixes communs des noms de chemins. Par exemple, une modification qui déplace `arch/i386/Makefile` vers `arch/x86/Makefile` en modifiant 4 lignes seront affichées comme ceci :

note: type: Plain text
en: The `--numstat` option gives the diffstat(1) information but is designed for easier machine consumption.  An entry in `--numstat` output looks like this:
fr: L'option `--numstat` donne l'information diffstat(1) mais est organisée pour un meilleur traitement automatique. Une entrée dans `--numstat` ressemble à ceci :

note: type: Plain text
en: That is, from left to right:
fr: Soit, de gauche à droite :

note: type: Plain text
en: the number of added lines;
fr: le nombre de lignes ajoutées ;

note: type: Plain text
en: a tab;
fr: une tabulation ;

note: type: Plain text
en: the number of deleted lines;
fr: le nombre de lignes supprimées ;

note: type: Plain text
en: pathname (possibly with rename/copy information);
fr: nom de chemin (avec potentiellement une information de renommage/copie) ;

note: type: Plain text
en: a newline.
fr: une retour à la ligne.

note: type: Plain text
en: When `-z` output option is in effect, the output is formatted this way:
fr: Quand l'option de sortie `-z` est active, la sortie est formatée comme ceci :

note: type: Plain text
en: That is:
fr: Soit :

note: type: Plain text
en: a NUL (only exists if renamed/copied);
fr: un caractère NUL (n'existe que si renommé/copié) ;

note: type: Plain text
en: pathname in preimage;
fr: le nom de chemin dans preimage ;

note: type: Plain text
en: pathname in postimage (only exists if renamed/copied);
fr: le nom de chemin dans postimage (n'existe que si renommé/copié) ;

note: type: Plain text
en: a NUL.
fr: un caractère NUL.

note: type: Plain text
en: The extra `NUL` before the preimage path in renamed case is to allow scripts that read the output to tell if the current record being read is a single-path record or a rename/copy record without reading ahead.  After reading added and deleted lines, reading up to `NUL` would yield the pathname, but if that is `NUL`, the record will show two paths.
fr: Le caractère `NUL` supplémentaire avant le chemin de préimage dans le cas de renommage permet aux scripts qui lisent la sortie de détecter si l'enregistrement actuellement lu est un enregistrement de chemin unique ou un enregistrement de renommage/copie sans avoir besoin de lire plus loin. Après lecture des lignes ajoutées et supprimées, une lecture jusqu'au caractère `NUL` fournit le nom de chemin, mais si c'est `NUL`, l'enregistrement fournit deux chemins.

note: type: Title -
en: Generating patch text with -p
fr: Génération du texte de rustine avec -p

note: type: Plain text
en: Running linkgit:git-diff[1], linkgit:git-log[1], linkgit:git-show[1], linkgit:git-diff-index[1], linkgit:git-diff-tree[1], or linkgit:git-diff-files[1] with the `-p` option produces patch text.  You can customize the creation of patch text via the `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment variables (see linkgit:git[1]), and the `diff` attribute (see linkgit:gitattributes[5]).
fr: Exécuter linkgit:git-diff[1], linkgit:git-log[1], linkgit:git-show[1], linkgit:git-diff-index[1], linkgit:git-diff-tree[1] ou linkgit:git-diff-files[1] avec l'option `-p` produit le texte de rustine.  Vous pouvez personnaliser la création du texte de rustine via les variables d'environnement `GIT_EXTERNAL_DIFF` et `GIT_DIFF_OPTS` (voir linkgit:git[1]), et l'attribut `diff` (voir linkgit:gitattributes[5]).

note: type: Plain text
en: What the -p option produces is slightly different from the traditional diff format:
fr: L'option produit quelque chose légèrement différent du format diff traditionnel :

note: type: Plain text
en: It is preceded with a "git diff" header that looks like this:
fr: Il est précédé d'un entête "git diff" qui ressemble à ceci :

note: type: Plain text
en: diff --git a/file1 b/file2
fr: diff --git a/fichier1 b/fichier2

note: type: Plain text
en: The `a/` and `b/` filenames are the same unless rename/copy is involved.  Especially, even for a creation or a deletion, `/dev/null` is _not_ used in place of the `a/` or `b/` filenames.
fr: les noms de fichiers sous `a/` et `b/` sont identiques à moins qu'il y ait eu un renommage ou une copie, même pour un création ou une suppression, `/dev/null` _n'est pas_ utilisé à la place des noms de fichier `a/` ou`b/`.

note: type: Plain text
en: When rename/copy is involved, `file1` and `file2` show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.
fr: Quand un renommage ou un copie est décrit, `fichier1` et `fichier2` indiquent les noms du fichier source et du fichier cible, respectivement.

note: type: Plain text
en: It is followed by one or more extended header lines:
fr: Suivent un ligne ou plus d'entête étendu :

note: type: Plain text
en: old mode <mode>
    new mode <mode>
    deleted file mode <mode>
    new file mode <mode>
    copy from <path>
    copy to <path>
    rename from <path>
    rename to <path>
    similarity index <number>
    dissimilarity index <number>
    index <hash>..<hash> <mode>
fr: old mode <mode>
    new mode <mode>
    deleted file mode <mode>
    new file mode <mode>
    copy from <chemin>
    copy to <chemin>
    rename from <chemin>
    rename to <chemin>
    similarity index <nombre>
    dissimilarity index <nombre>
    index <empreinte>..<empreinte> <mode>

note: type: Plain text
en: File modes are printed as 6-digit octal numbers including the file type and file permission bits.
fr: Les modes de fichier sont affichés comme des nombres à 6 chiffres en octal incluant le type de fichier et les bits de permission.

note: type: Plain text
en: Path names in extended headers do not include the `a/` and `b/` prefixes.
fr: Les noms de chemin dans les entêtes étendus n'incluent pas les préfixes `a/` et `b/`.

note: type: Plain text
en: The similarity index is the percentage of unchanged lines, and the dissimilarity index is the percentage of changed lines.  It is a rounded down integer, followed by a percent sign.  The similarity index value of 100% is thus reserved for two equal files, while 100% dissimilarity means that no line from the old file made it into the new one.
fr: L'index de similarité et le pourcentage de lignes inchangées et l'index de dissimilarité est le pourcentage de lignes changées. Il est arrondi à l'entier inférieur, suivi du signe pourcent. Une valeur d'index de similarité à 100 % correspond donc à deux fichiers identiques, tandis qu'un index de dissimilarité de 100 % signifie qu'aucune ligne de l'ancien fichier ne se retrouve dans le nouveau fichier.

note: type: Plain text
en: The index line includes the blob object names before and after the change.  The <mode> is included if the file mode does not change; otherwise, separate lines indicate the old and the new mode.
fr: La ligne d'index inclut les noms des objets blob avant et après la modification. Le <mode> est inclus si le mode du fichier n'est pas modifié ; sinon, des lignes séparées indiquent l'ancien et le nouveau mode.

note: type: Plain text
en: Pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
fr: Les noms de chemin avec des caractères « inhabituels » sont cités comme expliqué pour la variable de configuration `core.quotePath` (voir linkgit:git-config[1]).

note: type: Plain text
en: All the `file1` files in the output refer to files before the commit, and all the `file2` files refer to files after the commit.  It is incorrect to apply each change to each file sequentially.  For example, this patch will swap a and b:
fr: Tous les fichiers `fichier1` de la sortie font référence à des fichiers avant la validation, et tous les fichiers `fichier2` font référence aux fichiers après la validation. Il est incorrect d'appliquer chaque modification à chaque fichier séquentiellement. Par exemple, cette rustine échange a et b :

note: type: Plain text
en: Hunk headers mention the name of the function to which the hunk applies.  See "Defining a custom hunk-header" in linkgit:gitattributes[5] for details of how to tailor to this to specific languages.
fr: Les en-têtes de section mentionnent le nom de la fonction à laquelle la section s'applique.  Voir "Définition d'un entête de section personnalisé" dans linkgit:gitattributes[5] pour des détails sur la façon d'adapter cela à des langages spécifiques.

note: type: Title -
en: Combined diff format
fr: Format de diff combiné

note: type: Plain text
en: Any diff-generating command can take the `-c` or `--cc` option to produce a 'combined diff' when showing a merge. This is the default format when showing merges with linkgit:git-diff[1] or linkgit:git-show[1]. Note also that you can give suitable `--diff-merges` option to any of these commands to force generation of diffs in specific format.
fr: Toute commande générant un diff accepte l'option `-c` ou `-cc` pour produire un 'diff combiné' lors de l'affichage d'une fusion. C'est le format par défaut pour afficher les fusions avec linkgit:git-diff[1] ou linkgit:git-show[1]. Notez aussi que vous pouvez ajouter l'option adaptée `--diff-merges` à toutes ces commandes pour forcer la génération des diffs dans un format spécifique.

note: type: Plain text
en: A "combined diff" format looks like this:
fr: Un format de 'diff combiné' ressemble à ceci :

note: type: Plain text
en: It is preceded with a "git diff" header, that looks like this (when the `-c` option is used):
fr: Il est précédé d'un entête "git diff", qui ressemble à ceci (quand l'option `-c` est utilisée) :

note: type: Plain text
en: or like this (when the `--cc` option is used):
fr: ou à ceci (lorsque l'option `--cc` est utilisée) :

note: type: Plain text
en: It is followed by one or more extended header lines (this example shows a merge with two parents):
fr: Il est suivi par une ligne d'entête étendu ou plus (cet exemple montre une fusion avec deux parents) :

note: type: Plain text
en: index <hash>,<hash>..<hash>
    mode <mode>,<mode>..<mode>
    new file mode <mode>
    deleted file mode <mode>,<mode>
fr: index <empreinte>,<empreinte>..<empreinte>
    mode <mode>,<mode>..<mode>
    new file mode <mode>
    deleted file mode <mode>,<mode>

note: type: Plain text
en: The `mode <mode>,<mode>..<mode>` line appears only if at least one of the <mode> is different from the rest. Extended headers with information about detected contents movement (renames and copying detection) are designed to work with diff of two <tree-ish> and are not used by combined diff format.
fr: La ligne `mode <mode>,<mode>..<mode>` n'apparaît que si au moins un des modes est différent du reste. Les entêtes étendus avec l'information à propos des déplacements détectés de contenu (détection de renommages et de copies) sont conçus pour fonctionner avec le diff de deux <arbre-esques> et ne sont pas utilisés dans le format de diff combiné.

note: type: Plain text
en: It is followed by two-line from-file/to-file header
fr: Il est suivi par un entête de deux lignes fichier-source/fichier-cible

note: type: Plain text
en: a/file
fr: a/fichier

note: type: Plain text
en: b/file
fr: b/fichier

note: type: Plain text
en: Similar to two-line header for traditional 'unified' diff format, `/dev/null` is used to signal created or deleted files.
fr: Similaire à l'entête à deux lignes pour le format diff unifié traditionnel, `/dev/null` est utilisé pour indiquer un fichier créé ou supprimé.

note: type: Plain text
en: However, if the --combined-all-paths option is provided, instead of a two-line from-file/to-file you get a N+1 line from-file/to-file header, where N is the number of parents in the merge commit
fr: Cependant, si l'option --combined-all-paths est fournie, au lieu des deux lignes de fichier-source/fichier-cible, vous obtenez un en-tête de N+1 lignes de fichier-source/fichier-cible, où N est le nombre de parents dans le commit de fusion

note: type: Plain text
en: This extended format can be useful if rename or copy detection is active, to allow you to see the original name of the file in different parents.
fr: Ce format étendu peut être utile si la détection de renommage ou de copie est active, pour vous permettre de voir le nom original du fichier dans différents parents.

note: type: Plain text
en: Chunk header format is modified to prevent people from accidentally feeding it to `patch -p1`. Combined diff format was created for review of merge commit changes, and was not meant to be applied. The change is similar to the change in the extended 'index' header:
fr: Le format d'entête de section est modifié pour empêcher l'utilisation accidentelle avec `patch -p1`. Le format de diff combiné a été créé pour les revues des modifications de commits de fusions, et n'était pas destiné à être appliqué. La modification est similaire à la modification dans l'entête étendu d'index :

note: type: Plain text
en: @@@ <from-file-range> <from-file-range> <to-file-range> @@@
fr: @@@ <intervalle-de-fichier-source> <intervalle-de-fichier-source> <intervalle-de-fichier-cible> @@@

note: type: Plain text
en: There are (number of parents + 1) `@` characters in the chunk header for combined diff format.
fr: Il y a (nombre de parents + 1) caractères `@` dans l'entête de section pour le format de diff combiné.

note: type: Plain text
en: Unlike the traditional 'unified' diff format, which shows two files A and B with a single column that has `-` (minus -- appears in A but removed in B), `+` (plus -- missing in A but added to B), or `" "` (space -- unchanged) prefix, this format compares two or more files file1, file2,... with one file X, and shows how X differs from each of fileN.  One column for each of fileN is prepended to the output line to note how X's line is different from it.
fr: À la différence du format diff 'unifié' traditionnel qui montre deux fichiers A et B avec une seule colonne qui a un préfixe `-` (moins -- apparaît dans A mais supprimé dans B), `+` (plus -- manquant dans A mais ajouté dans B), ou `" "` (espace -- non modifié), ce format compare un fichier ou plus fichier1, fichier2,… avec un fichier X, et affiche comment X diffère de chaque fichierN. Une colonne pour chaque fichierN est insérée dans la sortie pour montrer comment la ligne de X est différente de la ligne correspondante de celui-ci.

note: type: Plain text
en: A `-` character in the column N means that the line appears in fileN but it does not appear in the result.  A `+` character in the column N means that the line appears in the result, and fileN does not have that line (in other words, the line was added, from the point of view of that parent).
fr: Un caractère `-` dans la colonne N signifie que la ligne apparaît dans fichierN mais pas dans le résultat. Un caractère `+` dans la colonne N signifie que la ligne apparaît dans le résultat, et fichierN ne l'a pas (en d'autres termes, la ligne a été ajoutée du point de vue de ce parent).

note: type: Plain text
en: In the above example output, the function signature was changed from both files (hence two `-` removals from both file1 and file2, plus `++` to mean one line that was added does not appear in either file1 or file2).  Also eight other lines are the same from file1 but do not appear in file2 (hence prefixed with `+`).
fr: Dans l'exemple de sortie ci-dessus, la signature de la fonction a été changée depuis les deux fichiers (d'où les deux suppressions `-` depuis fichier1 et fichier2, plus `++` pour signifier qu'une ligne qui a été ajoutée n'apparaît ni dans fichier1 ni dans fichier2). De plus, huit autres lignes sont identiques depuis fichier1 mais n'apparaissent pas dans fichier2 (et sont donc préfixées par `+`).

note: type: Plain text
en: When shown by `git diff-tree -c`, it compares the parents of a merge commit with the merge result (i.e. file1..fileN are the parents).  When shown by `git diff-files -c`, it compares the two unresolved merge parents with the working tree file (i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka "their version").
fr: Quand affiché par `git diff-tree -c`, les parents du commit de fusion sont comparés avec le résultat de fusion (c-à-d fichier1..fichierN sont les parents) ; Quand affiché par `git diff-files -c`, les deux parents de fusion non résolue sont comparés avec le fichier dans l'arbre de travail (c-à-d fichier1 est stage 2, « notre version », fichier2 est stage 3, « leur version »).

note: type: Plain text
en: Generate plain patches without any diffstats.
fr: Générer des correctifs normaux sans aucun diffstat.

note: type: Plain text
en: Generate patch (see section on generating patches).
fr: Générer un correctif (voir section sur la génération de correctifs).

note: type: Plain text
en: 	This is the default.
fr: 	C'est l'option par défaut.

note: type: Plain text
en: Suppress diff output. Useful for commands like `git show` that show the patch by default, or to cancel the effect of `--patch`.
fr: Supprimer la sortie diff. Utile pour les commandes telles que `git show` qui affichent la rustine par défaut, ou pour supprimer l'effet de `--patch`.

note: type: Plain text
en: Specify diff format to be used for merge commits. Default is {diff-merges-default} unless `--first-parent` is in use, in which case `first-parent` is the default.
fr: Préciser le format de diff à utiliser pour les commits de fusion. La valeur par défaut est {diff-merges-default} sauf si `--first-parent` est utilisé, auquel cas `first-parent` est la valeur par défaut.

note: type: Plain text
en: Disable output of diffs for merge commits. Useful to override implied value.
fr: Désactive la sortie des diffs pour des commits de fusion. Utile pour passer outre la valeur sous-entendue.

note: type: Plain text
en: This option makes diff output for merge commits to be shown in the default format. The default format could be changed using `log.diffMerges` configuration parameter, which default value is `separate`. `-m` implies `-p`.
fr: Cette option permet d'afficher la sortie diff pour les commits de fusion dans le format par défaut. Le format par défaut peut être modifié en utilisant le paramètre de configuration `log.diffMerges`, dont la valeur par défaut est `separate`. `-m` implique `-p`.

note: type: Plain text
en: This option makes merge commits show the full diff with respect to the first parent only.
fr: Cette option fait en sorte que les commits de fusion montrent les différences complètes, mais seulement par rapport au premier parent.

note: type: Plain text
en: This makes merge commits show the full diff with respect to each of the parents. Separate log entry and diff is generated for each parent. This is the format that `-m` produced historically.
fr: Cela fait que les commits de fusion montrent la différence complète par rapport à chacun des parents. Une entrée de journal et une différence séparées sont générées pour chaque parent. C'est le format que `-m` a produit historiquement.

note: type: Plain text
en: With this option, diff output for a merge commit shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time. Furthermore, it lists only files which were modified from all parents. `-c` implies `-p`.
fr: Avec cette option, la sortie de diff pour un commit de fusion montre les différences de chacun des parents vers le résultat de la fusion simultanément au lieu de montrer une à une les différences par paires entre un parent et le résultat. De plus, il ne répertorie que les fichiers qui ont été modifiés par tous les parents.`-c` implique `-p`.

note: type: Plain text
en: With this option the output produced by `--diff-merges=combined` is further compressed by omitting uninteresting hunks whose contents in the parents have only two variants and the merge result picks one of them without modification.  `--cc` implies `-p`.
fr: Avec cette option, la sortie produite par `--diff-merges=combined` est encore compressée en omettant les sections inintéressantes dont le contenu dans les parents n'a que deux variantes et le résultat de la fusion choisit l'une d'entre elles sans modification. `--cc` implique `-p`.

note: type: Plain text
en: This flag causes combined diffs (used for merge commits) to list the name of the file from all parents.  It thus only has effect when `--diff-merges=[dense-]combined` is in use, and is likely only useful if filename changes are detected (i.e.  when either rename or copy detection have been requested).
fr: Cet drapeau fait en sorte que les diffs combinés (utilisés pour les commits de fusion) listent le nom du fichier de tous les parents.  Il n'a donc d'effet que lorsque `--diff-merges=[dense-]combined` est utilisé, et n'est probablement utile que si des changements de nom de fichier sont détectés (c.-à-d. lorsque la détection de renommage ou de copie a été demandée).

note: type: Plain text
en: Generate diffs with <n> lines of context instead of the usual three.
fr: Générer des diffs avec <n> lignes de contexte au lieu des trois habituelles.

note: type: Plain text
en: 	Implies `--patch`.
fr: 	Implique `--patch`.

note: type: Labeled list
en: --output=<file>
fr: --output=<fichier>

note: type: Plain text
en: Output to a specific file instead of stdout.
fr: Sortie vers un fichier spécifique au lieu de stdout.

note: type: Labeled list
en: --output-indicator-new=<char>
fr: --output-indicator-new=<caractère>

note: type: Labeled list
en: --output-indicator-old=<char>
fr: --output-indicator-old=<caractère>

note: type: Labeled list
en: --output-indicator-context=<char>
fr: --output-indicator-context=<caractère>

note: type: Plain text
en: Specify the character used to indicate new, old or context lines in the generated patch. Normally they are '+', '-' and ' ' respectively.
fr: Spécifier le caractère utilisé pour indiquer les lignes nouvelles, anciennes ou contextuelles dans la rustine générée. Normalement, il s'agit de '+', '-' et ' ' respectivement.

note: type: Plain text
en: 	Generate the diff in raw format.
fr: 	Genérer la diff en format brut.

note: type: Plain text
en: 	For each commit, show a summary of changes using the raw diff
    	format. See the "RAW OUTPUT FORMAT" section of
    	linkgit:git-diff[1]. This is different from showing the log
    	itself in raw format, which you can achieve with
    	`--format=raw`.
fr: 	Pour chaque commit, afficher un résumé des modifications en
    	format de diff brut. Voir la section « FORMAT DE SORTIE BRUT »
    	de linkgit:git-diff[1]. C'est différent de l'affichage du
    	journal en format brut, que vous pouvez obtenir avec
    	`--format=raw`.

note: type: Plain text
en: Synonym for `-p --raw`.
fr: Synonyme de `-p --raw`.

note: type: Plain text
en: Show the tree objects in the diff output.
fr: Afficher les objets arbres dans la sortie diff.

note: type: Plain text
en: Enable the heuristic that shifts diff hunk boundaries to make patches easier to read. This is the default.
fr: Activer l'heuristique qui décale les limites des sections de diff pour rendre les rustines plus faciles à lire. C'est l'option par défaut.

note: type: Plain text
en: Disable the indent heuristic.
fr: Désactiver l'heuristique d'indentation.

note: type: Plain text
en: Spend extra time to make sure the smallest possible diff is produced.
fr: Passer plus de temps pour s'assurer que le diff le plus petit possible est produit.

note: type: Plain text
en: Generate a diff using the "patience diff" algorithm.
fr: Générer un diff en utilisant l'algorithme « patience diff ».

note: type: Plain text
en: Generate a diff using the "histogram diff" algorithm.
fr: Générer un diff en utilisant l'algorithme « diff histogramme ».

note: type: Labeled list
en: --anchored=<text>
fr: --anchored=<texte>

note: type: Plain text
en: Generate a diff using the "anchored diff" algorithm.
fr: Générer un diff en utilisant l'algorithme « diff ancré ».

note: type: Plain text
en: This option may be specified more than once.
fr: Cette option peut être spécifiée plus d'une fois.

note: type: Plain text
en: If a line exists in both the source and destination, exists only once, and starts with this text, this algorithm attempts to prevent it from appearing as a deletion or addition in the output. It uses the "patience diff" algorithm internally.
fr: Si une ligne existe dans la source et la destination, n'existe qu'une seule fois, et démarre avec ce texte, cet algorithme tente d'empêcher qu'elle apparaisse comme une suppression ou une addition dans la sortie. L'algorithme « patience diff » est utilisé en interne.

note: type: Plain text
en: Choose a diff algorithm. The variants are as follows:
fr: Choisir un algorithme de diff. Les variantes sont comme suit :

note: type: Plain text
en: The basic greedy diff algorithm. Currently, this is the default.
fr: L'algorithme de diff avide. C'est actuellement celui par défaut.

note: type: Plain text
en: Use "patience diff" algorithm when generating patches.
fr: Utiliser l'algorithme « patience diff » pour la génération de rustine.

note: type: Plain text
en: This algorithm extends the patience algorithm to "support low-occurrence common elements".
fr: Cet algorithme étend l'algorithme patience pour « supporter les éléments communs de faible fréquence ».

note: type: Plain text
en: For instance, if you configured the `diff.algorithm` variable to a non-default value and want to use the default one, then you have to use `--diff-algorithm=default` option.
fr: Par exemple, si vous avez configuré la variable `diff.algorithm` à une valeur autre que celle par défaut et souhaitez utiliser la valeur par défaut, alors vous devez utiliser l'option `--diff-algorithm=default`.

note: type: Labeled list
en: --stat[=<width>[,<name-width>[,<count>]]]
fr: --stat[=<largeur>[,<largeur-de-nom>[,<nombre>]]]

note: type: Plain text
en: Generate a diffstat. By default, as much space as necessary will be used for the filename part, and the rest for the graph part. Maximum width defaults to terminal width, or 80 columns if not connected to a terminal, and can be overridden by `<width>`. The width of the filename part can be limited by giving another width `<name-width>` after a comma. The width of the graph part can be limited by using `--stat-graph-width=<width>` (affects all commands generating a stat graph) or by setting `diff.statGraphWidth=<width>` (does not affect `git format-patch`).  By giving a third parameter `<count>`, you can limit the output to the first `<count>` lines, followed by `...` if there are more.
fr: Générer un diffstat. Par défaut, autant d'espace que nécessaire sera utilisé pour la partie du nom de fichier et le reste pour la partie de graphe. La largeur maximum est par défaut la largeur du terminal, ou 80 colonnes si non connecté à un terminal, et peut être outrepassé avec `<largeur>`. La largeur du nom de fichier peut être limitée en fournissant une autre largeur `<largeur-de-nom>` après une virgule. La largeur de la partie du graphe peut être limitée en utilisant `--stat-graph-width=<largeur>` (affecte toutes les commandes générant un graphe de stat) ou en réglant `diff.statGraphWidth=<largeur>` (n'affecte pas `git format-patch`). En ajoutant un troisième paramètre `<nombre>`, vous pouvez limiter la sortie aux premières `<nombre>` lignes, suivies de `...` s'il y en a plus.

note: type: Plain text
en: These parameters can also be set individually with `--stat-width=<width>`, `--stat-name-width=<name-width>` and `--stat-count=<count>`.
fr: Ces paramètres peuvent aussi être positionnés individuellement avec `--stat-width=<largeur>`, `--stat-name-width=<largeur-de-nom>` et `--stat-count=<nombre>`.

note: type: Plain text
en: Output a condensed summary of extended header information such as file creations or deletions ("new" or "gone", optionally "+l" if it's a symlink) and mode changes ("+x" or "-x" for adding or removing executable bit respectively) in diffstat. The information is put between the filename part and the graph part. Implies `--stat`.
fr: Afficher un résumé condensé de l'information d'entête étendu telle que les créations ou les suppressions de fichier (« nouveau » ou « disparu », optionnellement « +l » si c'est un lien symbolique) et les modifications de mode (« +x » ou « -x » pour l'ajout et la suppression du bit exécutable respectivement) dans le diffstat. L'information est affichée entre la partie nom de fichier et la partie graphe. Implique `--stat`.

note: type: Plain text
en: Similar to `--stat`, but shows number of added and deleted lines in decimal notation and pathname without abbreviation, to make it more machine friendly.  For binary files, outputs two `-` instead of saying `0 0`.
fr: Similaire à `--stat`, mais afficher le nombre de lignes ajoutées ou supprimées en notation décimale et le nom de chemin sans abréviation, pour le rendre plus facile à traiter automatiquement. Pour les fichiers binaires, affiche deux `-` au lieu de `0 0`.

note: type: Plain text
en: Output only the last line of the `--stat` format containing total number of modified files, as well as number of added and deleted lines.
fr: N'affiche que la dernière ligne du format `--stat` contenant le nombre total de fichiers modifiés, de même que le nombre de lignes ajoutées et supprimées.

note: type: Plain text
en: Output the distribution of relative amount of changes for each sub-directory. The behavior of `--dirstat` can be customized by passing it a comma separated list of parameters.  The defaults are controlled by the `diff.dirstat` configuration variable (see linkgit:git-config[1]).  The following parameters are available:
fr: Afficher la distribution de la quantité relative de modifications pour chaque sous-répertoire. Le comportement de `--dirstat` peut être personnalisé en lui passant une liste de paramètres séparés par des virgules. Les valeurs par défaut sont contrôlées par la variable de configuration `diff.dirstat` (voir linkgit:git-config[1]). Les paramètres suivants sont disponibles :

note: type: Plain text
en: Compute the dirstat numbers by counting the lines that have been removed from the source, or added to the destination. This ignores the amount of pure code movements within a file.  In other words, rearranging lines in a file is not counted as much as other changes.  This is the default behavior when no parameter is given.
fr: Calculer les valeurs de dirstat en comptant les lignes supprimées de la source ou ajoutées dans la destination. Ceci ignore la quantité de purs mouvements de code dans un fichier. En d'autres termes, le réarrangement de lignes dans un fichier n'est pas compté autant que les autres modifications. C'est le comportement par défaut quand aucun paramètre n'est fourni.

note: type: Plain text
en: Compute the dirstat numbers by doing the regular line-based diff analysis, and summing the removed/added line counts. (For binary files, count 64-byte chunks instead, since binary files have no natural concept of lines). This is a more expensive `--dirstat` behavior than the `changes` behavior, but it does count rearranged lines within a file as much as other changes. The resulting output is consistent with what you get from the other `--*stat` options.
fr: Calculer les valeurs dirstat en faisant l'analyse diff normal par ligne, et en additionnant les totaux de lignes ajoutées/supprimées. (Pour les fichiers binaires, compter plutôt les sections de 64 octets, puisque les fichiers binaires n'ont pas de concept de ligne). C'est un comportement de `--dirstat` plus onéreux que le comportement `changes`, mais il compte les lignes réarrangées dans un fichier autant que les autres modifications. La sortie résultante est cohérente avec ce que vous obtiendriez avec d'autres options `--*stat`.

note: type: Plain text
en: Compute the dirstat numbers by counting the number of files changed.  Each changed file counts equally in the dirstat analysis. This is the computationally cheapest `--dirstat` behavior, since it does not have to look at the file contents at all.
fr: Calculer les valeurs dirstat en comptant le nombre de fichiers changés. Chaque fichier modifié compte de façon égale dans l'analyse dirstat. C'est le comportement `--dirstat` le moins cher en termes de calcul, puisqu'il n'a pas du tout besoin d'analyser le contenu du fichier.

note: type: Plain text
en: Count changes in a child directory for the parent directory as well.  Note that when using `cumulative`, the sum of the percentages reported may exceed 100%. The default (non-cumulative) behavior can be specified with the `noncumulative` parameter.
fr: Compter les modifications dans un répertoire enfant pour le répertoire parent. Notez qu'en utilisant `cumulative`, la somme des pourcentages constatés peut dépasser 100 %. Le comportement par défaut (non cumulatif) peut être spécifié avec le paramètre `noncumulative`.

note: type: Labeled list
en: <limit>
fr: <limite>

note: type: Plain text
en: An integer parameter specifies a cut-off percent (3% by default).  Directories contributing less than this percentage of the changes are not shown in the output.
fr: Un paramètre entier qui spécifie un pourcentage limite (3% par défaut). Les répertoires contribuant moins que ce pourcentage de modifications ne sont pas affichés dans la sortie.

note: type: Plain text
en: Example: The following will count changed files, while ignoring directories with less than 10% of the total amount of changed files, and accumulating child directory counts in the parent directories: `--dirstat=files,10,cumulative`.
fr: Exemple : ce qui suit va compter les fichiers modifiés, tout en ignorant les répertoires qui contiennent moins de 10 % de la quantité totale de fichiers modifiés et en accumulant les totaux des répertoires enfants dans les répertoires parents : `--dirstat=files,10,cumulative`.

note: type: Plain text
en: Synonym for --dirstat=cumulative
fr: Synonyme de --dirstat=cumulative

note: type: Plain text
en: Synonym for --dirstat=files,param1,param2...
fr: Synonyme de --dirstat=files,param1,param2....

note: type: Plain text
en: Output a condensed summary of extended header information such as creations, renames and mode changes.
fr: Afficher un résumé condensé d'information d'entête étendu tel que les créations, les renommages et les modifications de mode.

note: type: Plain text
en: Synonym for `-p --stat`.
fr: Synonyme de `-p --stat`.

note: type: Plain text
en: 	Separate the commits with NULs instead of with new newlines.
fr: 	Séparer les commits avec des NULs au lieu de retours chariot.

note: type: Plain text
en: Also, when `--raw` or `--numstat` has been given, do not munge pathnames and use NULs as output field terminators.
fr: Aussi, quand `--raw` ou `--numstat` ont été fournis, ne pas modifier les noms de chemins et utiliser des NULs comme terminateurs de champs.

note: type: Plain text
en: 	When `--raw`, `--numstat`, `--name-only` or `--name-status` has been
    	given, do not munge pathnames and use NULs as output field terminators.
fr: 	Quand `--raw`, `--numstat`, `--name-only` ou `--name-status` a été fourni,
    	ne pas modifier les noms de chemin et utiliser des NULs comme terminateurs de champs.

note: type: Plain text
en: Without this option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
fr: Sans cette option, les noms de chemin avec des caractères « inhabituels » sont cités comme expliqué pour la variable de configuration `core.quotePath` (voir linkgit:git-config[1]).

note: type: Plain text
en: Show only names of changed files. The file names are often encoded in UTF-8.  For more information see the discussion about encoding in the linkgit:git-log[1] manual page.
fr: Afficher uniquement les noms des fichiers modifiés. Les noms de fichiers sont souvent encodés en UTF-8. Le définir sur `none` 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 linkgit:git-log[1].

note: type: Plain text
en: Show only names and status of changed files. See the description of the `--diff-filter` option on what the status letters mean.  Just like `--name-only` the file names are often encoded in UTF-8.
fr: N'afficher que les noms et statuts des fichiers modifiés. Voir la description de l'option `--diff-filter` pour la signification des lettres de statut. Tout comme `--name-only`, les noms de fichiers sont souvent encodés en UTF-8.

note: type: Plain text
en: Specify how differences in submodules are shown.  When specifying `--submodule=short` the 'short' format is used.  This format just shows the names of the commits at the beginning and end of the range.  When `--submodule` or `--submodule=log` is specified, the 'log' format is used.  This format lists the commits in the range like linkgit:git-submodule[1] `summary` does.  When `--submodule=diff` is specified, the 'diff' format is used.  This format shows an inline diff of the changes in the submodule contents between the commit range.  Defaults to `diff.submodule` or the 'short' format if the config option is unset.
fr: Spécifier comment les différences dans les sous-modules sont affichées. Lorsque vous spécifiez `--submodule=short`, le format 'short' (court) est utilisé. Ce format n'affiche que le nom des commits du début et de la fin de la plage. Quand `--submodule` ou `--submodule=log` est spécifié, le format 'log' (journal) est utilisé. Ce format liste les commits dans la plage comme le fait `summary` de linkgit:git-submodule[1]. Quand `--submodule=diff` est spécifié, le format 'diff' est utilisé. Ce format affiche une diff en ligne des modifications dans le sous-module pour la plage de commits. Vaut par défaut `diff.submodule` ou le format 'short' si l'option de configuration n'est pas renseignée.

note: type: Labeled list
en: --color[=<when>]
fr: --color[=<quand>]

note: type: Plain text
en: Show colored diff.  `--color` (i.e. without '=<when>') is the same as `--color=always`.  '<when>' can be one of `always`, `never`, or `auto`.
fr: Afficher des diff colorés. `--color` (sans '=<quand>') est identique à `--color=always`. '<quand>' peut être `always`, `never` ou `auto`.

note: type: Plain text
en: 	It can be changed by the `color.ui` and `color.diff`
    	configuration settings.
fr: 	Ceci peut être changé par les réglages de configuration
    	`color.ui` et `color.diff`.

note: type: Plain text
en: Turn off colored diff.
fr: Désactiver les diff colorés.

note: type: Plain text
en: 	This can be used to override configuration settings.
fr: 	Ceci peut être utilisé pour outrepasser les réglages de configuration.

note: type: Plain text
en: 	It is the same as `--color=never`.
fr: 	C'est identique à `--color=never`.

note: type: Plain text
en: Moved lines of code are colored differently.
fr: Les lignes de code déplacées sont colorées différemment.

note: type: Plain text
en: 	It can be changed by the `diff.colorMoved` configuration setting.
fr: 	Ceci peut être modifié par le réglage de configuration `diff.colorMoved`.

note: type: Plain text
en: 	The <mode> defaults to 'no' if the option is not given
    	and to 'zebra' if the option with no mode is given.
    	The mode must be one of:
fr: 	Le <mode> vaut par défaut 'no' si l'option n'est pas fournie
    	et 'zebra' si l'option est fournie sans mode.
    	Le mode est une valeur parmi :

note: type: Plain text
en: Moved lines are not highlighted.
fr: Les lignes déplacées ne sont pas surlignées.

note: type: Plain text
en: Is a synonym for `zebra`. This may change to a more sensible mode in the future.
fr: C'est un synonyme de `zebra`. Cela peut changer pour un mode plus raisonnable dans le futur.

note: type: Plain text
en: Any line that is added in one location and was removed in another location will be colored with 'color.diff.newMoved'.  Similarly 'color.diff.oldMoved' will be used for removed lines that are added somewhere else in the diff. This mode picks up any moved line, but it is not very useful in a review to determine if a block of code was moved without permutation.
fr: Toute ligne qui est ajoutée à un endroit et supprimée à un autre endroit sera colorée avec 'color.diff.newMoved'. Similairement 'color.diff.oldMoved' sera utilisé pour les lignes retirées qui ont été ajoutées ailleurs dans le diff. Ce mode prend n'importe quelle ligne déplacée, mais il n'est pas très utile dans une revue pour déterminer si un bloc de code a été déplacé sans permutation.

note: type: Plain text
en: Blocks of moved text of at least 20 alphanumeric characters are detected greedily. The detected blocks are painted using either the 'color.diff.{old,new}Moved' color.  Adjacent blocks cannot be told apart.
fr: Les blocs de texte déplacé d'au moins 20 caractères alphanumériques sont détectés avidement. Les blocs détectés sont peints avec les couleurs 'color.diff.oldMoved' pour l'ancienne place et 'color.diff.newMoved' pour la nouvelle place. Les blocs adjacents ne peuvent pas être différenciés.

note: type: Plain text
en: Blocks of moved text are detected as in 'blocks' mode. The blocks are painted using either the 'color.diff.{old,new}Moved' color or 'color.diff.{old,new}MovedAlternative'. The change between the two colors indicates that a new block was detected.
fr: Les blocs de texte déplacé sont détectés comme dans le mode 'blocks'. Les blocs sont peints en utilisant la couleur 'color.diff.{old,new}Moved' ou 'color.diff.{old,new}MovedAlternative'. La différence entre les deux couleurs indique qu'un nouveau bloc a été détecté.

note: type: Plain text
en: Similar to 'zebra', but additional dimming of uninteresting parts of moved code is performed. The bordering lines of two adjacent blocks are considered interesting, the rest is uninteresting.  `dimmed_zebra` is a deprecated synonym.
fr: Similaire à 'zebra', mais avec une limitation supplémentaire des parties inintéressantes du code déplacé. Les lignes de frontière de deux blocs adjacents sont considérées intéressantes, le reste est inintéressant. 'dimmed_zebra' est un synonyme déconseillé.

note: type: Plain text
en: Turn off move detection. This can be used to override configuration settings. It is the same as `--color-moved=no`.
fr: Désactiver la détection de déplacement. Ce peut être utilisé pour outrepasser les réglages de configuration. C'est comme `--color-moved=no`.

note: type: Plain text
en: This configures how whitespace is ignored when performing the move detection for `--color-moved`.
fr: Ceci configure comment les espaces sont ignorés lors de la détection de déplacement par `--color-moved`.

note: type: Plain text
en: 	It can be set by the `diff.colorMovedWS` configuration setting.
fr: 	Le réglage de configuration `diff.colorMovedWS` permet de le modifier.

note: type: Plain text
en: 	These modes can be given as a comma separated list:
fr: 	Ces modes peuvent être fournis comme une liste séparée par des virgules :

note: type: Plain text
en: Do not ignore whitespace when performing move detection.
fr: Ne pas ignorer les espaces lors de la détection de déplacement.

note: type: Plain text
en: Ignore changes in whitespace at EOL.
fr: Ignorer les modifications d'espaces en fin de ligne.

note: type: Plain text
en: Ignore changes in amount of whitespace.  This ignores whitespace at line end, and considers all other sequences of one or more whitespace characters to be equivalent.
fr: Ignorer les modifications de nombre d'espaces. Cela ignore les espaces en fin de ligne et considère toutes les autres séquences d'un caractère blanc ou plus comme équivalentes.

note: type: Plain text
en: Ignore whitespace when comparing lines. This ignores differences even if one line has whitespace where the other line has none.
fr: Ignorer les espaces lors de la comparaison de lignes. Ceci ignore les différences même si une ligne a des espaces quand l'autre n'en a aucun.

note: type: Plain text
en: Initially ignore any whitespace in the move detection, then group the moved code blocks only into a block if the change in whitespace is the same per line. This is incompatible with the other modes.
fr: Ignorer initialement tout espace lors de la détection de déplacement, puis grouper les blocs de code déplacé dans un bloc si la modification de blancs est identique par ligne. C'est incompatible avec les autres modes.

note: type: Plain text
en: Do not ignore whitespace when performing move detection. This can be used to override configuration settings. It is the same as `--color-moved-ws=no`.
fr: Ne pas ignorer les blancs lors de la détection de déplacement. Ceci peut être utilisé pour outrepasser les réglages de configuration. C'est identique à `--color-moved-ws=no`.

note: type: Plain text
en: Show a word diff, using the <mode> to delimit changed words.  By default, words are delimited by whitespace; see `--word-diff-regex` below.  The <mode> defaults to 'plain', and must be one of:
fr: Afficher un diff par mot, en utilisant le <mode> pour délimiter les mots modifiés. Par défaut, les mots sont délimités par des espaces ; voir `--word-diff-regex` ci-dessous. Le <mode> vaut par défaut 'plain', et peut valoir :

note: type: Plain text
en: Highlight changed words using only colors.  Implies `--color`.
fr: Surligner les mots modifiés en n'utilisant que des couleurs. Implique `--color`.

note: type: Plain text
en: Show words as `[-removed-]` and `{+added+}`.  Makes no attempts to escape the delimiters if they appear in the input, so the output may be ambiguous.
fr: Afficher les mots comme `[-supprimé-]` et `{+ajouté+}`. Ne pas tenter d'échapper ces délimiteurs s'ils apparaissent dans l'entrée, donc la sortie peut être ambigüe.

note: type: Plain text
en: Use a special line-based format intended for script consumption.  Added/removed/unchanged runs are printed in the usual unified diff format, starting with a `+`/`-`/` ` character at the beginning of the line and extending to the end of the line.  Newlines in the input are represented by a tilde `~` on a line of its own.
fr: Utiliser un format spécial ligne par ligne destiné à la consommation par script. Les séquences ajoutées/supprimées/non-modifiées sont affichées dans le format diff unifié habituel, commençant par un caractère `+`/`-`/` ` en début de ligne et en étendant en fin de ligne. Les retours chariot dans l'entrée sont représentés par un tilde `~` sur une ligne à part.

note: type: Plain text
en: Disable word diff again.
fr: Désactiver à nouveau la diff par mots.

note: type: Plain text
en: Note that despite the name of the first mode, color is used to highlight the changed parts in all modes if enabled.
fr: Notez qu'en dépit du nom du premier mode, la couleur est utilisée pour surligner les parties modifiées dans tous les modes, si activée.

note: type: Plain text
en: Use <regex> to decide what a word is, instead of considering runs of non-whitespace to be a word.  Also implies `--word-diff` unless it was already enabled.
fr: Utiliser <regex> pour décider ce qu'est un mot, au lieu de définir un mot comme une séquence continue de caractères non blancs. Implique aussi `--word-diff` à moins qu'elle ait déjà été spécifiée.

note: type: Plain text
en: Every non-overlapping match of the <regex> is considered a word.  Anything between these matches is considered whitespace and ignored(!) for the purposes of finding differences.  You may want to append `|[^[:space:]]` to your regular expression to make sure that it matches all non-whitespace characters.  A match that contains a newline is silently truncated(!) at the newline.
fr: Toutes correspondances de <regex> qui ne se chevauchent pas sont considérées comme des mots. Tout ce qui se situe entre ces correspondances est considéré comme de l'espace blanc et ignoré (!) lors du calcul de différences. Vous voudrez peut-être ajouter `|[^[:space:]]` à l'expression régulière pour être sûr qu'elle englobe tous les caractères non blancs. Une correspondance qui contient un retour à la ligne est tronquée silencieusement (!) au retour à la ligne.

note: type: Plain text
en: For example, `--word-diff-regex=.` will treat each character as a word and, correspondingly, show differences character by character.
fr: Par exemple, `--word-diff-regex=.` va traiter chaque caractère comme un mot et de ce fait présenter les différences caractère par caractère.

note: type: Plain text
en: The regex can also be set via a diff driver or configuration option, see linkgit:gitattributes[5] or linkgit:git-config[1].  Giving it explicitly overrides any diff driver or configuration setting.  Diff drivers override configuration settings.
fr: La regex peut aussi être indiquée par un pilote de diff ou une option de configuration, voir linkgit:gitattributes[5] ou linkgit:git-config[1]. La ligne de commande a précédence sur le pilote de diff ou la configuration. Le pilote de diff a précédence sur l'option de configuration.

note: type: Plain text
en: Equivalent to `--word-diff=color` plus (if a regex was specified) `--word-diff-regex=<regex>`.
fr: Équivalent à `--word-diff=color` plus (si une regex a été spécifiée) `--word-diff-regex=<regex>`.

note: type: Plain text
en: Turn off rename detection, even when the configuration file gives the default to do so.
fr: Désactiver la détection de renommage, même si le fichier de configuration indique de le faire par défaut.

note: type: Plain text
en: Whether to use empty blobs as rename source.
fr: S'il faut utiliser les blobs vides comme source de renommage.

note: type: Plain text
en: Warn if changes introduce conflict markers or whitespace errors.  What are considered whitespace errors is controlled by `core.whitespace` configuration.  By default, trailing whitespaces (including lines that consist solely of whitespaces) and a space character that is immediately followed by a tab character inside the initial indent of the line are considered whitespace errors.  Exits with non-zero status if problems are found. Not compatible with --exit-code.
fr: Avertir si les modifications introduisent des marqueurs de conflit ou des erreurs d'espaces. Les erreurs d'espaces sont définies par l'option de configuration `core.whitespace`. Par défaut, les espaces en fin de ligne (incluant les lignes ne contenant que des espaces) et le caractère espace suivi immédiatement par une tabulation lors d'une indentation initiale de ligne sont considérés comme des erreurs d'espace. Le code d'erreur de sortie est non nul en cas de problèmes trouvés. Non compatible avec `--exit-code`.

note: type: Labeled list
en: --ws-error-highlight=<kind>
fr: --ws-error-highlight=<sorte>

note: type: Plain text
en: Highlight whitespace errors in the `context`, `old` or `new` lines of the diff.  Multiple values are separated by comma, `none` resets previous values, `default` reset the list to `new` and `all` is a shorthand for `old,new,context`.  When this option is not given, and the configuration variable `diff.wsErrorHighlight` is not set, only whitespace errors in `new` lines are highlighted. The whitespace errors are colored with `color.diff.whitespace`.
fr: Surligner les erreurs d'espace dans les lignes `context` (contexte), `old` (ancien) et `new` (nouveau) du diff. Des valeurs multiples sont séparées par des virgules, `none` réinitialise les valeurs précédentes, `default` réinitialise la liste à `new` et `all` est un raccourci pour `old,new,context`. Quand cette option n'est pas fournie et que la variable de configuration `diff.wsErrorHighlight` n'est pas assignée, seules les erreurs d'espace dans les lignes `new` sont surlignées. Les erreurs d'espace sont colorées avec `color.diff.whitespace`.

note: type: Plain text
en: Instead of the first handful of characters, show the full pre- and post-image blob object names on the "index" line when generating patch format output.
fr: Au lieu de montrer quelques-uns des premiers caractères, montrer les noms complets des objets blob des images pré et post sur la ligne d'index lors de la génération de la sortie au format patch.

note: type: Plain text
en: In addition to `--full-index`, output a binary diff that can be applied with `git-apply`.
fr: En plus de `--full-index`, afficher un diff binaire qui peut être appliqué avec `git-apply`.

note: type: Plain text
en: Instead of showing the full 40-byte hexadecimal object name in diff-raw format output and diff-tree header lines, show the shortest prefix that is at least '<n>' hexdigits long that uniquely refers the object.  In diff-patch output format, `--full-index` takes higher precedence, i.e. if `--full-index` is specified, full blob names will be shown regardless of `--abbrev`.  Non default number of digits can be specified with `--abbrev=<n>`.
fr: Au lieu de montrer le nom de l'objet avec les 40 caractères hexadécimaux dans le format de diff brut et les lignes d'entête de l'arbre de diff, montrer le préfixe le plus court, d'une longueur d'au moins '<n>'  chiffres hexadécimaux, qui renvoie à l'objet de manière unique. Dans le format de sortie de rustine de correctif, `--full-index` a une priorité plus élevée, c'est-à-dire si `--full-index` est spécifié, les noms de blob complets seront affichés indépendamment de `--abbrev`. Un nombre de chiffres différent de celui par défaut peut être spécifié avec `--abbrev=<n>`.

note: type: Plain text
en: Break complete rewrite changes into pairs of delete and create. This serves two purposes:
fr: Casser les modifications de réécriture complète en paires de suppression et création. Cela sert deux objectifs :

note: type: Plain text
en: It affects the way a change that amounts to a total rewrite of a file not as a series of deletion and insertion mixed together with a very few lines that happen to match textually as the context, but as a single deletion of everything old followed by a single insertion of everything new, and the number `m` controls this aspect of the -B option (defaults to 60%). `-B/70%` specifies that less than 30% of the original should remain in the result for Git to consider it a total rewrite (i.e. otherwise the resulting patch will be a series of deletion and insertion mixed together with context lines).
fr: Cela affecte la façon dont un changement qui équivaut à une réécriture totale d'un fichier apparaît non pas comme une série de suppressions et d'insertions mélangées avec quelques lignes qui (par hasard) correspondent entre les deux versions comme contexte, mais comme une simple suppression de tout ce qui est ancien suivi d'une simple insertion de tout ce qui est nouveau, et le nombre `m` contrôle cet aspect de l'option -B (par défaut 60 %). `-B/70%` spécifie que moins de 30 % de l'original doit rester dans le résultat pour que Git le considère comme une réécriture totale (autrement, la rustine résultante sera une série de suppressions et d'insertions mélangées avec des lignes de contexte).

note: type: Plain text
en: When used with -M, a totally-rewritten file is also considered as the source of a rename (usually -M only considers a file that disappeared as the source of a rename), and the number `n` controls this aspect of the -B option (defaults to 50%). `-B20%` specifies that a change with addition and deletion compared to 20% or more of the file's size are eligible for being picked up as a possible source of a rename to another file.
fr: Utilisé avec -M, un fichier complètement réécrit est aussi considéré comme la source d'un renommage (habituellement -M ne considère que les fichiers qui ont disparu comme source de renommage), et le nombre `n` contrôle le niveau de l'option -B (par défaut, 50 %). `-B20%` signifie qu'une modification avec des additions et des suppressions représentant 20 % ou plus du contenu du fichier est considérée pour être utilisée comme une source possible pour un renommage en un autre fichier.

note: type: Plain text
en: 	Detect renames.
fr: 	Détecter les renommages.

note: type: Plain text
en: 	If generating diffs, detect and report renames for each commit.
    	For following files across renames while traversing history, see
    	`--follow`.
fr: 	Si des diffs sont générés, détecter et afficher les renommages
    	pour chaque commit. Pour suivre les fichiers au fil des renommages
    	qui apparaissent dans l'historique, voir `--follow`.

note: type: Plain text
en: 	If `n` is specified, it is a threshold on the similarity
    	index (i.e. amount of addition/deletions compared to the
    	file's size). For example, `-M90%` means Git should consider a
    	delete/add pair to be a rename if more than 90% of the file
    	hasn't changed.  Without a `%` sign, the number is to be read as
    	a fraction, with a decimal point before it.  I.e., `-M5` becomes
    	0.5, and is thus the same as `-M50%`.  Similarly, `-M05` is
    	the same as `-M5%`.  To limit detection to exact renames, use
    	`-M100%`.  The default similarity index is 50%.
fr: 	Si `n` est spécifié, c'est un seuil d'index de similarité
    	(c-à-d la quantité d'addition/suppression comparé à la taille
    	du fichier). Par exemple, `-M90%` signifie que Git considérera 
    	un couple suppression/ajout comme renommage si plus de 90 %
    	du fichier n'a pas changé. Sans le signe `%`, le nombre doit être
    	lu comme une fraction précédée du point décimal. `-M5` devient
    	0,5, tout comme `-M50%`. De même, `-M05` est identique à
    	`-M5%`.  Pour limiter la détection à des renommages exacts,
    	utilisez `-M100%`. L'index de similarité par défaut est `50%`.

note: type: Plain text
en: Detect copies as well as renames.  See also `--find-copies-harder`.  If `n` is specified, it has the same meaning as for `-M<n>`.
fr: Détecter les copies aussi bien que les renommages. Voir aussi `--find-copies-harder`. Si `n` est spécifié, il a la même signification que pour `-M<n>`.

note: type: Plain text
en: For performance reasons, by default, `-C` option finds copies only if the original file of the copy was modified in the same changeset.  This flag makes the command inspect unmodified files as candidates for the source of copy.  This is a very expensive operation for large projects, so use it with caution.  Giving more than one `-C` option has the same effect.
fr: Pour des raisons de performance, par défaut, l'option `-C` trouve des copies seulement si le fichier original de la copie a été modifié dans le même ensemble de modifications. Ce drapeau fait inspecter à la commande les fichiers non modifiés comme candidats comme source de copie. C'est une opération très chère pour des projets importants, donc à utiliser avec précaution. Spécifier plusieurs fois l'option `-C` a le même effet.

note: type: Plain text
en: Omit the preimage for deletes, i.e. print only the header but not the diff between the preimage and `/dev/null`. The resulting patch is not meant to be applied with `patch` or `git apply`; this is solely for people who want to just concentrate on reviewing the text after the change. In addition, the output obviously lacks enough information to apply such a patch in reverse, even manually, hence the name of the option.
fr: Omettre la pré-image pour des suppressions, c-à-d n'afficher que l'entête mais pas la diff entre la pré-image et `/dev/null`. La rustine résultante n'est pas destinée à être appliquée avec `patch` ou `git apply`  ; C'est seulement pour les personnes qui veulent juste se concentrer sur une revue des modifications. De plus, la sortie manque clairement d'assez d'information pour appliquer la rustine en inverse, même manuellement, d'où le nom de l'option.

note: type: Plain text
en: When used together with `-B`, omit also the preimage in the deletion part of a delete/create pair.
fr: Lorsqu'utilisé conjointement avec `-B`, omettre aussi la pré-image dans la partie suppression d'une paire suppression/création.

note: type: Plain text
en: The `-M` and `-C` options involve some preliminary steps that can detect subsets of renames/copies cheaply, followed by an exhaustive fallback portion that compares all remaining unpaired destinations to all relevant sources.  (For renames, only remaining unpaired sources are relevant; for copies, all original sources are relevant.)  For N sources and destinations, this exhaustive check is O(N^2).  This option prevents the exhaustive portion of rename/copy detection from running if the number of source/destination files involved exceeds the specified number.  Defaults to diff.renameLimit.  Note that a value of 0 is treated as unlimited.
fr: Les options `-M` et `-C` impliquent quelques étapes préliminaires qui peuvent détecter des sous-ensembles de renommages/copies à moindre coût, suivies d'une partie pour le reste qui compare toutes les destinations non appariées restantes à toutes les sources pertinentes.  (Pour les renommages, seules les sources non appariées restantes sont pertinentes ; pour les copies, toutes les sources originales sont pertinentes).  Pour N sources et destinations, cette vérification exhaustive est en O(N^2).  Cette option empêche la partie exhaustive de la détection des renommages/copies de s'exécuter si le nombre de fichiers source/destination impliqués dépasse le nombre spécifié.  La valeur par défaut est diff.renameLimit.  Notez qu'une valeur de 0 est traitée comme illimitée.

note: type: Plain text
en: Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, submodule, ...) changed (`T`), are Unmerged (`U`), are Unknown (`X`), or have had their pairing Broken (`B`).  Any combination of the filter characters (including none) can be used.  When `*` (All-or-none) is added to the combination, all paths are selected if there is any file that matches other criteria in the comparison; if there is no file that matches other criteria, nothing is selected.
fr: Sélectionner seulement les fichiers qui sont Ajoutés (`A`), Copiés (`C`), supprimés (Deleted `D`), Modifiés (`M`), Renommés (`R`), ont eu un changement de Type (`T`) (c-à-d fichier normal, lien symbolique, sous-module …), sont non fusionnés (Unmerged `U`), sont inconnus (Unknown `X`) ou ont eu leur appairage cassé (Broken `B`). Toute combinaison de caractères de filtre (incluant aucun) peut être utilisée. Quand `*` (Tout-ou-rien) est ajouté à la combinaison, tous les chemins sont sélectionnés s'il y a des fichiers qui correspondent aux autres critères dans la comparaison ; s'il n'y a aucun fichier qui correspond aux autres critères, rien n'est sélectionné.

note: type: Plain text
en: Also, these upper-case letters can be downcased to exclude.  E.g.  `--diff-filter=ad` excludes added and deleted paths.
fr: Aussi, ces lettres majuscules peuvent être spécifiées en minuscules pour exclure. Par exemple, `--diff-filter=ad` exclut les chemins ajoutés et supprimés.

note: type: Plain text
en: Note that not all diffs can feature all types. For instance, diffs from the index to the working tree can never have Added entries (because the set of paths included in the diff is limited by what is in the index).  Similarly, copied and renamed entries cannot appear if detection for those types is disabled.
fr: Notez que toutes les diffs ne peuvent pas présenter tous les types. Par exemple, les diffs de l'index par rapport à l'arbre de travail ne peuvent jamais avoir des entrées Ajoutées (parce que l'ensemble des chemins inclus dans le diff est limité par ce qui est présent dans l'index). Similairement, les entrées copiées et renommées ne peuvent pas apparaître si la détection de ces types est désactivée.

note: type: Labeled list
en: -S<string>
fr: -S<chaîne>

note: type: Plain text
en: Look for differences that change the number of occurrences of the specified string (i.e. addition/deletion) in a file.  Intended for the scripter's use.
fr: Trouver des différences qui modifient le nombre d'occurrences de la chaîne spécifiée (par ex. addition/suppression) dans un fichier. Destiné à l'usage dans des scripts.

note: type: Plain text
en: It is useful when you're looking for an exact block of code (like a struct), and want to know the history of that block since it first came into being: use the feature iteratively to feed the interesting block in the preimage back into `-S`, and keep going until you get the very first version of the block.
fr: C'est utile lorsqu'on cherche un bloc exact de code (comme une struct), et qu'on veut connaître l'historique de ce bloc depuis son apparition : utiliser cette fonctionnalité itérativement pour fournir le bloc d'une pré-image à `-S` et continuer jusqu'à obtenir la toute première version du bloc.

note: type: Plain text
en: Binary files are searched as well.
fr: Les fichiers binaires sont aussi analysés.

note: type: Plain text
en: Look for differences whose patch text contains added/removed lines that match <regex>.
fr: Rechercher des différences dont le texte de rustine contient les lignes ajoutées/supprimées correspondant à <regex>.

note: type: Plain text
en: To illustrate the difference between `-S<regex> --pickaxe-regex` and `-G<regex>`, consider a commit with the following diff in the same file:
fr: Pour illustrer la différence entre `-S<regex> --pickaxe-regex` et `-G<regex>`, considérons un commit contenant la diff suivante dans un même fichier :

note: type: Plain text
en: While `git log -G"frotz\(nitfol"` will show this commit, `git log -S"frotz\(nitfol" --pickaxe-regex` will not (because the number of occurrences of that string did not change).
fr: Alors que `git log -G"frotz\(nitfol"` affichera ce commit, `git log -S"frotz\(nitfol" --pickaxe-regex` ne l'affichera pas (parce que le nombre d'occurrences de cette chaîne n'a pas changé).

note: type: Plain text
en: Unless `--text` is supplied patches of binary files without a textconv filter will be ignored.
fr: À moins que `--text` soit fourni, les rustines de fichiers binaires sans filtre textconv seront ignorées.

note: type: Plain text
en: See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more information.
fr: Voir l'entrée 'pickaxe' dans linkgit:gitdiffcore[7] pour plus d'information.

note: type: Labeled list
en: --find-object=<object-id>
fr: --find-object=<id-objet>

note: type: Plain text
en: Look for differences that change the number of occurrences of the specified object. Similar to `-S`, just the argument is different in that it doesn't search for a specific string but for a specific object id.
fr: Rechercher les différences qui modifient le nombre d'occurrences de l'objet indiqué. Similaire à `-S`, juste que l'argument est différent en ce qu'elle ne cherche pas une chaîne particulière mais un identifiant d'objet particulier.

note: type: Plain text
en: The object can be a blob or a submodule commit. It implies the `-t` option in `git-log` to also find trees.
fr: L'objet peut être un commit de blob ou de sous-module. Cela implique l'option `-t` dans `git-log` pour trouver aussi des arbres.

note: type: Plain text
en: When `-S` or `-G` finds a change, show all the changes in that changeset, not just the files that contain the change in <string>.
fr: Quand `-S` ou `-G` trouvent une modification, afficher toutes les modifications dans l'ensemble de modifications, pas seulement les fichiers qui contiennent la modification dans <chaîne>.

note: type: Plain text
en: Treat the <string> given to `-S` as an extended POSIX regular expression to match.
fr: Traiter la <chaîne> fournie à `-S` comme une expression régulière POSIX étendue à faire correspondre.

note: type: Labeled list
en: -O<orderfile>
fr: -O<fichier-d-ordre>

note: type: Plain text
en: Control the order in which files appear in the output.  This overrides the `diff.orderFile` configuration variable (see linkgit:git-config[1]).  To cancel `diff.orderFile`, use `-O/dev/null`.
fr: Contrôler l'ordre dans lequel les fichiers apparaissent dans la sortie. Ceci passe outre la variable de configuration `diff.orderFile` (voir linkgit:git-config[1]). Pour annuler `diff.orderFile`, utiliser `-O/dev/null`.

note: type: Plain text
en: The output order is determined by the order of glob patterns in <orderfile>.  All files with pathnames that match the first pattern are output first, all files with pathnames that match the second pattern (but not the first) are output next, and so on.  All files with pathnames that do not match any pattern are output last, as if there was an implicit match-all pattern at the end of the file.  If multiple pathnames have the same rank (they match the same pattern but no earlier patterns), their output order relative to each other is the normal order.
fr: L'ordre en sortie est déterminé par l'ordre des motifs glob dans <fichier-d-ordre>. Tous les fichiers dont le nom de chemin correspond au premier motif sont affichés en premier, tous les fichiers dont le nom de chemin correspond au second motif (mais pas au premier) sont affichés ensuite, et ainsi de suite. Tous les fichiers dont les noms de chemin qui ne correspondent à aucun motif sont affichés en dernier, comme s'il y avait un motif ramasse-tout à la fin du fichier. Si de multiples noms de chemin ont le même rang (ils correspondent avec le même motif mais pas de motifs antérieurs), leur ordre relatif d'affichage est l'ordre normal.

note: type: Plain text
en: <orderfile> is parsed as follows:
fr: <fichier-d-ordre> est analysé comme suit :

note: type: Plain text
en: Blank lines are ignored, so they can be used as separators for readability.
fr: Les lignes blanches sont ignorées, de sorte qu'elles peuvent être utilisées comme séparateurs pour la lisibilité.

note: type: Plain text
en: Lines starting with a hash ("`#`") are ignored, so they can be used for comments.  Add a backslash ("`\`") to the beginning of the pattern if it starts with a hash.
fr: Les lignes commençant par un dièse ("`#`") sont ignorées, elles peuvent donc être utilisées comme commentaires. Ajoutez une barre oblique inverse ("`\`") au début du motif s'il doit commencer par un dièse.

note: type: Plain text
en: Each other line contains a single pattern.
fr: Toutes les autres lignes contiennent un motif unique.

note: type: Plain text
en: Patterns have the same syntax and semantics as patterns used for fnmatch(3) without the FNM_PATHNAME flag, except a pathname also matches a pattern if removing any number of the final pathname components matches the pattern.  For example, the pattern "`foo*bar`" matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
fr: Les motifs ont la même syntaxe et sémantique que les motifs utilisés pour fnmatch(3) sans le drapeau FNM_PATHNAME, sauf qu'un nom de chemin correspond aussi à un motif si la suppression de n'importe quel nombre de composants finaux du nom de chemin correspond au motif. Par exemple, le motif "`foo*bar`" correspond à "`fooasdfbar`" et "`foo/bar/baz/asdf`" mais pas à "`foobarx`".

note: type: Labeled list
en: --skip-to=<file>
fr: --skip-to=<fichier>

note: type: Labeled list
en: --rotate-to=<file>
fr: --rotate-to=<fichier>

note: type: Plain text
en: Discard the files before the named <file> from the output (i.e. 'skip to'), or move them to the end of the output (i.e. 'rotate to').  These were invented primarily for use of the `git difftool` command, and may not be very useful otherwise.
fr: Supprimer les noms des fichiers avant <fichier> dans la sortie (c'est-à-dire "skip to"), ou les déplacer à la fin de la sortie (c'est-à-dire "rotate to").  Ces options servent principalement lors de la commande `git difftool`, et peuvent ne pas être très utiles ailleurs.

note: type: Plain text
en: Swap two inputs; that is, show differences from index or on-disk file to tree contents.
fr: Échanger deux entrées ; c'est-à-dire afficher les différences depuis l'index ou avec un fichier sur disque avec le contenu de l'arbre.

note: type: Labeled list
en: --relative[=<path>]
fr: --relative[=<chemin>]

note: type: Plain text
en: When run from a subdirectory of the project, it can be told to exclude changes outside the directory and show pathnames relative to it with this option.  When you are not in a subdirectory (e.g. in a bare repository), you can name which subdirectory to make the output relative to by giving a <path> as an argument.  `--no-relative` can be used to countermand both `diff.relative` config option and previous `--relative`.
fr: Lorsque lancé depuis un sous-répertoire du projet, il peut lui être indiqué d'exclure les modifications hors du répertoire et d'afficher les noms de chemins relativement à lui avec cette option. Quand vous n'êtes pas dans un sous-répertoire (par ex. dans un dépôt nu), vous pouvez nommer quel sous-répertoire par rapport auquel afficher la sortie en fournissant un argument <chemin>. L'option `--no-relative` peut être utilisée pour annuler l'option de configuration `diff.relative` et l'option `--relative` précédente.

note: type: Plain text
en: Treat all files as text.
fr: Traiter tous les fichiers comme texte.

note: type: Plain text
en: Ignore carriage-return at the end of line when doing a comparison.
fr: Ignorer les retours chariot en fin de ligne lors de la comparaison.

note: type: Plain text
en: Ignore whitespace when comparing lines.  This ignores differences even if one line has whitespace where the other line has none.
fr: Ignorer les blancs lors de la comparaison de lignes. Ceci ignore les différences même si une ligne contient des espaces alors que l'autre n'en a pas.

note: type: Plain text
en: Ignore changes whose lines are all blank.
fr: Ignorer les modifications dont les lignes sont blanches.

note: type: Plain text
en: Ignore changes whose all lines match <regex>.  This option may be specified more than once.
fr: Ignorer les modifications dont toutes les lignes correspondent à <regex>.  Cette option peut être spécifiée plusieurs fois.

note: type: Labeled list
en: --inter-hunk-context=<lines>
fr: --inter-hunk-context=<lignes>

note: type: Plain text
en: Show the context between diff hunks, up to the specified number of lines, thereby fusing hunks that are close to each other.  Defaults to `diff.interHunkContext` or 0 if the config option is unset.
fr: Afficher le contexte entre des sections de diff, jusqu'au nombre spécifié de lignes, fusionnant de ce fait les sections qui sont proches. Par défaut, `diff.interHunkContext` ou 0 si l'option de configuration n'est pas configurée.

note: type: Plain text
en: Show whole function as context lines for each change.  The function names are determined in the same way as `git diff` works out patch hunk headers (see 'Defining a custom hunk-header' in linkgit:gitattributes[5]).
fr: Afficher l’ensemble de la fonction comme lignes de contexte pour chaque modification.  Les noms de fonction sont déterminés de la même manière que 'git diff' génère sur les en-têtes de sections de rustines(voir 'Définir un en-tête personnalisé' dans linkgit:gitattributes[5]).

note: type: Plain text
en: Make the program exit with codes similar to diff(1).  That is, it exits with 1 if there were differences and 0 means no differences.
fr: Faire sortir le programme avec un code similaire à diff(1). Autrement dit, il sort avec 1 s'il y avait des différences et 0 signifie aucune différence.

note: type: Plain text
en: Disable all output of the program. Implies `--exit-code`.
fr: Désactiver toute sortie du programme. Implique `--exit-code`.

note: type: Plain text
en: Allow an external diff helper to be executed. If you set an external diff driver with linkgit:gitattributes[5], you need to use this option with linkgit:git-log[1] and friends.
fr: Permettre l'exécution d'un assistant externe de différence. Si vous définissez un pilote externe de différence avec linkgit:gitattributes[5], vous avez besoin d'utiliser cette option avec linkgit:git-log[1] et compagnie.

note: type: Plain text
en: Disallow external diff drivers.
fr: Désactiver les pilotes de diff externes.

note: type: Plain text
en: Allow (or disallow) external text conversion filters to be run when comparing binary files. See linkgit:gitattributes[5] for details. Because textconv filters are typically a one-way conversion, the resulting diff is suitable for human consumption, but cannot be applied. For this reason, textconv filters are enabled by default only for linkgit:git-diff[1] and linkgit:git-log[1], but not for linkgit:git-format-patch[1] or diff plumbing commands.
fr: Permettre (ou désactiver) le lancement des filtres externes de conversion en texte lors de la comparaison de fichiers binaires. Voir linkgit:gitattributes[5] pour plus de détails. Comme les filtres textconv sont typiquement des conversions à sens unique, la diff résultante est adaptée à la consommation humaine, mais ne peut pas être appliquée. Pour cette raison, les filtres textconv sont activés par défaut seulement pour linkgit:git-diff[1] et linkgit:git-log[1], mais pas pour linkgit:git-format-patch[1] ou les commandes de plomberie de diff.

note: type: Labeled list
en: --ignore-submodules[=<when>]
fr: --ignore-submodules[=<quand>]

note: type: Plain text
en: Ignore changes to submodules in the diff generation. <when> can be either "none", "untracked", "dirty" or "all", which is the default.  Using "none" will consider the submodule modified when it either contains untracked or modified files or its HEAD differs from the commit recorded in the superproject and can be used to override any settings of the 'ignore' option in linkgit:git-config[1] or linkgit:gitmodules[5]. When "untracked" is used submodules are not considered dirty when they only contain untracked content (but they are still scanned for modified content). Using "dirty" ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown (this was the behavior until 1.7.0). Using "all" hides all changes to submodules.
fr: Ignorer les modifications à des sous-modules lors de la génération du diff. <quand> peut valoir "none" (aucun), "untracked" (non-suivi), "dirty" (sale) ou "all" (tout) qui est la valeur par défaut. L'utilisation de "none" va considérer comme modifiés les sous-modules quand ils contiennent soit des fichiers non-suivis ou modifiés, ou si sa HEAD diffère du commit enregistré dans le super-projet, et peut être utilisé pour passer outre tout réglage de l'option 'ignore' dans linkgit:git-config[1] ou linkgit:gitmodules[5]. Quand "untracked" est utilisé, les sous-modules ne sont pas considérés sales quand ils ne contiennent que du contenu non suivi (mais ils sont quand même scannés pour trouver du contenu modifié). L'utilisation de "dirty" ignore toutes les modifications à l'arbre de travail des sous-modules ; seules les modifications aux commits stockés dans le super-projet sont affichées (c'était le comportement jusqu'à 1.7.0). La valeur "all" cache toutes les modifications des sous-modules.

note: type: Labeled list
en: --src-prefix=<prefix>
fr: --src-prefix=<préfixe>

note: type: Plain text
en: Show the given source prefix instead of "a/".
fr: Afficher le préfixe de source fourni au lieu de "a/".

note: type: Labeled list
en: --dst-prefix=<prefix>
fr: --dst-prefix=<préfixe>

note: type: Plain text
en: Show the given destination prefix instead of "b/".
fr: Afficher le préfixe de destination fourni au lieu de "b/".

note: type: Plain text
en: Do not show any source or destination prefix.
fr: N'afficher aucun préfixe ni de source, ni de destination.

note: type: Labeled list
en: --line-prefix=<prefix>
fr: --line-prefix=<préfixe>

note: type: Plain text
en: Prepend an additional prefix to every line of output.
fr: Préfixer avec une chaîne additionnelle chaque ligne de la sortie.

note: type: Plain text
en: By default entries added by "git add -N" appear as an existing empty file in "git diff" and a new file in "git diff --cached".  This option makes the entry appear as a new file in "git diff" and non-existent in "git diff --cached". This option could be reverted with `--ita-visible-in-index`. Both options are experimental and could be removed in future.
fr: Par défaut, une entrée ajoutée par "git add -N" apparaît comme un fichier vide existant dans "git diff" et un nouveau fichier dans "git diff --cached". Cette option fait apparaître l'entrée comme un fichier nouveau dans "git diff" et non existant dans "git diff --cached". Cette option peut être inversée avec `--ita-visible-in-index`. Les deux options sont expérimentales et peuvent être retirées dans le futur.

note: type: Plain text
en: For more detailed explanation on these common options, see also linkgit:gitdiffcore[7].
fr: Pour une explication plus détaillée sur ces options communes, voir aussi linkgit:gitdiffcore[7].

note: type: Plain text
en: Fetch all remotes.
fr: Récupérer tous les distants.

note: type: Plain text
en: Append ref names and object names of fetched refs to the existing contents of `.git/FETCH_HEAD`.  Without this option old data in `.git/FETCH_HEAD` will be overwritten.
fr: Ajouter les noms de références et les noms d'objets des références récupérées au contenu existant de `.git/FETCH_HEAD`.  Sans cette option, les anciennes données dans `.git/FETCH_HEAD` seront écrasées.

note: type: Plain text
en: Use an atomic transaction to update local refs. Either all refs are updated, or on error, no refs are updated.
fr: 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.

note: type: Labeled list
en: --depth=<depth>
fr: --depth=<profondeur>

note: type: Plain text
en: Limit fetching to the specified number of commits from the tip of each remote branch history. If fetching to a 'shallow' repository created by `git clone` with `--depth=<depth>` option (see linkgit:git-clone[1]), deepen or shorten the history to the specified number of commits. Tags for the deepened commits are not fetched.
fr: 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 `git clone` avec l'option `--depth=<profondeur>` (voir linkgit:git-clone[1]), 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.

note: type: Labeled list
en: --deepen=<depth>
fr: --deepen=<profondeur>

note: type: Plain text
en: Similar to --depth, except it specifies the number of commits from the current shallow boundary instead of from the tip of each remote branch history.
fr: 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.

note: type: Plain text
en: Deepen or shorten the history of a shallow repository to include all reachable commits after <date>.
fr: Approfondir ou raccourcir l'historique d'un dépôt superficiel pour inclure tous les commits accessibles après <date>.

note: type: Labeled list
en: --shallow-exclude=<revision>
fr: --shallow-exclude=<révision>

note: type: Plain text
en: Deepen or shorten the history of a shallow repository to exclude commits reachable from a specified remote branch or tag.  This option can be specified multiple times.
fr: 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.

note: type: Plain text
en: If the source repository is complete, convert a shallow repository to a complete one, removing all the limitations imposed by shallow repositories.
fr: 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.

note: type: Plain text
en: If the source repository is shallow, fetch as much as possible so that the current repository has the same history as the source repository.
fr: 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.

note: type: Plain text
en: By default when fetching from a shallow repository, `git fetch` refuses refs that require updating .git/shallow. This option updates .git/shallow and accept such refs.
fr: Par défaut, lors de la récupération d'un dépôt superficiel, `git fetch` 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.

note: type: Plain text
en: By default, Git will report, to the server, commits reachable from all local refs to find common commits in an attempt to reduce the size of the to-be-received packfile. If specified, Git will only report commits reachable from the given tips.  This is useful to speed up fetches when the user knows which local ref is likely to have commits in common with the upstream ref being fetched.
fr: 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.

note: type: Plain text
en: This option may be specified more than once; if so, Git will report commits reachable from any of the given commits.
fr: 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.

note: type: Plain text
en: The argument to this option may be a glob on ref names, a ref, or the (possibly abbreviated) SHA-1 of a commit. Specifying a glob is equivalent to specifying this option multiple times, one for each matching ref name.
fr: 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.

note: type: Plain text
en: See also the `fetch.negotiationAlgorithm` and `push.negotiate` configuration variables documented in linkgit:git-config[1], and the `--negotiate-only` option below.
fr: Voir aussi les variables de configuration `fetch.negotiationAlgorithm` et `push.negotiate` documentées dans linkgit:git-config[1], ainsi que l'option `--negotiate-only` ci-après.

note: type: Plain text
en: Do not fetch anything from the server, and instead print the ancestors of the provided `--negotiation-tip=*` arguments, which we have in common with the server.
fr: Ne rien récupérer du serveur, et à la place afficher les ancêtres des arguments fournis par `--negotiation-tip=*`, que nous avons en commun avec le serveur.

note: type: Plain text
en: Internally this is used to implement the `push.negotiate` option, see linkgit:git-config[1].
fr: En interne, ceci est utilisé pour implémenter l'option `push.negotiate`, voir linkgit:git-config[1].

note: type: Plain text
en: Show what would be done, without making any changes.
fr: Montrer ce qui serait fait, sans faire de changements.

note: type: Plain text
en: Write the list of remote refs fetched in the `FETCH_HEAD` file directly under `$GIT_DIR`.  This is the default.  Passing `--no-write-fetch-head` from the command line tells Git not to write the file.  Under `--dry-run` option, the file is never written.
fr: Ecrire la liste des refs distants récupérés dans le fichier `FETCH_HEAD` directement sous `$GIT_DIR`.  C'est la valeur par défaut.  Passer `--no-write-fetch-head` depuis la ligne de commande indique à Git de ne pas écrire le fichier.  Avec l'option `--dry-run`, le fichier n'est jamais écrit.

note: type: Plain text
en: When 'git fetch' is used with `<src>:<dst>` refspec it may refuse to update the local branch as discussed
fr: Lorsque 'git fetch' est utilisé avec la spécification de référence `<src>:<dst>`, il peut refuser de mettre à jour la branche locale comme cela a été discuté

note: type: Plain text
en: 	in the `<refspec>` part of the linkgit:git-fetch[1]
    	documentation.
fr: 	dans la partie `<spécificateur-de-référence>` de la documentation
    	linkgit:git-fetch[1].

note: type: Plain text
en: 	in the `<refspec>` part below.
fr: 	dans la partie `<spécificateur-de-référence>` ci-dessous.

note: type: Plain text
en: 	This option overrides that check.
fr: 	Cette option permet de passer outre à ce contrôle.

note: type: Plain text
en: Keep downloaded pack.
fr: Conserver le paquet téléchargé.

note: type: Plain text
en: Allow several <repository> and <group> arguments to be specified. No <refspec>s may be specified.
fr: Permettre de spécifier plusieurs arguments <dépôt> et <groupe>. Aucun <spécificateur-de-référence> ne peut être spécifié.

note: type: Plain text
en: Run `git maintenance run --auto` at the end to perform automatic repository maintenance if needed. (`--[no-]auto-gc` is a synonym.)  This is enabled by default.
fr: Exécuter `git maintenance --auto` à la fin pour effectuer la maintenance automatique du dépôt si nécessaire. (`--[no-]auto-gc` est un synonym.) Ceci est activé par défaut.

note: type: Plain text
en: Write a commit-graph after fetching. This overrides the config setting `fetch.writeCommitGraph`.
fr: Écrire un graphe de commit après avoir récupéré. Ceci remplace le paramètre de configuration `fetch.writeCommitGraph`.

note: type: Plain text
en: Modify the configured refspec to place all refs into the `refs/prefetch/` namespace. See the `prefetch` task in linkgit:git-maintenance[1].
fr: Modifier le spécificateur de référence configuré pour placer toutes les refs dans l'espace de noms `refs/prefetch/`. Voir la tâche `prefetch` dans linkgit:git-maintenance[1].

note: type: Plain text
en: Before fetching, remove any remote-tracking references that no longer exist on the remote.  Tags are not subject to pruning if they are fetched only because of the default tag auto-following or due to a --tags option.  However, if tags are fetched due to an explicit refspec (either on the command line or in the remote configuration, for example if the remote was cloned with the --mirror option), then they are also subject to pruning. Supplying `--prune-tags` is a shorthand for providing the tag refspec.
fr: 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 `--prune-tags` est une abréviation pour la fourniture du spécificateur de référence d'étiquette.

note: type: Plain text
en: See the PRUNING section below for more details.
fr: Voir la section ÉLAGAGE ci-dessous pour plus de détails.

note: type: Plain text
en: Before fetching, remove any local tags that no longer exist on the remote if `--prune` is enabled. This option should be used more carefully, unlike `--prune` it will remove any local references (local tags) that have been created. This option is a shorthand for providing the explicit tag refspec along with `--prune`, see the discussion about that in its documentation.
fr: Avant de récupérer, supprimer toutes les étiquettes locales qui n'existent plus sur le distant si `--prune` est activé. Cette option doit être utilisée avec plus de précaution, car contrairement à `--prune`, elle supprime toutes les références locales (étiquettes locales) qui ont été créées. Cette option est un raccourci pour la fourniture du spécificateur de référence d'étiquette explicite avec `--prune`, voir la discussion à ce sujet dans sa documentation.

note: type: Plain text
en: By default, tags that point at objects that are downloaded from the remote repository are fetched and stored locally.  This option disables this automatic tag following. The default behavior for a remote may be specified with the remote.<name>.tagOpt setting. See linkgit:git-config[1].
fr: 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 linkgit:git-config[1].

note: type: Labeled list
en: --refmap=<refspec>
fr: --refmap=<spécificateur-de-référence>

note: type: Plain text
en: When fetching refs listed on the command line, use the specified refspec (can be given more than once) to map the refs to remote-tracking branches, instead of the values of `remote.*.fetch` configuration variables for the remote repository.  Providing an empty `<refspec>` to the `--refmap` option causes Git to ignore the configured refspecs and rely entirely on the refspecs supplied as command-line arguments. See section on "Configured Remote-tracking Branches" for details.
fr: 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 `remote.*.fetch` pour le dépôt distant.  Fournir un `<spécificateur-de-référence>` vide à l'option `--refmap` 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.

note: type: Plain text
en: Fetch all tags from the remote (i.e., fetch remote tags `refs/tags/*` into local tags with the same name), in addition to whatever else would otherwise be fetched.  Using this option alone does not subject tags to pruning, even if --prune is used (though tags may be pruned anyway if they are also the destination of an explicit refspec; see `--prune`).
fr: Récupérer toutes les étiquettes à distance (c'est-à-dire, récupérer les étiquettes `refs/tags/*` 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 `--prune`).

note: type: Plain text
en: This option controls if and under what conditions new commits of populated submodules should be fetched too. It can be used as a boolean option to completely disable recursion when set to 'no' or to unconditionally recurse into all populated submodules when set to 'yes', which is the default when this option is used without any value. Use 'on-demand' to only recurse into a populated submodule when the superproject retrieves a commit that updates the submodule's reference to a commit that isn't already in the local submodule clone. By default, 'on-demand' is used, unless `fetch.recurseSubmodules` is set (see linkgit:git-config[1]).
fr: Cette option permet de contrôler si et dans quelles conditions les nouveaux engagements de sous-modules peuplés doivent également être récupérés. Elle peut être utilisée comme une option booléenne pour désactiver complètement la récursivité lorsqu'elle est définie sur 'no' ou pour visiter récursivement sans condition tous les sous-modules peuplés lorsqu'elle est définie sur 'yes', qui est la valeur par défaut lorsque cette option est utilisée sans aucune valeur. Utiliser 'on-demand' pour ne visiter récursivement un sous-module peuplé que lorsque le superprojet récupère un commit qui met à jour la référence du sous-module à un commit qui n'est pas déjà dans le clone local du sous-module. Par défaut, 'on-demand' est utilisé à moins que `fetch.recurseSubmodules` ne soit paramétré (voir linkgit:git-config[1]).

note: type: Plain text
en: Number of parallel children to be used for all forms of fetching.
fr: Nombre d'enfants parallèles à utiliser pour toutes les formes d'extraction.

note: type: Plain text
en: If the `--multiple` option was specified, the different remotes will be fetched in parallel. If multiple submodules are fetched, they will be fetched in parallel. To control them independently, use the config settings `fetch.parallel` and `submodule.fetchJobs` (see linkgit:git-config[1]).
fr: Si l'option `--multiple` 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 `fetch.parallel` et `submodule.fetchJobs` (voir linkgit:git-config[1]).

note: type: Plain text
en: Typically, parallel recursive and multi-remote fetches will be faster. By default fetches are performed sequentially, not in parallel.
fr: 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.

note: type: Plain text
en: Disable recursive fetching of submodules (this has the same effect as using the `--recurse-submodules=no` option).
fr: Désactiver la récupération récursive des sous-modules (cela a le même effet que d'utiliser l'option `--recurse-submodules=no`).

note: type: Plain text
en: If the remote is fetched successfully, add upstream (tracking) reference, used by argument-less linkgit:git-pull[1] and other commands. For more information, see `branch.<name>.merge` and `branch.<name>.remote` in linkgit:git-config[1].
fr: 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 linkgit:git-pull[1] et autres. Pour plus d'informations, voir `branch.<nom>.merge` et `branch.<nom>.remote` dans linkgit:git-config[1].

note: type: Labeled list
en: --submodule-prefix=<path>
fr: --submodule-prefix=<chemin>

note: type: Plain text
en: Prepend <path> to paths printed in informative messages such as "Fetching submodule foo".  This option is used internally when recursing over submodules.
fr: Préfixer <chemin> aux chemins affichés dans les messages informatifs tels que "Récupération du sous-module foo".  Cette option est utilisée en interne lors de la récursion sur les sous-modules.

note: type: Plain text
en: This option is used internally to temporarily provide a non-negative default value for the --recurse-submodules option.  All other methods of configuring fetch's submodule recursion (such as settings in linkgit:gitmodules[5] and linkgit:git-config[1]) override this option, as does specifying --[no-]recurse-submodules directly.
fr: Cette option est utilisée en interne pour fournir temporairement une valeur par défaut non négative pour l'option --recurse-submodules.  Toutes les autres méthodes de configuration de la récupération récursive des sous-module (comme les paramètres de linkgit:gitmodules[5] et linkgit:git-config[1]) remplacent cette option, tout comme le fait de spécifier directement --[no-]recurse-submodules.

note: type: Plain text
en: By default 'git fetch' refuses to update the head which corresponds to the current branch.  This flag disables the check.  This is purely for the internal use for 'git pull' to communicate with 'git fetch', and unless you are implementing your own Porcelain you are not supposed to use it.
fr: Par défaut, 'git fetch' refuse de mettre à jour la tête qui correspond à la branche en cours.  Ce drapeau désactive la vérification.  C'est purement pour l'usage interne de 'git pull' pour communiquer avec 'git fetch', et à moins que vous n'implémentiez votre propre Porcelaine, vous n'êtes pas censé l'utiliser.

note: type: Plain text
en: When given, and the repository to fetch from is handled by 'git fetch-pack', `--exec=<upload-pack>` is passed to the command to specify non-default path for the command run on the other end.
fr: Lorsqu'il est donné, et que le dépôt à récupérer est géré par 'git fetch-pack', `--exec=<upload-pack>` est passé à la commande pour spécifier le chemin par défaut pour la commande exécutée à l'autre bout.

note: type: Plain text
en: Pass --quiet to git-fetch-pack and silence any other internally used git commands. Progress is not reported to the standard error stream.
fr: Passer -- quiet pour git-fetch-pack et faire taire toute autre commande git utilisée en interne. La progression n'est pas signalée dans le flux d'erreurs standard.

note: type: Plain text
en: Be verbose.
fr: Mode bavard.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless -q is specified. This flag forces progress status even if the standard error stream is not directed to a terminal.
fr: 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.

note: type: Plain text
en: Transmit the given string to the server when communicating using protocol version 2.  The given string must not contain a NUL or LF character.  The server's handling of server options, including unknown ones, is server-specific.  When multiple `--server-option=<option>` are given, they are all sent to the other side in the order listed on the command line.
fr: 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 `---server-option=<option>' sont donnés, ils sont tous envoyés à l'autre côté dans l'ordre indiqué sur la ligne de commande.

note: type: Plain text
en: By default, git checks if a branch is force-updated during fetch. This can be disabled through fetch.showForcedUpdates, but the --show-forced-updates option guarantees this check occurs.  See linkgit:git-config[1].
fr: 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 linkgit:git-config[1].

note: type: Plain text
en: By default, git checks if a branch is force-updated during fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates to false to skip this check for performance reasons. If used during 'git-pull' the --ff-only option will still check for forced updates before attempting a fast-forward update. See linkgit:git-config[1].
fr: 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 'git-pull', l'option --ff-only vérifiera toujours les mises à jour forcées avant de tenter une mise à jour rapide. Voir linkgit:git-config[1].

note: type: Plain text
en: Use IPv4 addresses only, ignoring IPv6 addresses.
fr: Utiliser uniquement les adresses IPv4, en ignorant les adresses IPv6.

note: type: Plain text
en: Use IPv6 addresses only, ignoring IPv4 addresses.
fr: Utiliser uniquement les adresses IPv6, en ignorant les adresses IPv4.

note: type: Title -
en: NAME
fr: NOM

note: type: Plain text
en: git-add - Add file contents to the index
fr: git-add - Ajoute le contenu de fichiers à l'index

note: type: Plain text
en: 'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
    	  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
    	  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
    	  [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	  [--] [<pathspec>...]
fr: 'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
    	  [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
    	  [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
    	  [--chmod=(+|-)x] [--pathspec-from-file=<fichier> [--pathspec-file-nul]]
    	  [--] [<spécificateur de chemin>...]

note: type: Plain text
en: This command updates the index using the current content found in the working tree, to prepare the content staged for the next commit.  It typically adds the current content of existing paths as a whole, but with some options it can also be used to add content with only part of the changes made to the working tree files applied, or remove paths that do not exist in the working tree anymore.
fr: Cette commande met à jour l'index en utilisant le contenu actuel trouvé dans l'arbre de travail, pour préparer le contenu de la prochaine validation. Typiquement, elle ajoute intégralement le contenu actuel des chemins existants, mais peut aussi n'ajouter que certaines parties des modifications au moyen d'options ou soustraire certains chemins qui n'existent plus dans l'arbre de travail.

note: type: Plain text
en: The "index" holds a snapshot of the content of the working tree, and it is this snapshot that is taken as the contents of the next commit.  Thus after making any changes to the working tree, and before running the commit command, you must use the `add` command to add any new or modified files to the index.
fr: L'« index » contient un instantané du contenu de la copie de travail et c'est cet instantané qui sera utilisé comme contenu du prochain commit.  Ainsi, après avoir réalisé des modifications dans la copie de travail, et avant de lancer la commande commit, vous devez utiliser la commande `add` pour ajouter tout fichier nouveau ou modifié à l'index.

note: type: Plain text
en: This command can be performed multiple times before a commit.  It only adds the content of the specified file(s) at the time the add command is run; if you want subsequent changes included in the next commit, then you must run `git add` again to add the new content to the index.
fr: Cette commande peut être effectuée plusieurs fois avant la validation.  Elle n'ajoute que le contenu des fichiers spécifiés au moment où la commande `add` est lancée ; si vous souhaitez inclure des modifications postérieures à un `add` dans la prochaine validation, vous devez alors lancer `git add` à nouveau pour ajouter le nouveau contenu à l'index.

note: type: Plain text
en: The `git status` command can be used to obtain a summary of which files have changes that are staged for the next commit.
fr: La commande `git status` permet d'obtenir un résumé des fichiers modifiés qui sont préparés pour la prochaine validation.

note: type: Plain text
en: The `git add` command will not add ignored files by default.  If any ignored files were explicitly specified on the command line, `git add` will fail with a list of ignored files.  Ignored files reached by directory recursion or filename globbing performed by Git (quote your globs before the shell) will be silently ignored.  The 'git add' command can be used to add ignored files with the `-f` (force) option.
fr: Par défaut, la commande `git add` n'ajoute pas les fichiers ignorés.  Si des fichiers ignorés sont spécifiés explicitement en ligne de commande, `git add` échouera avec la liste des fichiers ignorés. Les fichiers ignorés atteints via la récursion de répertoires ou les patrons de fichiers gérés par Git (les patrons doivent alors être échappés du shell par des quotes)  seront ignorés silencieusement. La commande `git add` peut tout de même ajouter des fichiers ignorés avec l'option `-f` (force).

note: type: Plain text
en: Please see linkgit:git-commit[1] for alternative ways to add content to a commit.
fr: Référez-vous linkgit:git-commit[1] pour des méthodes alternatives d'ajout de contenu à une validation.

note: type: Labeled list
en: <pathspec>...
fr: <spécificateur de chemin>...

note: type: Plain text
en: Files to add content from.  Fileglobs (e.g. `*.c`) can be given to add all matching files.  Also a leading directory name (e.g. `dir` to add `dir/file1` and `dir/file2`) can be given to update the index to match the current state of the directory as a whole (e.g.  specifying `dir` will record not just a file `dir/file1` modified in the working tree, a file `dir/file2` added to the working tree, but also a file `dir/file3` removed from the working tree). Note that older versions of Git used to ignore removed files; use `--no-all` option if you want to add modified or new files but ignore removed ones.
fr: Fichiers dont le contenu doit être ajouté. Les patrons (ex : `*.c`) permettent de restreindre à tous les fichiers correspondants. Un nom de répertoire (ex : `rep` pour ajouter `rep/fichier1` et `rep/fichier2`) permet d'ajouter récursivement tous les fichiers d'un répertoire (par exemple spécifier `rep` n'enregistrera pas seulement le fichier modifié dans l'arbre de travail `rep/fichier1` ou un fichier ajouté `rep/fichier2`, mais aussi un fichier `rep/fichier3` supprimé de l'arbre de travail). Veuillez noter que des version anciennes de Git ignoraient les fichiers supprimés ; utilisez l'option `--no-all` si vous souhaitez ajouter les fichiers nouveaux ou modifiés mais ignorer les fichiers supprimés.

note: type: Plain text
en: For more details about the <pathspec> syntax, see the 'pathspec' entry in linkgit:gitglossary[7].
fr: Pour de plus amples détails sur la syntaxe <spécificateur de chemin>, référez-vous à la section 'pathspec' dans linkgit:gitglossary[7].

note: type: Plain text
en: Don't actually add the file(s), just show if they exist and/or will be ignored.
fr: Ne pas ajouter réellement les fichiers. Montrer juste ceux qui existent ou seront ignorés.

note: type: Plain text
en: Allow adding otherwise ignored files.
fr: Permettre l'ajout de fichiers qui sont normalement ignorés.

note: type: Plain text
en: Add modified contents in the working tree interactively to the index. Optional path arguments may be supplied to limit operation to a subset of the working tree. See ``Interactive mode'' for details.
fr: Ajouter le contenu modifié dans l'arbre de travail à l'index. Les arguments optionnels de chemin permettent de limiter les opérations à un sous-ensemble de l'arbre de travail. Référez-vous à « Mode interactif » pour plus de détails.

note: type: Plain text
en: Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to review the difference before adding modified contents to the index.
fr: Choisir de manière interactive les sections de patch entre l'index et la copie de travail et les ajouter à l'index. Cela permet à l'utilisateur de passer en revue les différences avant d'ajouter le contenu modifié à l'index.

note: type: Plain text
en: This effectively runs `add --interactive`, but bypasses the initial command menu and directly jumps to the `patch` subcommand.  See ``Interactive mode'' for details.
fr: Cela lance effectivement `add --interactive` mais court-circuite le menu initial et saute directement à la sous-commande `patch`. Référez-vous à « Mode interactif » pour plus de détails.

note: type: Plain text
en: Open the diff vs. the index in an editor and let the user edit it.  After the editor was closed, adjust the hunk headers and apply the patch to the index.
fr: Ouvrir les différences avec l'index dans un éditeur et laisser l'utilisateur les éditer. Après la fermeture de l'éditeur, ajuster les entêtes de sections et appliquer le patch à l'index.

note: type: Plain text
en: The intent of this option is to pick and choose lines of the patch to apply, or even to modify the contents of lines to be staged. This can be quicker and more flexible than using the interactive hunk selector.  However, it is easy to confuse oneself and create a patch that does not apply to the index. See EDITING PATCHES below.
fr: L'objectif de cette option est de permettre de choisir et retenir les lignes de la rustine à appliquer, ou même de modifier le contenu des lignes à indexer. Cela peut être plus rapide et plus flexible que l'utilisation du sélecteur interactif. Cependant, il est plus facile de se tromper et de créer un patch qui ne s'applique pas. Référez-vous à ÉDITER LES RUSTINES ci-dessous.

note: type: Plain text
en: Update the index just where it already has an entry matching <pathspec>.  This removes as well as modifies index entries to match the working tree, but adds no new files.
fr: Mettre à jour l'index sur les seuls fichiers déjà présents et correspondant à <chemin>. Cela retire ou modifie les entrées d'index pour correspondre à la copie de travail, mais n'ajoute pas de fichier.

note: type: Plain text
en: If no <pathspec> is given when `-u` option is used, all tracked files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories).
fr: Si aucun <chemin> n'est spécifié quand l'option `-u` est utilisée, tous les fichiers suivis dans la totalité de l'arbre de travail sont mis à jour (les versions anciennes de Git limitaient la mise à jour au répertoire courant et ses sous-répertoires).

note: type: Plain text
en: Update the index not only where the working tree has a file matching <pathspec> but also where the index already has an entry. This adds, modifies, and removes index entries to match the working tree.
fr: Mettre à jour l'index non seulement pour tous les fichiers de l'arbre de travail correspondant à <chemin> mais aussi pour toutes les entrées existant déjà dans l'index. Ceci ajoute, modifie et retire des entrées d'index pour correspondre à la copie de travail.

note: type: Plain text
en: If no <pathspec> is given when `-A` option is used, all files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories).
fr: Si aucun <chemin> n'est spécifié quand l'option `-A` est utilisée, tous les fichiers de l'arbre de travail sont mis à jour (les versions anciennes de Git utilisaient le répertoire courant et ses sous-répertoires).

note: type: Plain text
en: Update the index by adding new files that are unknown to the index and files modified in the working tree, but ignore files that have been removed from the working tree.  This option is a no-op when no <pathspec> is used.
fr: Mettre à jour l'index en y ajoutant les nouveaux fichiers qui sont inconnus et les fichiers modifiés dans la copie de travail, mais ignore les fichiers qui ont été effacés de la copie de travail. Cette option ne fait rien quand aucun <chemin> n'est utilisé.

note: type: Plain text
en: This option is primarily to help users who are used to older versions of Git, whose "git add <pathspec>..." was a synonym for "git add --no-all <pathspec>...", i.e. ignored removed files.
fr: Cette option sert principalement à aider les utilisateurs de versions anciennes de Git pour lesquels « git add <chemin>... » était synonyme de « git add --no-all <chemin>... », c'est-à-dire qui ignorait les fichiers effacés.

note: type: Plain text
en: Record only the fact that the path will be added later. An entry for the path is placed in the index with no content. This is useful for, among other things, showing the unstaged content of such files with `git diff` and committing them with `git commit -a`.
fr: N'enregistrer que le fait que le chemin sera ajouté plus tard. Une entrée pour le chemin est placée en index sans contenu. C'est particulièrement utile pour, entre autres choses, montrer le contenu non indexé de ces fichiers avec `git diff` et les valider avec `git commit -a`.

note: type: Plain text
en: Don't add the file(s), but only refresh their stat()  information in the index.
fr: Ne pas ajouter le ou les fichiers mais rafraîchir seulement leur information de stat() dans l'index.

note: type: Plain text
en: If some files could not be added because of errors indexing them, do not abort the operation, but continue adding the others. The command shall still exit with non-zero status.  The configuration variable `add.ignoreErrors` can be set to true to make this the default behaviour.
fr: Si des fichiers n'ont pas pu être ajoutés à cause d'erreurs lors de leur indexation, ne pas annuler l'opération mais continuer l'ajout des autres fichiers. La commande se terminera tout de même avec un code d'erreur non nul. Le paramètre de configuration `add.ignoreErrors` peut être positionné à true pour que ce comportement soit celui par défaut.

note: type: Plain text
en: This option can only be used together with --dry-run. By using this option the user can check if any of the given files would be ignored, no matter if they are already present in the work tree or not.
fr: Cette option ne peut être utilisée que couplée avec --dry-run. L'utilisation de cette option permet à l'utilisateur de vérifier si un des fichiers indiqués serait ignoré, qu'il soit présent ou non dans la copie de travail.

note: type: Plain text
en: By default, `git add` will warn when adding an embedded repository to the index without using `git submodule add` to create an entry in `.gitmodules`. This option will suppress the warning (e.g., if you are manually performing operations on submodules).
fr: Par défaut, `git add` avertit l'utilisateur lors de l'ajout d'un dépôt embarqué dans l'index sans utilisation de `git submodule add` pour créer une entrée dans `.gitmodules`. Cette option supprime cet avertissement (par exemple, si vous effectuez manuellement des opérations sur des sous-modules).

note: type: Plain text
en: Apply the "clean" process freshly to all tracked files to forcibly add them again to the index.  This is useful after changing `core.autocrlf` configuration or the `text` attribute in order to correct files added with wrong CRLF/LF line endings.  This option implies `-u`.
fr: Forcer l'application du filtre "clean" à tous les fichiers suivis pour les ajouter en force à l'index. C'est utile après avoir changé la variable de configuration `core.autocrlf` ou l'attribut `text` pour corriger des fichiers ajoutés avec des fins de lignes erronées CRLF/LF. Cette option implique `-u`.

note: type: Plain text
en: Override the executable bit of the added files.  The executable bit is only changed in the index, the files on disk are left unchanged.
fr: Forcer le bit exécutable des fichiers ajoutés. Le bit exécutable n'est modifié que dans l'index, les fichiers de la copie de travail ne sont pas modifiés.

note: type: Labeled list
en: --pathspec-from-file=<file>
fr: --pathspec-from-file=<fichier>

note: type: Plain text
en: Pathspec is passed in `<file>` instead of commandline args. If `<file>` is exactly `-` then standard input is used. Pathspec elements are separated by LF or CR/LF. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`.
fr: Le spécificateur de chemin est passé dans `<fichier>` au lieu des arguments de la ligne de commande. Si `<fichier>` vaut `-` alors l'entrée standard est utilisée. Les éléments du spécificateur de chemin sont séparés par LF ou CR/LF. Les éléments du spécificateur de chemin peuvent être cités comme expliqué pour la variable de configuration `core.quotePath` (voir linkgit:git-config[1]). Voir aussi l'option `--pathspec-file-nul` et l'option globale `--literal-pathspecs`.

note: type: Plain text
en: Only meaningful with `--pathspec-from-file`. Pathspec elements are separated with NUL character and all other characters are taken literally (including newlines and quotes).
fr: Uniquement significatif avec `--pathspec-from-file`. Les éléments du spécificateur de chemin sont séparés par le caractère NUL et tous les autres caractères sont utilisés littéralement (y compris les retours à la ligne et les guillemets).

note: type: Plain text
en: This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken for command-line options).
fr: Cette option permet de séparer les options de la ligne de commande de la liste des fichiers (utile si certains noms de fichiers peuvent être confondus avec des options).

note: type: Title -
en: EXAMPLES
fr: EXEMPLES

note: type: Plain text
en: Adds content from all `*.txt` files under `Documentation` directory and its subdirectories:
fr: Ajouter le contenu de tous les fichiers `*.txt` sous le répertoire `Documentation` et ses sous-répertoires :

note: type: Plain text
en: Note that the asterisk `*` is quoted from the shell in this example; this lets the command include the files from subdirectories of `Documentation/` directory.
fr: Remarquez que l'astérisque `*` est échappé du shell dans cet exemple ; cela permet d'inclure les fichiers dans les sous-répertoires du répertoire `Documentation/`.

note: type: Plain text
en: Considers adding content from all git-*.sh scripts:
fr: Ajouter le contenu de tous les scripts git-*.sh :

note: type: Plain text
en: Because this example lets the shell expand the asterisk (i.e. you are listing the files explicitly), it does not consider `subdir/git-foo.sh`.
fr: Comme cet exemple laisse le shell réaliser l'expansion de l'astérisque (c'est-à-dire que vous listez explicitement les fichiers du répertoire), il ne traite pas `subdir/git-foo.sh`.

note: type: Title -
en: INTERACTIVE MODE
fr: MODE INTERACTIF

note: type: Plain text
en: When the command enters the interactive mode, it shows the output of the 'status' subcommand, and then goes into its interactive command loop.
fr: Quand la commande entre en mode interactif, elle affiche le résultat de la sous-commande 'status', puis entre en boucle de commande interactive.

note: type: Plain text
en: The command loop shows the list of subcommands available, and gives a prompt "What now> ".  In general, when the prompt ends with a single '>', you can pick only one of the choices given and type return, like this:
fr: La boucle de commande affiche la liste des sous-commandes disponibles et affiche le prompt « What now> » (Que faire maintenant). En général, lorsque le prompt se termine par un '>' unique, vous ne pouvez choisir qu'une seule des propositions et appuyer Entrée, comme cela :

note: type: Plain text
en: You also could say `s` or `sta` or `status` above as long as the choice is unique.
fr: Vous pouvez indiquer `s` ou `sta` ou `status` dans le cas ci-dessus, à condition que le choix soit univoque.

note: type: Plain text
en: The main command loop has 6 subcommands (plus help and quit).
fr: La boucle de commande principale propose 6 sous-commandes (plus help (aide) et quit (quitter)).

note: type: Plain text
en: This shows the change between HEAD and index (i.e. what will be committed if you say `git commit`), and between index and working tree files (i.e. what you could stage further before `git commit` using `git add`) for each path.  A sample output looks like this:
fr: Ceci affiche les modifications entre HEAD et l'index (c-à-d ce qui seraient validées si vous lanciez `git commit`), et entre l'index et les fichiers de la copie de travail (c-à-d ce que vous pourriez indexer au moyen de `git add` avant de lancer `git commit`) pour chaque chemin. Un exemple d'affichage ressemble à ceci :

note: type: Plain text
en: It shows that foo.png has differences from HEAD (but that is binary so line count cannot be shown) and there is no difference between indexed copy and the working tree version (if the working tree version were also different, 'binary' would have been shown in place of 'nothing').  The other file, git-add{litdd}interactive.perl, has 403 lines added and 35 lines deleted if you commit what is in the index, but working tree file has further modifications (one addition and one deletion).
fr: Cela montre que foo.png contient des différences avec HEAD (mais c'est un format binaire donc le nombre de lignes ne peut pas être affiché) et qu'il n'y a pas de différence entre la copie indexée et la copie de travail (si la copie de travail aussi avait été différente, 'binary' aurait été affiché à la place de 'nothing'). L'autre fichier, git-add{litdd}interactive.perl, a 430 lignes ajoutées et 35 effacées si vous validez ce qui est dans l'index, mais la copie de travail contient d'autres modifications (un ajout et un retrait).

note: type: Plain text
en: This shows the status information and issues an "Update>>" prompt.  When the prompt ends with double '>>', you can make more than one selection, concatenated with whitespace or comma.  Also you can say ranges.  E.g. "2-5 7,9" to choose 2,3,4,5,7,9 from the list.  If the second number in a range is omitted, all remaining patches are taken.  E.g. "7-" to choose 7,8,9 from the list.  You can say '*' to choose everything.
fr: Ceci affiche l'information d'état et une invite "Update>>". Quand l'invite se termine par un double '>', vous pouvez sélectionner plus d'une option, concaténées avec des espaces ou des virgules. Vous pouvez aussi indiquer des intervalles.  Par exemple "2-5 7,9" pour choisir 2, 3, 4, 5, 7 et 9 dans la liste. Si le second nombre d'un intervalle est absent, tous les patchs restants sont sélectionnés. Par ex. "7-" choisit 7, 8 et 9 dans la liste. '*' permet de tout sélectionner.

note: type: Plain text
en: What you chose are then highlighted with '*', like this:
fr: Tout ce qui a été sélectionné est indiqué par un '*', comme ceci :

note: type: Plain text
en: To remove selection, prefix the input with `-` like this:
fr: Pour retirer une sélection, préfixez-la avec `-` comme ceci :

note: type: Plain text
en: After making the selection, answer with an empty line to stage the contents of working tree files for selected paths in the index.
fr: Après sélection, répondez avec une ligne vide pour indexer le contenu des fichiers sélectionnés de l'arbre de travail.

note: type: Plain text
en: This has a very similar UI to 'update', and the staged information for selected paths are reverted to that of the HEAD version.  Reverting new paths makes them untracked.
fr: Ceci présente une interface d'utilisation similaire à 'update', et les informations indexées des chemins sélectionnés sont ramenées à la version HEAD. Restaurer des chemins nouveaux les rend non-suivis.

note: type: Plain text
en: This has a very similar UI to 'update' and 'revert', and lets you add untracked paths to the index.
fr: Ceci présente une interface d'utilisation très similaire à 'update' et 'revert' et permet d'ajouter des chemins non-suivis à l'index.

note: type: Plain text
en: This lets you choose one path out of a 'status' like selection.  After choosing the path, it presents the diff between the index and the working tree file and asks you if you want to stage the change of each hunk.  You can select one of the following options and type return:
fr: Ceci permet de choisir un chemin depuis une sélection similaire à 'status'. Après le choix du chemin, la différence entre l'index et le fichier dans l'arbre de travail est présentée et il vous est demandé si vous souhaitez indexer chaque section de modification. Vous pouvez sélectionner une des options suivantes et taper Entrée :

note: type: Plain text
en: After deciding the fate for all hunks, if there is any hunk that was chosen, the index is updated with the selected hunks.
fr: Après avoir décidé du devenir de chaque section, l'index est mis à jour avec les sections sélectionnées.

note: type: Plain text
en: You can omit having to type return here, by setting the configuration variable `interactive.singleKey` to `true`.
fr: Vous pouvez vous éviter de taper Entrée ici, en mettant la variable de configuration `interactive.singlekey` à `true`.

note: type: Plain text
en: This lets you review what will be committed (i.e. between HEAD and index).
fr: Ceci permet de faire une revue de ce qui sera validé (c'est une différence entre HEAD et index).

note: type: Title -
en: EDITING PATCHES
fr: ÉDITER LES CORRECTIFS

note: type: Plain text
en: Invoking `git add -e` or selecting `e` from the interactive hunk selector will open a patch in your editor; after the editor exits, the result is applied to the index. You are free to make arbitrary changes to the patch, but note that some changes may have confusing results, or even result in a patch that cannot be applied.  If you want to abort the operation entirely (i.e., stage nothing new in the index), simply delete all lines of the patch. The list below describes some common things you may see in a patch, and which editing operations make sense on them.
fr: Invoquer `git add -e` ou sélectionner `e` depuis le sélecteur interactif de sections ouvre un correctif dans votre éditeur ; après avoir quitté l'éditeur, le résultat est appliqué à l'index. Vous êtes libre de modifier en tout point le correctif, mais notez cependant que certaines modifications provoquent des résultats inattendus ou même créent des correctifs inapplicables. Si vous souhaitez abandonner complètement l'opération (c'est-à-dire ne rien ajouter à l'index), effacez toutes les lignes du correctif. La liste ci-dessous décrit des formes habituelles dans les correctifs et quelles opérations d'édition peuvent être réalisées.

note: type: Labeled list
en: added content
fr: contenu ajouté

note: type: Plain text
en: Added content is represented by lines beginning with "{plus}". You can prevent staging any addition lines by deleting them.
fr: Le contenu ajouté est représenté par des lignes commençant par un "{plus}". Vous pouvez empêcher l'indexation de lignes ajoutées en les supprimant.

note: type: Labeled list
en: removed content
fr: contenu supprimé

note: type: Plain text
en: Removed content is represented by lines beginning with "-". You can prevent staging their removal by converting the "-" to a " " (space).
fr: Le contenu supprimé est représenté par des lignes commençant par "-". Vous pouvez empêcher l'indexation de ces suppressions en convertissant le "-" en " " (espace).

note: type: Labeled list
en: modified content
fr: contenu modifié

note: type: Plain text
en: Modified content is represented by "-" lines (removing the old content)  followed by "{plus}" lines (adding the replacement content). You can prevent staging the modification by converting "-" lines to " ", and removing "{plus}" lines. Beware that modifying only half of the pair is likely to introduce confusing changes to the index.
fr: Le contenu modifié est représenté par des lignes "-" (supprimant l'ancien contenu) suivies de lignes "{plus}" (ajoutant le nouveau contenu). Vous pouvez empêcher l'indexation de ces modifications en convertissant les lignes "-" en lignes " " et en supprimant les lignes "{plus}". Méfiez-vous : ne modifier que la moitié de la paire de lignes a de fortes chances de créer des modifications inattendues dans l'index.

note: type: Plain text
en: There are also more complex operations that can be performed. But beware that because the patch is applied only to the index and not the working tree, the working tree will appear to "undo" the change in the index.  For example, introducing a new line into the index that is in neither the HEAD nor the working tree will stage the new line for commit, but the line will appear to be reverted in the working tree.
fr: Il existe aussi des opérations plus complexes qui peuvent être réalisées. Méfiez-vous : quand le correctif n'est appliqué que dans l'index et pas dans l'arbre de travail, l'arbre de travail semblera « défaire » les modifications de l'index. Par exemple, l'introduction dans l'index d'une nouvelle ligne qui n’apparaît ni dans HEAD ni dans l'arbre de travail indexera la nouvelle ligne pour validation, mais cette ligne semblera être supprimée dans l'arbre de travail.

note: type: Plain text
en: Avoid using these constructs, or do so with extreme caution.
fr: Évitez d'utiliser ces constructions, ou faites-le avec une extrême précaution.

note: type: Labeled list
en: removing untouched content
fr: suppression de contenu intact

note: type: Plain text
en: Content which does not differ between the index and working tree may be shown on context lines, beginning with a " " (space).  You can stage context lines for removal by converting the space to a "-". The resulting working tree file will appear to re-add the content.
fr: Le contenu qui ne diffère pas entre l'index et l'arbre de travail peut être visible dans des lignes de contexte commençant par un " " (espace). Vous pouvez indexer l'élimination de lignes de contexte en convertissant l'espace en "-". Le fichier dans l'arbre de travail semblera ré-ajouter le contenu.

note: type: Labeled list
en: modifying existing content
fr: modification de contenu existant

note: type: Plain text
en: One can also modify context lines by staging them for removal (by converting " " to "-") and adding a "{plus}" line with the new content.  Similarly, one can modify "{plus}" lines for existing additions or modifications. In all cases, the new modification will appear reverted in the working tree.
fr: On peut aussi modifier le contenu de lignes de contexte en indexant leur suppression (en convertissant " " en "-") et en ajoutant dessous une ligne "{plus}" avec le nouveau contenu. On peut modifier des lignes "{plus}" dans des ajouts ou des modifications de contenu. Dans tous les cas, la nouvelle modification indexée semblera être annulée dans l'arbre de travail.

note: type: Labeled list
en: new content
fr: contenu nouveau

note: type: Plain text
en: You may also add new content that does not exist in the patch; simply add new lines, each starting with "{plus}". The addition will appear reverted in the working tree.
fr: Vous pouvez aussi ajouter du contenu nouveau qui n'existe pas dans le correctif ; ajoutez simplement des nouvelles lignes, chacune commençant par "{plus}". L'ajout semblera annulé dans l'arbre de travail.

note: type: Plain text
en: There are also several operations which should be avoided entirely, as they will make the patch impossible to apply:
fr: Il existe aussi quelques opérations à éviter complètement car celles-ci rendent le correctif inapplicable :

note: type: Plain text
en: adding context (" ") or removal ("-") lines
fr: ajout de contexte (" ") ou lignes de suppression ("-")

note: type: Plain text
en: deleting context or removal lines
fr: suppression de contexte ou de lignes supprimées

note: type: Plain text
en: modifying the contents of context or removal lines
fr: modification de contenu de contexte ou de lignes supprimées

note: type: Title -
en: SEE ALSO
fr: VOIR AUSSI

note: type: Plain text
en: Part of the linkgit:git[1] suite
fr: Fait partie de la suite linkgit:git[1]

note: type: Plain text
en: git-am - Apply a series of patches from a mailbox
fr: git-am - Appliquer une série de rustines depuis des fichiers mailbox

note: type: Plain text
en: 'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
    	 [--[no-]3way] [--interactive] [--committer-date-is-author-date]
    	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
    	 [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>]
    	 [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
    	 [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
    	 [--quoted-cr=<action>]
    	 [(<mbox> | <Maildir>)...]
    'git am' (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)])
fr: 'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]
    	 [--[no-]3way] [--interactive] [--committer-date-is-author-date]
    	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
    	 [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<répertoire>]
    	 [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
    	 [--[no-]scissors] [-S[<idclé>]] [--patch-format=<format>]
    	 [--quoted-cr=<action>]
    	 [(<mbox> | <Maildir>)...]
    'git am' (--continue | --skip | --abort | --quit | --show-current-patch[=(diff|raw)])

note: type: Plain text
en: Splits mail messages in a mailbox into commit log message, authorship information and patches, and applies them to the current branch.
fr: Découpe des messages courriel dans un boîte aux lettre en message, auteur, information et rustine de commit, et les applique sur la branche en cours.

note: type: Plain text
en: The list of mailbox files to read patches from. If you do not supply this argument, the command reads from the standard input.  If you supply directories, they will be treated as Maildirs.
fr: La liste de fichiers de boîte aux lettres desquelles on lit les rustines. Si vous ne fournissez pas cet argument, la commande lit depuis l'entrée standard. Si vous fournissez des répertoires, ils sont lus comme des Maildirs.

note: type: Plain text
en: Add a `Signed-off-by` trailer to the commit message, using the committer identity of yourself.  See the signoff option in linkgit:git-commit[1] for more information.
fr: Ajouter une ligne terminale `Signed-off-by` au message de commit, en utilisant votre identité pour validateur. Référez-vous à l'option de contre-signature dans linkgit:git-commit[1] pour plus d'information.

note: type: Plain text
en: Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
fr: Passer l'option `-k` à 'git mailinfo' (voir linkgit:git-mailinfo[1]).

note: type: Plain text
en: Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
fr: Passer l'option `-b` à 'git mailinfo' (voir linkgit:git-mailinfo[1]).

note: type: Plain text
en: With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1])  with the same option, to prevent it from stripping CR at the end of lines. `am.keepcr` configuration variable can be used to specify the default behaviour.  `--no-keep-cr` is useful to override `am.keepcr`.
fr: Avec `--keep-cr`, appeler 'git mailsplit' (voir linkgit:git-mailsplit[1]) avec la même option, pour l'empêcher de supprimer les CR en fin de ligne. La variable de configuration `am.keepcr` peut être utilisée pour spécifier le comportement par défaut. `--no-keep-cr` permet de surcharger `am.keepcr`.

note: type: Plain text
en: Remove everything in body before a scissors line (see linkgit:git-mailinfo[1]). Can be activated by default using the `mailinfo.scissors` configuration variable.
fr: Retirer tout du corps du message avant la ligne de ciseaux (voir linkgit:git-mailinfo[1]). Peut être activé par défaut en utilisant la variable de configuration `mailinfo.scissors`.

note: type: Plain text
en: Ignore scissors lines (see linkgit:git-mailinfo[1]).
fr: Ignorer les lignes ciseaux (voir linkgit:git-mailinfo[1]).

note: type: Plain text
en: This flag will be passed down to 'git mailinfo' (see linkgit:git-mailinfo[1]).
fr: Ce drapeau sera transmis à 'git mailinfo' (voir linkgit:git-mailinfo[1]).

note: type: Plain text
en: Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]), so that the Message-ID header is added to the commit message.  The `am.messageid` configuration variable can be used to specify the default behaviour.
fr: Passer le drapeau `-m` à 'git mailinfo' (voir linkgit:git-mailinfo[1]), de sorte que l'en-tête Message-ID soit ajouté au message de validation.  La variable de configuration `am.messageid` peut être utilisée pour spécifier le comportement par défaut.

note: type: Plain text
en: Do not add the Message-ID header to the commit message.  `no-message-id` is useful to override `am.messageid`.
fr: Ne pas ajouter l'entête Message-ID au message de validation. `no-message-id` est utile pour surcharger `am.messageid`.

note: type: Plain text
en: Be quiet. Only print error messages.
fr: N'afficher que les messages d'erreur.

note: type: Plain text
en: Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).  The proposed commit log message taken from the e-mail is re-coded into UTF-8 encoding (configuration variable `i18n.commitEncoding` can be used to specify project's preferred encoding if it is not UTF-8).
fr: Passer l'option `-u` à 'git mailinfo' (voir linkgit:git-mailinfo[1]). Le message de validation proposé extrait depuis le courriel est re-codé en UTF-8 (la variable de configuration `i18n.commitEncoding` peut spécifier un codage préféré s'il est différent d'UTF-8).

note: type: Plain text
en: This was optional in prior versions of git, but now it is the
    default.   You can use `--no-utf8` to override this.
fr: C'était optionnel dans les versions précédentes de git, mais c'est
    à présent par défaut. Vous pouvez utiliser `--no-utf8` pour surcharger.

note: type: Plain text
en: Pass `-n` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
fr: Passer l'option `-n` à 'git mailinfo' (voir linkgit:git-mailinfo[1]).

note: type: Plain text
en: When the patch does not apply cleanly, fall back on 3-way merge if the patch records the identity of blobs it is supposed to apply to and we have those blobs available locally. `--no-3way` can be used to override am.threeWay configuration variable. For more information, see am.threeWay in linkgit:git-config[1].
fr: Quand la rustine ne s'applique pas correctement, revenir à une fusion à 3 points si la rustine contient l'identité des blobs auxquels elle est supposée s'appliquer et que ces blobs sont disponibles localement. `--no-3way` permet de surcharger la variable de configuration am.threeWay. Pour plus d'information, référez-vous à am.threeWay dans linkgit:git-config[1].

note: type: Plain text
en: Allow the rerere mechanism to update the index with the result of auto-conflict resolution if possible.
fr: Permettre au mécanisme rerere de mettre à jour l'index avec le résultat de la résolution automatique des conflits si possible.

note: type: Labeled list
en: --directory=<dir>
fr: --directory=<rép.>

note: type: Labeled list
en: --exclude=<path>
fr: --exclude=<chemin>

note: type: Labeled list
en: --include=<path>
fr: --include=<chemin>

note: type: Plain text
en: These flags are passed to the 'git apply' (see linkgit:git-apply[1])  program that applies the patch.
fr: Ces drapeaux sont transmis au programme 'git apply' (voir linkgit:git-apply[1]) qui applique le patch.

note: type: Plain text
en: By default the command will try to detect the patch format automatically. This option allows the user to bypass the automatic detection and specify the patch format that the patch(es) should be interpreted as. Valid formats are mbox, mboxrd, stgit, stgit-series and hg.
fr: Par défaut, la commande tentera de détecter automatiquement le format de la rustine. Cette option permet à l'utilisateur de contourner la détection automatique et de spécifier le format de rustine comme lequel la(les) rustine(s) doit/doivent être interprétée(s). Les formats valides sont mbox, mboxrd, stgit, stgit-series et hg.

note: type: Plain text
en: Run interactively.
fr: Lancer de manière interactive.

note: type: Plain text
en: By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the committer date by using the same value as the author date.
fr: Par défaut, la commande enregistre la date du message électronique comme date de l'auteur du commit, et utilise l'heure de création du commit comme date du validateur. Cela permet à l'utilisateur de mentir sur la date du validateur en utilisant la même valeur que la date de l'auteur.

note: type: Plain text
en: By default the command records the date from the e-mail message as the commit author date, and uses the time of commit creation as the committer date. This allows the user to lie about the author date by using the same value as the committer date.
fr: Par défaut, la commande enregistre la date du message électronique comme date de l'auteur du commit, et utilise l'heure de création du commit comme date du committeur. Cela permet à l'utilisateur de mentir sur la date de l'auteur en utilisant la même valeur que la date du validateur.

note: type: Plain text
en: Skip the current patch.  This is only meaningful when restarting an aborted patch.
fr: Sauter la rustine actuelle.  Cela n'a de sens que si l'on redémarre une rustine avortée.

note: type: Labeled list
en: -S[<keyid>]
fr: -S[<idclé>]

note: type: Labeled list
en: --gpg-sign[=<keyid>]
fr: --gpg-sign[=<idclé>]

note: type: Plain text
en: GPG-sign commits. The `keyid` argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand both `commit.gpgSign` configuration variable, and earlier `--gpg-sign`.
fr: Signer les commits avec GPG. L'argument `idclé` est optionnel avec par défaut l'identité du validateur ; si spécifiée, elle doit être collée à l'option sans aucun espace. `--no-gpg-sign` est utile pour annuler l'effet de la variable de configuration `commit.gpgSign` ainsi que tout `--gpg-sign` précédent.

note: type: Plain text
en: After a patch failure (e.g. attempting to apply conflicting patch), the user has applied it by hand and the index file stores the result of the application.  Make a commit using the authorship and commit log extracted from the e-mail message and the current index file, and continue.
fr: Après l'échec d'une rustine (par exemple, en cas de tentative d'application d'une rustine conflictuelle), l'utilisateur l'a appliquée à la main et le fichier d'index stocke le résultat de l'application.  Faire un commit en utilisant le journal des auteurs et du commit extrait du message électronique et du fichier d'index actuel, et continuer.

note: type: Plain text
en: When a patch failure occurs, <msg> will be printed to the screen before exiting.  This overrides the standard message informing you to use `--continue` or `--skip` to handle the failure.  This is solely for internal use between 'git rebase' and 'git am'.
fr: En cas de défaillance d'un patch, <msg> sera imprimé à l'écran avant de sortir.  Ceci remplace le message standard vous informant d'utiliser `--continue` ou `--skip` pour gérer l'échec.  Ceci est uniquement pour un usage interne entre 'git rebase' et 'git am'.

note: type: Plain text
en: Restore the original branch and abort the patching operation.
fr: Restaurer la branche originale et abandonner les opérations de rustinage.

note: type: Plain text
en: Abort the patching operation but keep HEAD and the index untouched.
fr: Abandonner l'opération de rustinage mais garder HEAD et l'index intacts.

note: type: Plain text
en: Show the message at which `git am` has stopped due to conflicts.  If `raw` is specified, show the raw contents of the e-mail message; if `diff`, show the diff portion only.  Defaults to `raw`.
fr: Montrer le message auquel `git am` s'est arrêté en raison de conflits.  Si `raw` est spécifié, afficher le contenu brut du message électronique ; si `diff`, afficher uniquement la partie diff.  La valeur par défaut est `raw`.

note: type: Plain text
en: The commit author name is taken from the "From: " line of the message, and commit author date is taken from the "Date: " line of the message.  The "Subject: " line is used as the title of the commit, after stripping common prefix "[PATCH <anything>]".  The "Subject: " line is supposed to concisely describe what the commit is about in one line of text.
fr: Le nom de l'auteur du commit est tiré du "From: "et la date de l'auteur du commit est tirée de la ligne "Date:" du message.  Le "Subject:" est utilisé comme titre du commit, après avoir supprimé le préfixe commun "[PATCH <quelque chose>]".  La ligne "Subject:"est censée décrire de manière concise l'objet du commit en une seule ligne de texte.

note: type: Plain text
en: "From: ", "Date: ", and "Subject: " lines starting the body override the respective commit author name and title values taken from the headers.
fr: Les lignes «From:», «Date:» et «Subject:» commençant le corps remplacent le nom de l'auteur de la validation et les valeurs de titre respectives tirées des en-têtes.

note: type: Plain text
en: The commit message is formed by the title taken from the "Subject: ", a blank line and the body of the message up to where the patch begins.  Excess whitespace at the end of each line is automatically stripped.
fr: Le message de validation est formé par le titre tiré du "Subject:", une ligne vide et le corps du message jusqu'au début du patch. Les espaces en excès à la fin de chaque ligne sont automatiquement supprimés.

note: type: Plain text
en: The patch is expected to be inline, directly following the message.  Any line that is of the form:
fr: La rustine devrait être incluse,  à la suite immédiate du message.  Toute ligne qui est de la forme :

note: type: Plain text
en: three-dashes and end-of-line, or
fr: trois tirets et fin de ligne, ou

note: type: Plain text
en: a line that begins with "diff -", or
fr: une ligne qui commence par "diff -", ou

note: type: Plain text
en: a line that begins with "Index: "
fr: une ligne qui commence par "Index : "

note: type: Plain text
en: is taken as the beginning of a patch, and the commit log message is terminated before the first occurrence of such a line.
fr: est pris comme le début d'une rustine, et le message de journal de validation est terminé avant la première occurrence d'une telle ligne.

note: type: Plain text
en: When initially invoking `git am`, you give it the names of the mailboxes to process.  Upon seeing the first patch that does not apply, it aborts in the middle.  You can recover from this in one of two ways:
fr: Lorsque vous invoquez initialement `git am`, vous lui donnez les noms des boîtes aux lettres à traiter.  Il s'interrompt dès  le premier patch qui ne s'applique pas.  Vous pouvez revenir à un état stable de deux façons :

note: type: Plain text
en: skip the current patch by re-running the command with the `--skip` option.
fr: sauter la rustine en cours en relançant la commande avec l'option `--skip`.

note: type: Plain text
en: hand resolve the conflict in the working directory, and update the index file to bring it into a state that the patch should have produced.  Then run the command with the `--continue` option.
fr: résoudre manuellement le conflit dans le répertoire de travail, et mettre à jour le fichier d'index pour le mettre dans un état que la rustine aurait dû produire.  Ensuite, lancer la commande avec l'option `--continue`.

note: type: Plain text
en: The command refuses to process new mailboxes until the current operation is finished, so if you decide to start over from scratch, run `git am --abort` before running the command with mailbox names.
fr: La commande refuse de traiter de nouvelles boîtes aux lettres tant que l'opération en cours n'est pas terminée, donc si vous décidez de repartir de zéro, lancez `git am --abort` avant d'exécuter la commande avec les noms des boîtes aux lettres.

note: type: Plain text
en: Before any patches are applied, ORIG_HEAD is set to the tip of the current branch.  This is useful if you have problems with multiple commits, like running 'git am' on the wrong branch or an error in the commits that is more easily fixed by changing the mailbox (e.g.  errors in the "From:" lines).
fr: Avant l'application de tout correctif, ORIG_HEAD est placé au sommet de la branche en cours.  C'est utile si vous avez des problèmes avec plusieurs commits, par exemple si vous lancez 'git am' sur la mauvaise branche ou si une erreur dans les commits est plus facilement corrigée en changeant de boîte aux lettres (par exemple des erreurs dans les lignes "From :").

note: type: Title -
en: HOOKS
fr: CROCHETS

note: type: Plain text
en: This command can run `applypatch-msg`, `pre-applypatch`, and `post-applypatch` hooks.  See linkgit:githooks[5] for more information.
fr: Cette commande peut lancer les crochets `applypatch-msg`, `pre-applypatch` et `post-applypatch`.  Voir linkgit:githooks[5] pour de plus amples informations.

note: type: Plain text
en: git-annotate - Annotate file lines with commit information
fr: git-annotate - Annote les lignes d'un fichier avec les informations de commit

note: type: Plain text
en: 'git annotate' [<options>] <file> [<revision>]
fr: 'git annotate' [<options>] <fichier> [<révision>]

note: type: Plain text
en: Annotates each line in the given file with information from the commit which introduced the line. Optionally annotates from a given revision.
fr: Annote chaque ligne dans le fichier donné avec les informations du commit qui a introduit la ligne. Annote optionnellement à partir d'une révision donnée.

note: type: Plain text
en: The only difference between this command and linkgit:git-blame[1] is that they use slightly different output formats, and this command exists only for backward compatibility to support existing scripts, and provide a more familiar command name for people coming from other SCM systems.
fr: La seule différence entre cette commande et linkgit:git-blame[1] est qu'elles utilisent des formats de sortie légèrement différents, et cette commande n'existe que pour la rétrocompatibilité afin de prendre en charge les scripts existants, et de fournir un nom de commande plus familier aux personnes venant d'autres systèmes SCM.

note: type: Plain text
en: git-apply - Apply a patch to files and/or to the index
fr: git-apply - Applique une rustine à des fichiers et/ou à l'index

note: type: Plain text
en: 'git apply' [--stat] [--numstat] [--summary] [--check] [--index | --intent-to-add] [--3way]
    	  [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse]
    	  [--allow-binary-replacement | --binary] [--reject] [-z]
    	  [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
    	  [--ignore-space-change | --ignore-whitespace]
    	  [--whitespace=(nowarn|warn|fix|error|error-all)]
    	  [--exclude=<path>] [--include=<path>] [--directory=<root>]
    	  [--verbose] [--unsafe-paths] [<patch>...]
fr: 'git apply' [--stat] [--numstat] [--summary] [--check] [--index | --intent-to-add] [--3way]
    	  [--apply] [--no-add] [--build-fake-ancestor=<fichier>] [-R | --reverse]
    	  [--allow-binary-replacement | --binary] [--reject] [-z]
    	  [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
    	  [--ignore-space-change | --ignore-whitespace]
    	  [--whitespace=(nowarn|warn|fix|error|error-all)]
    	  [--exclude=<chemin>] [--include=<chemin>] [--directory=<racine>]
    	  [--verbose] [--unsafe-paths] [<rustine>...]

note: type: Plain text
en: Reads the supplied diff output (i.e. "a patch") and applies it to files.  When running from a subdirectory in a repository, patched paths outside the directory are ignored.  With the `--index` option the patch is also applied to the index, and with the `--cached` option the patch is only applied to the index.  Without these options, the command applies the patch only to files, and does not require them to be in a Git repository.
fr: Lit la sortie diff fournie (c'est-à-dire "une rustine") et l'applique aux fichiers.  Lors de l'exécution à partir d'un sous-répertoire dans un dépôt, les chemins patchés en dehors du répertoire sont ignorés.  Avec l'option `--index`, la rustine est également appliquée à l'index, et avec l'option `--cached`, la rustine est seulement appliquée à l'index.  Sans ces options, la commande applique la rustine uniquement aux fichiers, et n'exige pas qu'ils soient dans un dépôt Git.

note: type: Plain text
en: This command applies the patch but does not create a commit.  Use linkgit:git-am[1] to create commits from patches generated by linkgit:git-format-patch[1] and/or received by email.
fr: Cette commande applique la rustine mais ne crée pas de commit.  Utilisez linkgit:git-am[1] pour créer des commits à partir des rustines générées par linkgit:git-format-patch[1] et/ou reçus par courrier électronique.

note: type: Labeled list
en: <patch>...
fr: <rustine>...

note: type: Plain text
en: The files to read the patch from.  '-' can be used to read from the standard input.
fr: Prendre le message de validation depuis le fichier indiqué. Utilisez '-' pour lire le message depuis l'entrée standard.

note: type: Plain text
en: Instead of applying the patch, output diffstat for the input.  Turns off "apply".
fr: Au lieu d'appliquer la rustine, afficher le diffstat de l'entrée.  Désactiver "appliquer".

note: type: Plain text
en: Similar to `--stat`, but shows the number of added and deleted lines in decimal notation and the pathname without abbreviation, to make it more machine friendly.  For binary files, outputs two `-` instead of saying `0 0`.  Turns off "apply".
fr: Similaire à `--stat`, mais afficher le nombre de lignes ajoutées ou supprimées en notation décimale et le nom de chemin sans abréviation, pour le rendre plus facile à traiter automatiquement. Pour les fichiers binaires, affiche deux `-` au lieu de `0 0`. Désactive "apply".

note: type: Plain text
en: Instead of applying the patch, output a condensed summary of information obtained from git diff extended headers, such as creations, renames and mode changes.  Turns off "apply".
fr: Au lieu d'appliquer la rustine, produire un résumé condensé des informations obtenues à partir des en-têtes étendus de git diff, tels que les créations, les renommages et les changements de mode.  Désactive "apply".

note: type: Plain text
en: Instead of applying the patch, see if the patch is applicable to the current working tree and/or the index file and detects errors.  Turns off "apply".
fr: Au lieu d'appliquer la rustine, voir si la rustine est applicable à l'arbre de travail actuel et/ou au fichier d'index et détecte les erreurs.  Désactive "apply".

note: type: Plain text
en: Apply the patch to both the index and the working tree (or merely check that it would apply cleanly to both if `--check` is in effect). Note that `--index` expects index entries and working tree copies for relevant paths to be identical (their contents and metadata such as file mode must match), and will raise an error if they are not, even if the patch would apply cleanly to both the index and the working tree in isolation.
fr: Appliquer la rustine à la fois à l'index et à l'arbre de travail (ou vérifier simplement qu'il s'appliquerait proprement aux deux si `--check` est en vigueur). Notez que `--index` s'attend à ce que les entrées de l'index et les copies de l'arbre de travail pour les chemins pertinents soient identiques (leur contenu et leurs métadonnées telles que le mode de fichier doivent correspondre), et qu'il générera une erreur si ce n'est pas le cas, même si la rustine s'applique proprement à l'index et à l'arbre de travail de manière isolée.

note: type: Plain text
en: Apply the patch to just the index, without touching the working tree. If `--check` is in effect, merely check that it would apply cleanly to the index entry.
fr: Appliquer la rustine uniquement sur l'index, sans toucher l'arbre de travail. Si la fonction `--check` est activée, vérifier simplement qu'elle s'applique correctement à l'entrée de l'index.

note: type: Plain text
en: When applying the patch only to the working tree, mark new files to be added to the index later (see `--intent-to-add` option in linkgit:git-add[1]). This option is ignored unless running in a Git repository and `--index` is not specified.  Note that `--index` could be implied by other options such as `--cached` or `--3way`.
fr: Lorsque de l'application de la rustine uniquement à l'arbre de travail, marquer les nouveaux fichiers à ajouter à l'index plus tard (voir l'option `--intent-to-add` dans linkgit:git-add[1]). Cette option est ignorée sauf si elle est exécutée dans un dépôt Git et que `--index` n'est pas spécifié.  Notez que `--index` peut être implicite par d'autres options telles que `--cached` ou `--3way`.

note: type: Plain text
en: Attempt 3-way merge if the patch records the identity of blobs it is supposed to apply to and we have those blobs available locally, possibly leaving the conflict markers in the files in the working tree for the user to resolve.  This option implies the `--index` option unless the `--cached` option is used, and is incompatible with the `--reject` option.  When used with the `--cached` option, any conflicts are left at higher stages in the cache.
fr: Tenter une fusion à 3 voies si la rustine enregistre l'identité des blobs auxquels elle est censée s'appliquer et que nous avons ces blobs disponibles localement, laissant éventuellement les marqueurs de conflit dans les fichiers de l'arbre de travail pour que l'utilisateur les résolve.  Cette option implique l'option `--index` sauf si l'option `--cached` est utilisée, et est incompatible avec l'option `--reject`.  Lorsqu'elle est utilisée avec l'option `--cached`, tous les conflits sont laissés à des étapes supérieures dans le cache.

note: type: Labeled list
en: --build-fake-ancestor=<file>
fr: --build-fake-ancestor=<fichier>

note: type: Plain text
en: Newer 'git diff' output has embedded 'index information' for each blob to help identify the original version that the patch applies to.  When this flag is given, and if the original versions of the blobs are available locally, builds a temporary index containing those blobs.
fr: La nouvelle sortie 'git diff' contient des 'informations d'index' pour chaque blob afin d'identifier la version originale à laquelle la rustine s'applique.  Lorsque ce drapeau est donné, et si les versions originales des blobs sont disponibles localement, construire un index temporaire contenant ces blobs.

note: type: Plain text
en: When a pure mode change is encountered (which has no index information), the information is read from the current index instead.
fr: Lorsqu'un changement de mode pur est rencontré (qui n'a pas d'information d'index), l'information est lue à partir de l'index actuel à la place.

note: type: Plain text
en: Apply the patch in reverse.
fr: Appliquer la rustine à rebours.

note: type: Plain text
en: For atomicity, 'git apply' by default fails the whole patch and does not touch the working tree when some of the hunks do not apply.  This option makes it apply the parts of the patch that are applicable, and leave the rejected hunks in corresponding *.rej files.
fr: Pour l'atomicité, 'git apply' par défaut ne fonctionne pas sur l'ensemble de la rustine et ne touche pas l'arbre de travail lorsque certaines des sections ne s'appliquent pas.  Cette option permet d'appliquer les parties de la rustine qui sont applicables et de laisser les sections rejetées dans les fichiers *.rej correspondants.

note: type: Plain text
en: When `--numstat` has been given, do not munge pathnames, but use a NUL-terminated machine-readable format.
fr: Lorsque le `--numstat` a été donné, ne pas changer les noms de chemin, mais utiliser un format lisible par machine et terminé par NUL.

note: type: Plain text
en: Remove <n> leading path components (separated by slashes) from traditional diff paths. E.g., with `-p2`, a patch against `a/dir/file` will be applied directly to `file`. The default is 1.
fr: Supprimer les composants <n> du chemin d'accès principal (séparés par des barres obliques) des chemins de diff traditionnels. Par exemple, avec `-p2`, une rustine contre `a/dir/fichier` sera appliquée directement à `fichier`. La valeur par défaut est 1.

note: type: Plain text
en: Ensure at least <n> lines of surrounding context match before and after each change.  When fewer lines of surrounding context exist they all must match.  By default no context is ever ignored.
fr: S'assurer qu'au moins <n> lignes du contexte environnant correspondent avant et après chaque modification.  Lorsqu'il y a moins de lignes de contexte environnant, elles doivent toutes correspondre.  Par défaut, aucun contexte n'est jamais ignoré.

note: type: Plain text
en: By default, 'git apply' expects that the patch being applied is a unified diff with at least one line of context.  This provides good safety measures, but breaks down when applying a diff generated with `--unified=0`. To bypass these checks use `--unidiff-zero`.
fr: Par défaut, 'git apply' s'attend à ce que la rustine appliquée soit un diff unifié avec au moins une ligne de contexte.  Ceci fournit de bonnes mesures de sécurité, mais s'effondre lorsque l'on applique un diff généré avec `--unified=0`. Pour contourner ces vérifications, utilisez `--unidiff-zero`.

note: type: Plain text
en: Note, for the reasons stated above usage of context-free patches is discouraged.
fr: Notez que, pour les raisons mentionnées ci-dessus, l'utilisation de rustines sans contexte est découragée.

note: type: Plain text
en: If you use any of the options marked "Turns off 'apply'" above, 'git apply' reads and outputs the requested information without actually applying the patch.  Give this flag after those flags to also apply the patch.
fr: Si vous utilisez l'une des options marquées "Désactiver 'apply'" ci-dessus, 'git apply' lit et produit les informations demandées sans appliquer la rustine.  Donnez ce drapeau après ces drapeaux pour appliquer également la rustine.

note: type: Plain text
en: When applying a patch, ignore additions made by the patch.  This can be used to extract the common part between two files by first running 'diff' on them and applying the result with this option, which would apply the deletion part but not the addition part.
fr: Lors de l'application d'une rustine, ignorer les ajouts faits par la rustine.  Cette option peut être utilisée pour extraire la partie commune entre deux fichiers en exécutant d'abord 'diff' sur ceux-ci et en appliquant le résultat avec cette option, ce qui appliquerait la partie de suppression mais pas la partie d'ajout.

note: type: Plain text
en: Historically we did not allow binary patch applied without an explicit permission from the user, and this flag was the way to do so.  Currently we always allow binary patch application, so this is a no-op.
fr: Historiquement, nous n'autorisions pas l'application de rustines binaires sans une autorisation explicite de l'utilisateur, et ce drapeau était le moyen de le faire.  Actuellement, nous autorisons toujours l'application de rustines binaires, donc c'est un non-op.

note: type: Labeled list
en: --exclude=<path-pattern>
fr: --exclude=<motif-de-chemin>

note: type: Plain text
en: Don't apply changes to files matching the given path pattern. This can be useful when importing patchsets, where you want to exclude certain files or directories.
fr: Ne pas appliquer les modifications aux fichiers correspondant au modèle de chemin donné. Cela peut être utile lors de l'importation d'ensembles de rustines, lorsque vous souhaitez exclure certains fichiers ou répertoires.

note: type: Labeled list
en: --include=<path-pattern>
fr: --include = <modèle-de-chemin>

note: type: Plain text
en: Apply changes to files matching the given path pattern. This can be useful when importing patchsets, where you want to include certain files or directories.
fr: Appliquer les modifications aux fichiers correspondant au modèle de chemin donné. Cela peut être utile lors de l'importation d'ensembles de rustines, lorsque vous souhaitez inclure certains fichiers ou répertoires.

note: type: Plain text
en: When `--exclude` and `--include` patterns are used, they are examined in the order they appear on the command line, and the first match determines if a patch to each path is used.  A patch to a path that does not match any include/exclude pattern is used by default if there is no include pattern on the command line, and ignored if there is any include pattern.
fr: Lorsque des motifs `--exclude` et `--include` sont utilisés, ils sont examinés dans l'ordre où ils apparaissent sur la ligne de commande, et la première correspondance détermine si une rustine est utilisée pour chaque chemin.  Une rustine pour un chemin qui ne correspond à aucun motif d'inclusion/exclusion est utilisée par défaut s'il n'y a pas de motif d'inclusion sur la ligne de commande, et ignorée s'il y a un motif d'inclusion.

note: type: Plain text
en: When applying a patch, ignore changes in whitespace in context lines if necessary.  Context lines will preserve their whitespace, and they will not undergo whitespace fixing regardless of the value of the `--whitespace` option. New lines will still be fixed, though.
fr: Lors de l’application d’une rustine, ignorer les modifications d’espaces blancs dans les lignes de contexte si nécessaire.  Les lignes contextatives préserveront leurs espaces blancs, et elles ne subiront pas de correction d’espaces blancs quelle que soit la valeur de l’option `--whitespace`. Les nouvelles lignes seront toutefois encore corrigées.

note: type: Plain text
en: When applying a patch, detect a new or modified line that has whitespace errors.  What are considered whitespace errors is controlled by `core.whitespace` configuration.  By default, trailing whitespaces (including lines that solely consist of whitespaces) and a space character that is immediately followed by a tab character inside the initial indent of the line are considered whitespace errors.
fr: Lors de l'application d'une rustine, détecter une ligne nouvelle ou modifiée qui comporte des erreurs d'espacement.  Ce qui est considéré comme des erreurs d'espacement est contrôlé par la configuration `core.whitespace`.  Par défaut, les espaces de fin de ligne (y compris les lignes qui ne sont composées que d'espaces) et un caractère espace qui est immédiatement suivi d'un caractère de tabulation à l'intérieur de l'indentation initiale de la ligne sont considérés comme des erreurs d'espacement.

note: type: Plain text
en: By default, the command outputs warning messages but applies the patch.  When `git-apply` is used for statistics and not applying a patch, it defaults to `nowarn`.
fr: Par défaut, la commande émet des messages d'avertissement mais applique la rustine.  Lorsque `git-apply` est utilisé pour des statistiques et non pour appliquer une rustine, la valeur par défaut est `nowarn`.

note: type: Plain text
en: You can use different `<action>` values to control this behavior:
fr: Vous pouvez utiliser différentes valeurs de `<action>` pour contrôler ce comportement :

note: type: Plain text
en: `nowarn` turns off the trailing whitespace warning.
fr: `nowarn` désactive l'alerte d'espace blanc.

note: type: Plain text
en: `warn` outputs warnings for a few such errors, but applies the patch as-is (default).
fr: `warn` émet des avertissements pour quelques erreurs de ce type, mais applique la rustine tel quel (par défaut).

note: type: Plain text
en: `fix` outputs warnings for a few such errors, and applies the patch after fixing them (`strip` is a synonym --- the tool used to consider only trailing whitespace characters as errors, and the fix involved 'stripping' them, but modern Gits do more).
fr: `fix` émet des avertissements pour quelques erreurs de ce type, et applique la rustine après les avoir corrigées (`strip` est un synonyme --- l'outil utilisé pour ne considérer que les caractères d'espacement de fin de ligne comme des erreurs, et le correctif impliquait de les "dépouiller" (`stripping`), mais les Gits modernes font plus).

note: type: Plain text
en: `error` outputs warnings for a few such errors, and refuses to apply the patch.
fr: `error` génère des avertissements pour quelques-unes de ces erreurs et refuse d'appliquer la rustine.

note: type: Plain text
en: `error-all` is similar to `error` but shows all errors.
fr: Le terme `error-all` est similaire à `error` mais montre toutes les erreurs.

note: type: Plain text
en: Under certain circumstances, some versions of 'diff' do not correctly detect a missing new-line at the end of the file. As a result, patches created by such 'diff' programs do not record incomplete lines correctly. This option adds support for applying such patches by working around this bug.
fr: Dans certaines circonstances, certaines versions de 'diff' ne détectent pas correctement une nouvelle ligne manquante à la fin du fichier. Par conséquent, les rustines créées par ces programmes de 'diff' n'enregistrent pas correctement les lignes incomplètes. Cette option permet d'appliquer ces rustines en contournant ce bogue.

note: type: Plain text
en: Report progress to stderr. By default, only a message about the current patch being applied will be printed. This option will cause additional information to be reported.
fr: Afficher l'état d'avancement sur stderr. Par défaut, seul un message concernant la rustine en cours d'application sera imprimé. Cette option entraînera l'affichage d'informations supplémentaires.

note: type: Plain text
en: Do not trust the line counts in the hunk headers, but infer them by inspecting the patch (e.g. after editing the patch without adjusting the hunk headers appropriately).
fr: Ne pas se fier au nombre de lignes dans les en-têtes de sections, mais le déduire en inspectant la rustine (par exemple, après avoir modifié la rustine sans avoir ajusté les en-têtes de section de manière appropriée).

note: type: Labeled list
en: --directory=<root>
fr: --directory=<racine>

note: type: Plain text
en: Prepend <root> to all filenames.  If a "-p" argument was also passed, it is applied before prepending the new root.
fr: Préfixer <racine> à tous les noms de fichiers.  Si un argument "-p" a également été passé, il est appliqué avant de préfixer la nouvelle racine.

note: type: Plain text
en: For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui.sh` can be applied to the file in the working tree `modules/git-gui/git-gui.sh` by running `git apply --directory=modules/git-gui`.
fr: Par exemple, une rustine qui parle de mettre à jour `a/git-gui.sh` en `b/git-gui.sh` peut être appliquée au fichier dans l'arbre de travail `modules/git-gui/git-gui.sh` en lançant `git apply --directory=modules/git-gui`.

note: type: Plain text
en: By default, a patch that affects outside the working area (either a Git controlled working tree, or the current working directory when "git apply" is used as a replacement of GNU patch) is rejected as a mistake (or a mischief).
fr: Par défaut, une rustine qui affecte l'extérieur de la zone de travail (soit une arborescence de travail contrôlée par Git, soit le répertoire de travail actuel lorsque "git apply" est utilisé en remplacement de patch de GNU) est rejeté comme une erreur (ou un méfait).

note: type: Plain text
en: When `git apply` is used as a "better GNU patch", the user can pass the `--unsafe-paths` option to override this safety check.  This option has no effect when `--index` or `--cached` is in use.
fr: Lorsque `git apply` est utilisé comme « meilleur patch GNU », l'utilisateur peut passer l'option `--unsafe-paths` pour passer outre cette vérification de sécurité.  Cette option n'a aucun effet lorsque `--index` ou `--cached` est utilisé.

note: type: Plain text
en: Set to 'change' if you want changes in whitespace to be ignored by default.  Set to one of: no, none, never, false if you want changes in whitespace to be significant.
fr: Sélectionnez 'change' si vous souhaitez que les modifications dans les espaces soient ignorées par défaut.  Choisissez l'une des options suivantes : no, none, never, false si vous souhaitez que les modifications apportées aux espaces soient significatives.

note: type: Plain text
en: When no `--whitespace` flag is given from the command line, this configuration item is used as the default.
fr: Lorsqu'aucun drapeau `--whitespace` n'est donné en ligne de commande, cet élément de configuration est utilisé par défaut.

note: type: Title -
en: SUBMODULES
fr: SOUS-MODULES

note: type: Plain text
en: If the patch contains any changes to submodules then 'git apply' treats these changes as follows.
fr: Si la rustine contient des modifications de sous-modules, alors 'git apply' traite ces modifications comme suit.

note: type: Plain text
en: If `--index` is specified (explicitly or implicitly), then the submodule commits must match the index exactly for the patch to apply.  If any of the submodules are checked-out, then these check-outs are completely ignored, i.e., they are not required to be up to date or clean and they are not updated.
fr: Si `--index` est spécifié (explicitement ou implicitement), alors les commits du sous-module doivent correspondre exactement à l'index pour que la rustine s'applique.  Si l'un des sous-modules est extrait, alors ces vérifications sont complètement ignorées, c'est-à-dire qu'il n'est pas nécessaire qu'il soit à jour ou propre et qu'il n'est pas mis à jour.

note: type: Plain text
en: If `--index` is not specified, then the submodule commits in the patch are ignored and only the absence or presence of the corresponding subdirectory is checked and (if possible) updated.
fr: Si `--index` n'est pas spécifié, alors les commits de sous-module dans la rustine sont ignorées et seule l'absence ou la présence du sous-répertoire correspondant est vérifiée et (si possible) mise à jour.

note: type: Plain text
en: git-archimport - Import a GNU Arch repository into Git
fr: git-archimport - Importer un dépôt GNU Arch dans Git

note: type: Plain text
en: 'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
                   <archive/branch>[:<git-branch>] ...
fr: 'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t répertoire-temporaire]
                   <archive/branche>[:<branche-git>] ...

note: type: Plain text
en: Imports a project from one or more GNU Arch repositories.  It will follow branches and repositories within the namespaces defined by the <archive/branch> parameters supplied. If it cannot find the remote branch a merge comes from it will just import it as a regular commit. If it can find it, it will mark it as a merge whenever possible (see discussion below).
fr: Importe un projet à partir d'un ou plusieurs dépôts de GNU Arch.  Il suivra les branches et les dépôts dans les espaces de noms définis par les paramètres <archive/branche> fournis. S'il ne peut pas trouver la branche distante d'où provient une fusion, il l'importera simplement comme un commit normal. S'il peut la trouver, il la marquera comme une fusion chaque fois que possible (voir la discussion ci-dessous).

note: type: Plain text
en: The script expects you to provide the key roots where it can start the import from an 'initial import' or 'tag' type of Arch commit. It will follow and import new branches within the provided roots.
fr: Le script attend de vous que vous fournissiez les racines clés où il peut démarrer l'importation à partir d'un "import initial" ou d'une "étiquette" de type commit Arch. Il suivra et importera les nouvelles branches dans les racines fournies.

note: type: Plain text
en: It expects to be dealing with one project only. If it sees branches that have different roots, it will refuse to run. In that case, edit your <archive/branch> parameters to define clearly the scope of the import.
fr: Il ne s’attend à traiter qu’un seul projet. S’il voit des branches qui ont des racines différentes, il refusera de se lancer. Dans ce cas, modifiez vos paramètres <archive/branche> pour définir clairement la portée de l’importation.

note: type: Plain text
en: 'git archimport' uses `tla` extensively in the background to access the Arch repository.  Make sure you have a recent version of `tla` available in the path. `tla` must know about the repositories you pass to 'git archimport'.
fr: 'git archimport' utilise beaucoup `tla` en arrière-plan pour accéder au dépôt Arch.  Assurez-vous que vous avez une version récente de `tla` disponible dans le chemin d'accès. `tla` doit connaître les dépôts que vous passez à 'git archimport'.

note: type: Plain text
en: For the initial import, 'git archimport' expects to find itself in an empty directory. To follow the development of a project that uses Arch, rerun 'git archimport' with the same parameters as the initial import to perform incremental imports.
fr: Pour l'importation initiale, 'git archimport' s'attend à se retrouver dans un répertoire vide. Pour suivre le développement d'un projet qui utilise Arch, relancez 'git archimport' avec les mêmes paramètres que l'importation initiale pour effectuer des importations incrémentales.

note: type: Plain text
en: While 'git archimport' will try to create sensible branch names for the archives that it imports, it is also possible to specify Git branch names manually.  To do so, write a Git branch name after each <archive/branch> parameter, separated by a colon.  This way, you can shorten the Arch branch names and convert Arch jargon to Git jargon, for example mapping a "PROJECT{litdd}devo{litdd}VERSION" branch to "master".
fr: Alors que 'git archimport' essaiera de créer des noms de branches sensibles pour les archives qu'il importe, il est également possible de spécifier manuellement les noms de branches Git.  Pour ce faire, écrivez un nom de branche Git après chaque paramètre <archive/branche>, séparé par deux points.  De cette façon, vous pouvez raccourcir les noms de branches Arch et convertir le jargon Arch en jargon Git, par exemple en faisant correspondre une branche "PROJECT{litdd}devo{litdd}VERSION" à "master".

note: type: Plain text
en: Associating multiple Arch branches to one Git branch is possible; the result will make the most sense only if no commits are made to the first branch, after the second branch is created.  Still, this is useful to convert Arch repositories that had been rotated periodically.
fr: Il est possible d'associer plusieurs branches Arch à une branche Git ; le résultat n'aura de sens que si aucun commit n'est poussé sur la première branche, après la création de la deuxième branche.  Néanmoins, cela est utile pour convertir les dépôts Arch qui ont fait l'objet d'une rotation périodique.

note: type: Title -
en: MERGES
fr: FUSIONS

note: type: Plain text
en: Patch merge data from Arch is used to mark merges in Git as well. Git does not care much about tracking patches, and only considers a merge when a branch incorporates all the commits since the point they forked. The end result is that Git will have a good idea of how far branches have diverged. So the import process does lose some patch-trading metadata.
fr: Les données de fusion de rustines d'Arch sont utilisées pour marquer les fusions dans Git également. Git ne se soucie pas beaucoup du suivi des rustines, et ne considère une fusion que lorsqu'une branche incorpore tous les commits depuis le point où ils ont bifurqué. Le résultat final est que Git aura une bonne idée de l'étendue de la divergence des branches. Le processus d'importation perd donc certaines métadonnées d'échange de rustines.

note: type: Plain text
en: Fortunately, when you try and merge branches imported from Arch, Git will find a good merge base, and it has a good chance of identifying patches that have been traded out-of-sequence between the branches.
fr: Heureusement, lorsque vous essayez de fusionner des branches importées d'Arch, Git trouve une bonne base de fusion, et il a de bonnes chances d'identifier les rustines qui ont été échangés hors séquence entre les branches.

note: type: Plain text
en: Display usage.
fr: Afficher l'utilisation.

note: type: Plain text
en: Verbose output.
fr: Sortie verbeuse.

note: type: Plain text
en: Many tags. Will create a tag for every commit, reflecting the commit name in the Arch repository.
fr: Beaucoup d'étiquettes. Créera une étiquette pour chaque commit, reflétant le nom du commit dans le dépôt Arch.

note: type: Plain text
en: Use the fast patchset import strategy.  This can be significantly faster for large trees, but cannot handle directory renames or permissions changes.  The default strategy is slow and safe.
fr: Utiliser la stratégie d'importation rapide d'ensembles de rustines.  Cela peut être beaucoup plus rapide pour les grands arbres, mais ne permet pas de gérer les renommages de répertoires ou les modifications de permissions.  La stratégie par défaut est lente et sûre.

note: type: Plain text
en: Use this for compatibility with old-style branch names used by earlier versions of 'git archimport'.  Old-style branch names were category{litdd}branch, whereas new-style branch names are archive,category{litdd}branch{litdd}version.  In both cases, names given on the command-line will override the automatically-generated ones.
fr: Utilisez-le pour assurer la compatibilité avec les noms de branche à l'ancienne utilisés par les versions antérieures de 'git archimport'.  Les anciens noms de branches étaient categorie{litdd}branche, tandis que les nouveaux noms de branches sont archive,categorie{litdd}branche{litdd}version.  Dans les deux cas, les noms donnés sur la ligne de commande remplaceront les noms générés automatiquement.

note: type: Labeled list
en: -D <depth>
fr: -D <profondeur>

note: type: Plain text
en: Follow merge ancestry and attempt to import trees that have been merged from.  Specify a depth greater than 1 if patch logs have been pruned.
fr: Suivre l'ascendance de la fusion et essayer d'importer des arbres qui ont été fusionnés.  Spécifier une profondeur supérieure à 1 si les journaux de rustine ont été élagués.

note: type: Plain text
en: Attempt to auto-register archives at `http://mirrors.sourcecontrol.net` This is particularly useful with the -D option.
fr: Essayer d'enregistrer automatiquement les archives sur `http://mirrors.sourcecontrol.net`. Ceci est particulièrement utile avec l'option -D.

note: type: Labeled list
en: -t <tmpdir>
fr: -t <rép-temporaire>

note: type: Plain text
en: Override the default tempdir.
fr: Remplacer le répertoire temporaire par défaut.

note: type: Labeled list
en: <archive/branch>
fr: <archive/branche>

note: type: Plain text
en: Archive/branch identifier in a format that `tla log` understands.
fr: Identificateur de l'archive/branche dans un format compréhensible par `tla log`.

note: type: Plain text
en: git-archive - Create an archive of files from a named tree
fr: git-archive - Crée une archive de fichiers depuis un arbre nommé

note: type: Plain text
en: 'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
    	      [-o <file> | --output=<file>] [--worktree-attributes]
    	      [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
    	      [<path>...]
fr: 'git archive' [--format=<fmt>] [--list] [--prefix=<préfixe>/] [<extra>]
    	      [-o <fichier> | --output=<fichier>] [--worktree-attributes]
    	      [--remote=<dépôt> [--exec=<git-upload-archive>]] <arbre-esque>
    	      [<chemin>...]

note: type: Plain text
en: Creates an archive of the specified format containing the tree structure for the named tree, and writes it out to the standard output.  If <prefix> is specified it is prepended to the filenames in the archive.
fr: Crée une archive du format spécifié contenant l'arborescence de l'arbre nommé, et l'écrit sur la sortie standard.  Si <préfixe> est spécifié, il  préfixe le nom des fichiers dans l'archive.

note: type: Plain text
en: 'git archive' behaves differently when given a tree ID versus when given a commit ID or tag ID.  In the first case the current time is used as the modification time of each file in the archive.  In the latter case the commit time as recorded in the referenced commit object is used instead.  Additionally the commit ID is stored in a global extended pax header if the tar format is used; it can be extracted using 'git get-tar-commit-id'. In ZIP files it is stored as a file comment.
fr: 'git archive' se comporte différemment lorsqu'on lui donne un ID d'arbre et lorsqu'on lui donne un ID de commit ou d'étiquette.  Dans le premier cas, l'heure actuelle est utilisée comme heure de modification de chaque fichier dans l'archive.  Dans le second cas, l'heure de validation enregistrée dans l'objet commit référencé est utilisée à la place.  En outre, l'ID de commit est stocké dans un en-tête pax étendu global si le format tar est utilisé ; il peut être extrait en utilisant 'git get-tar-commit-id'. Dans les fichiers ZIP, il est stocké sous forme de commentaire de fichier.

note: type: Plain text
en: Format of the resulting archive: 'tar' or 'zip'. If this option is not given, and the output file is specified, the format is inferred from the filename if possible (e.g. writing to "foo.zip" makes the output to be in the zip format). Otherwise the output format is `tar`.
fr: Format de l'archive résultante : 'tar' ou 'zip'. Si cette option n'est pas donnée, et que le fichier de sortie est spécifié, le format est déduit du nom du fichier si possible (par exemple, en écrivant "foo.zip", la sortie sera au format zip). Sinon, le format de sortie est `tar`.

note: type: Plain text
en: Show all available formats.
fr: Afficher tous les formats disponibles.

note: type: Plain text
en: Report progress to stderr.
fr: Afficher l'état d'avancement sur stderr..

note: type: Labeled list
en: --prefix=<prefix>/
fr: --prefix=<préfixe>/

note: type: Plain text
en: Prepend <prefix>/ to each filename in the archive.
fr: préfixer <préfixe>/ à chaque nom de fichier dans l'archive.

note: type: Labeled list
en: -o <file>
fr: -o <fichier>

note: type: Plain text
en: Write the archive to <file> instead of stdout.
fr: Ecrire l'archive dans <fichier> au lieu de stdout.

note: type: Labeled list
en: --add-file=<file>
fr: --add-file=<fichier>

note: type: Plain text
en: Add a non-tracked file to the archive.  Can be repeated to add multiple files.  The path of the file in the archive is built by concatenating the value for `--prefix` (if any) and the basename of <file>.
fr: Ajouter un fichier non suivi à l'archive.  Peut être répété pour ajouter plusieurs fichiers.  Le chemin du fichier dans l'archive est construit en concaténant la valeur de `--prefix` (le cas échéant) et le nom de base de <fichier>.

note: type: Plain text
en: Look for attributes in .gitattributes files in the working tree as well (see <<ATTRIBUTES>>).
fr: Rechercher également les attributs dans les fichiers .gitattributs de l'arbre de travail (voir <<ATTRIBUTES>>).

note: type: Plain text
en: This can be any options that the archiver backend understands.  See next section.
fr: Il peut s'agir de n'importe quelle option que le moteur de l'archiveur comprend.  Voir la section suivante.

note: type: Labeled list
en: --remote=<repo>
fr: --remote=<dépôt>

note: type: Plain text
en: Instead of making a tar archive from the local repository, retrieve a tar archive from a remote repository. Note that the remote repository may place restrictions on which sha1 expressions may be allowed in `<tree-ish>`. See linkgit:git-upload-archive[1] for details.
fr: Au lieu de créer une archive tar à partir du dépôt local, récupérer une archive tar à partir d'un dépôt distant. Notez que le dépôt distant peut imposer des restrictions sur les expressions sha1 qui peuvent être autorisées dans `<arbre-esque>`. Voir linkgit:git-upload-archive[1] pour plus de détails.

note: type: Plain text
en: Used with --remote to specify the path to the 'git-upload-archive' on the remote side.
fr: Utilisé avec --remote pour spécifier le chemin d'accès à 'git-upload-archive' du côté distant.

note: type: Labeled list
en: <tree-ish>
fr: <arbre-esque>

note: type: Plain text
en: The tree or commit to produce an archive for.
fr: L'arbre ou le commit pour lequel produire une archive .

note: type: Labeled list
en: <path>
fr: <chemin>

note: type: Plain text
en: Without an optional path parameter, all files and subdirectories of the current working directory are included in the archive.  If one or more paths are specified, only these are included.
fr: Sans paramètre de chemin optionnel, tous les fichiers et sous-répertoires du répertoire de travail actuel sont inclus dans l'archive.  Si un ou plusieurs chemins sont spécifiés, seuls ceux-ci sont inclus.

note: type: Title -
en: BACKEND EXTRA OPTIONS
fr: OPTIONS SUPPLÉMENTAIRES DE MOTEUR

note: type: Plain text
en: Store the files instead of deflating them.
fr: Stocker les fichiers au lieu de les compresser.

note: type: Plain text
en: Highest and slowest compression level.  You can specify any number from 1 to 9 to adjust compression speed and ratio.
fr: Niveau de compression le plus élevé et le plus lent.  Vous pouvez spécifier un nombre quelconque de 1 à 9 pour ajuster la vitesse et le ratio de compression.

note: type: Plain text
en: This variable can be used to restrict the permission bits of tar archive entries.  The default is 0002, which turns off the world write bit.  The special value "user" indicates that the archiving user's umask will be used instead.  See umask(2) for details.  If `--remote` is used then only the configuration of the remote repository takes effect.
fr: Cette variable peut être utilisée pour limiter les bits de permission des entrées d'archives tar.  La valeur par défaut est 0002, ce qui désactive le bit d'écriture générale.  La valeur spéciale "user" indique que l'umask de l'utilisateur d'archivage sera utilisé à la place.  Voir umask(2) pour plus de détails.  Si `--remote` est utilisé alors seule la configuration du dépôt distant prend effet.

note: type: Plain text
en: This variable specifies a shell command through which the tar output generated by `git archive` should be piped. The command is executed using the shell with the generated tar file on its standard input, and should produce the final output on its standard output. Any compression-level options will be passed to the command (e.g., "-9"). An output file with the same extension as `<format>` will be use this format if no other format is given.
fr: Cette variable spécifie une commande shell à travers laquelle la sortie tar générée par `git archive` doit être envoyée. La commande est exécutée en utilisant le shell avec le fichier tar généré sur son entrée standard, et devrait produire la sortie finale sur sa sortie standard. Toute option de niveau de compression sera passée à la commande (par exemple, "-9"). Un fichier de sortie avec la même extension que `<format>` utilisera ce format si aucun autre format n'est donné.

note: type: Plain text
en: The "tar.gz" and "tgz" formats are defined automatically and default to `gzip -cn`. You may override them with custom commands.
fr: Les formats "tar.gz" et "tgz" sont définis automatiquement et se présentent par défaut sous la forme `gzip -cn`. Vous pouvez les remplacer par des commandes personnalisées.

note: type: Plain text
en: If true, enable `<format>` for use by remote clients via linkgit:git-upload-archive[1]. Defaults to false for user-defined formats, but true for the "tar.gz" and "tgz" formats.
fr: Si vrai, activer `<format>` pour une utilisation par des clients distants via linkgit:git-upload-archive[1]. Par défaut à faux pour les formats définis par l’utilisateur, mais vrai pour les formats « tar.gz » et « tgz ».

note: type: Title -
en: ATTRIBUTES
fr: ATTRIBUTS

note: type: Plain text
en: Files and directories with the attribute export-ignore won't be added to archive files.  See linkgit:gitattributes[5] for details.
fr: Les fichiers et répertoires avec l'attribut export-ignore ne seront pas ajoutés aux fichiers d'archives.  Voir linkgit:gitattributes[5] pour plus de détails.

note: type: Plain text
en: If the attribute export-subst is set for a file then Git will expand several placeholders when adding this file to an archive.  See linkgit:gitattributes[5] for details.
fr: Si l'attribut export-subst est défini pour un fichier, Git développera plusieurs caractères de remplissage lors de l'ajout de ce fichier à une archive.  Voir linkgit:gitattributes[5] pour plus de détails.

note: type: Plain text
en: Note that attributes are by default taken from the `.gitattributes` files in the tree that is being archived.  If you want to tweak the way the output is generated after the fact (e.g. you committed without adding an appropriate export-ignore in its `.gitattributes`), adjust the checked out `.gitattributes` file as necessary and use `--worktree-attributes` option.  Alternatively you can keep necessary attributes that should apply while archiving any tree in your `$GIT_DIR/info/attributes` file.
fr: Notez que les attributs sont par défaut pris dans les fichiers `.gitattributs` de l'arbre qui est archivé.  Si vous souhaitez modifier la façon dont la sortie est générée après coup (par exemple, si vous avez validé un commit sans ajouter un export approprié dans son `.gitattributs`), ajustez le fichier `.gitattributs` extrait si nécessaire et utilisez l'option `--worktree-attributes`.  Vous pouvez également conserver les attributs nécessaires qui devraient s'appliquer lors de l'archivage de tout arbre dans votre fichier `$GIT_DIR/info/attributes`.

note: type: Plain text
en: Create a tar archive that contains the contents of the latest commit on the current branch, and extract it in the `/var/tmp/junk` directory.
fr: Crée une archive tar qui contient le contenu du dernier commit sur la branche actuelle, et l'extrait dans le répertoire `/var/tmp/junk`.

note: type: Plain text
en: Create a compressed tarball for v1.4.0 release.
fr: Crée un tarball compressé pour la version v1.4.0.

note: type: Plain text
en: Same as above, but using the builtin tar.gz handling.
fr: Même chose que ci-dessus, mais en utilisant la gestion du format tar.gz intégrée.

note: type: Plain text
en: Same as above, but the format is inferred from the output file.
fr: Même chose que ci-dessus, mais le format est déduit du fichier de sortie.

note: type: Plain text
en: Create a compressed tarball for v1.4.0 release, but without a global extended pax header.
fr: Créer un tarball compressé pour la version v1.4.0, mais sans en-tête de pax global étendu.

note: type: Plain text
en: Put everything in the current head's Documentation/ directory into 'git-1.4.0-docs.zip', with the prefix 'git-docs/'.
fr: Place tout ce qui se trouve dans le répertoire Documentation/ de la tête courante dans 'git-1.4.0-docs.zip', avec le préfixe 'git-docs/'.

note: type: Plain text
en: Create a Zip archive that contains the contents of the latest commit on the current branch. Note that the output format is inferred by the extension of the output file.
fr: Crée une archive Zip qui contient le contenu du dernier commit sur la branche actuelle. Notez que le format de sortie est déduit par l’extension du fichier de sortie.

note: type: Plain text
en: Configure a "tar.xz" format for making LZMA-compressed tarfiles.  You can use it specifying `--format=tar.xz`, or by creating an output file like `-o foo.tar.xz`.
fr: Configurer un format "tar.xz" pour la création de fichiers tar compressés LZMA.  Vous pouvez l'utiliser en spécifiant `--format=tar.xz`, ou en créant un fichier de sortie comme `-o foo.tar.xz`.

note: type: Plain text
en: git-bisect - Use binary search to find the commit that introduced a bug
fr: git-bisect - Trouver par recherche binaire la modification qui a introduit un bogue

note: type: Plain text
en: 'git bisect' <subcommand> <options>
fr: 'git bisect' <sous-commande> <options>

note: type: Plain text
en: The command takes various subcommands, and different options depending on the subcommand:
fr: La commande prend diverses sous-commandes et différentes options selon la sous-commande :

note: type: Plain text
en:  git bisect start [--term-{new,bad}=<term> --term-{old,good}=<term>]
    		  [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<paths>...]
     git bisect (bad|new|<term-new>) [<rev>]
     git bisect (good|old|<term-old>) [<rev>...]
     git bisect terms [--term-good | --term-bad]
     git bisect skip [(<rev>|<range>)...]
     git bisect reset [<commit>]
     git bisect (visualize|view)
     git bisect replay <logfile>
     git bisect log
     git bisect run <cmd>...
     git bisect help
fr:  git bisect start [--term-{new,bad}=<terme> --term-{old,good}=<terme>]
    		  [--no-checkout] [--first-parent] [<mauvais> [<bon>...]] [--] [<chemins>...]
     git bisect (bad|new|<terme-nouveau>) [<rev>]
     git bisect (good|old|<terme-ancien>) [<rev>...]
     git bisect terms [--term-good | --term-bad]
     git bisect skip [(<rev>|<plage>)...]
     git bisect reset [<commit>]
     git bisect (visualize|view)
     git bisect replay <fichier-journal>
     git bisect log
     git bisect run <cmd>...
     git bisect help

note: type: Plain text
en: This command uses a binary search algorithm to find which commit in your project's history introduced a bug. You use it by first telling it a "bad" commit that is known to contain the bug, and a "good" commit that is known to be before the bug was introduced. Then `git bisect` picks a commit between those two endpoints and asks you whether the selected commit is "good" or "bad". It continues narrowing down the range until it finds the exact commit that introduced the change.
fr: Cette commande utilise un algorithme de recherche binaire pour trouver quel commit dans l'historique de votre projet a introduit un bogue. Vous l'utilisez en lui indiquant d'abord un "mauvais" commit qui est connu pour contenir le bogue, et un "bon" commit qui est connu pour être avant que le bogue ne soit introduit. Ensuite, `git bisect` choisit un commit entre ces deux points de terminaison et vous demande si le commit sélectionné est" bon "ou" mauvais ". Il continue de réduire la plage jusqu'à ce qu'il trouve le commit exact qui a introduit le changement coupable.

note: type: Plain text
en: In fact, `git bisect` can be used to find the commit that changed *any* property of your project; e.g., the commit that fixed a bug, or the commit that caused a benchmark's performance to improve. To support this more general usage, the terms "old" and "new" can be used in place of "good" and "bad", or you can choose your own terms. See section "Alternate terms" below for more information.
fr: En fait, « git bisect » peut être utilisé pour trouver le commit qui a changé *n’importe quelle* propriété de votre projet ; par exemple, le commit qui a corrigé un bogue, ou le commit qui a causé l’amélioration des performances d’un benchmark. Pour gérer cette utilisation plus générale, les termes "old" (ancien) et "new" (nouveau) peuvent être utilisés à la place de "bad" (mauvais) et "good" (bon), ou vous pouvez choisir vos propres termes. Voir la section « Autres termes » ci-dessous pour plus d’informations.

note: type: Title ~
en: Basic bisect commands: start, bad, good
fr: Commandes bisect de base : start, bad, good

note: type: Plain text
en: As an example, suppose you are trying to find the commit that broke a feature that was known to work in version `v2.6.13-rc2` of your project. You start a bisect session as follows:
fr: À titre d’exemple, supposons que vous essayez de trouver le commit qui a cassé une fonctionnalité qui était connue pour fonctionner dans la version `v2.6.13-rc2` de votre projet. Vous démarrez une session de bissection comme suit :

note: type: delimited block -
en: $ git bisect start
    $ git bisect bad                 # Current version is bad
    $ git bisect good v2.6.13-rc2    # v2.6.13-rc2 is known to be good
fr: $ git bisect start
    $ git bisect bad                 # La version actuelle est mauvaise
    $ git bisect good v2.6.13-rc2    # v2.6.13-rc2 est réputée correcte

note: type: Plain text
en: Once you have specified at least one bad and one good commit, `git bisect` selects a commit in the middle of that range of history, checks it out, and outputs something similar to the following:
fr: Une fois que vous avez spécifié au moins un mauvais et un bon commit, `git bisect` sélectionne un commit au milieu de cette plage d'historique, l'extrait et affiche quelque chose de similaire à ce qui suit :

note: type: delimited block -
en: Bisecting: 675 revisions left to test after this (roughly 10 steps)
fr: Bisection : 675 révisions restantes à tester après cela (environ 10 étapes)

note: type: Plain text
en: You should now compile the checked-out version and test it. If that version works correctly, type
fr: Vous devez maintenant compiler la version extraite et la tester. Si cette version fonctionne correctement, tapez

note: type: Plain text
en: If that version is broken, type
fr: Si cette version est cassée, tapez

note: type: Plain text
en: Then `git bisect` will respond with something like
fr: Ensuite, `git bisect` répondra par quelque chose comme

note: type: delimited block -
en: Bisecting: 337 revisions left to test after this (roughly 9 steps)
fr: Bisection : 337 révisions restantes à tester après cela (environ 9 étapes)

note: type: Plain text
en: Keep repeating the process: compile the tree, test it, and depending on whether it is good or bad run `git bisect good` or `git bisect bad` to ask for the next commit that needs testing.
fr: Continuez à répéter le processus : compiler l’arbre, le tester, et selon qu’il est bon ou mauvais lancer `git bisect good` ou `git bisect bad` pour demander le prochain commit qui a besoin d’être testé.

note: type: Plain text
en: Eventually there will be no more revisions left to inspect, and the command will print out a description of the first bad commit. The reference `refs/bisect/bad` will be left pointing at that commit.
fr: Finalement, il ne restera plus de révisions à inspecter et la commande affichera une description du premier mauvais commit. La référence `refs/bisect/bad` sera laissée pointant vers ce commit.

note: type: Plain text
en: After a bisect session, to clean up the bisection state and return to the original HEAD, issue the following command:
fr: Après une session de bissection, pour nettoyer l'état de bissection et revenir à la HEAD d'origine, exécutez la commande suivante :

note: type: Plain text
en: By default, this will return your tree to the commit that was checked out before `git bisect start`.  (A new `git bisect start` will also do that, as it cleans up the old bisection state.)
fr: Par défaut, cela retournera votre arbre à la validation qui a été vérifiée avant le `git bisect start`.  (Un nouveau `git bisect start` fera également cela, car il nettoie l’ancien état de bissection.)

note: type: Plain text
en: With an optional argument, you can return to a different commit instead:
fr: Avec un argument optionnel, vous pouvez revenir à un commit différent à la place :

note: type: Plain text
en: For example, `git bisect reset bisect/bad` will check out the first bad revision, while `git bisect reset HEAD` will leave you on the current bisection commit and avoid switching commits at all.
fr: Par exemple, `git bisect reset bisect/bad` extraira la première mauvaise révision, tandis que `git bisect reset HEAD` vous laissera sur le commit de bissection actuel et évitera du tout de changer de commits.

note: type: Title ~
en: Alternate terms
fr: Termes alternatifs

note: type: Plain text
en: Sometimes you are not looking for the commit that introduced a breakage, but rather for a commit that caused a change between some other "old" state and "new" state. For example, you might be looking for the commit that introduced a particular fix. Or you might be looking for the first commit in which the source-code filenames were finally all converted to your company's naming standard. Or whatever.
fr: Parfois, vous n’êtes pas à la recherche du commit qui a introduit une rupture, mais plutôt pour un commit qui a causé un changement entre un autre « vieil » état et « nouvel » état. Par exemple, vous pouvez être à la recherche du commit qui a introduit un correctif particulier. Ou vous pouvez être à la recherche du premier commit dans lequel les noms de fichiers de code source ont finalement tous été convertis à la norme de nommage de votre entreprise. Ou quoi que ce soit.

note: type: Plain text
en: In such cases it can be very confusing to use the terms "good" and "bad" to refer to "the state before the change" and "the state after the change". So instead, you can use the terms "old" and "new", respectively, in place of "good" and "bad". (But note that you cannot mix "good" and "bad" with "old" and "new" in a single session.)
fr: Dans de tels cas, il peut être très déroutant d’utiliser les termes "good" (« bon ») et "bad" (« mauvais ») pour désigner « l’état avant le changement » et « l’état après le changement ». Ainsi, au lieu de cela, vous pouvez utiliser les termes "old" (« ancien ») et "new" (« nouveau »), respectivement, à la place de "good" et "bad". (Mais notez que vous ne pouvez pas mélanger "good" et "bad" avec "old" et "new" dans une seule session.)

note: type: Plain text
en: In this more general usage, you provide `git bisect` with a "new" commit that has some property and an "old" commit that doesn't have that property. Each time `git bisect` checks out a commit, you test if that commit has the property. If it does, mark the commit as "new"; otherwise, mark it as "old". When the bisection is done, `git bisect` will report which commit introduced the property.
fr: Dans cette utilisation plus générale, vous fournissez à `git bisect` un « nouveau » commit qui a une certaine propriété et un « vieux » commit qui n’a pas cette propriété. Chaque fois que `git bisect` vérifie un commit, vous testez si ce commit a la propriété. Si c’est le cas, marquer le commit comme « nouveau » ; sinon, marquez-le comme « vieux ». Lorsque la bissection est terminée, `git bisect` signalera quel commit introduit la propriété.

note: type: Plain text
en: To use "old" and "new" instead of "good" and bad, you must run `git bisect start` without commits as argument and then run the following commands to add the commits:
fr: Pour utiliser "ancien" et "nouveau" au lieu de "bon" et "mauvais", vous devez exécuter `git bisect start` sans commit en tant qu'argument et ensuite exécuter la commande suivante pour ajouter les commits :

note: type: delimited block -
en: git bisect old [<rev>]
fr: git bisect old [<rév>]

note: type: Plain text
en: to indicate that a commit was before the sought change, or
fr: pour indiquer que le commit était avant le changement envisagé, ou

note: type: delimited block -
en: git bisect new [<rev>...]
fr: git bisect new [<rév>...]

note: type: Plain text
en: to indicate that it was after.
fr: pour indiquer qu'il était avant.

note: type: Plain text
en: To get a reminder of the currently used terms, use
fr: Pour obtenir un récapitulatif des termes utilisés actuellement, utiliser

note: type: Plain text
en: You can get just the old (respectively new) term with `git bisect terms --term-old` or `git bisect terms --term-good`.
fr: Vous pouvez obtenir uniquement l'ancien terme (respectivement le nouveau) avec les termes "git bisect --term-old" ou "git bisect --term-good".

note: type: Plain text
en: If you would like to use your own terms instead of "bad"/"good" or "new"/"old", you can choose any names you like (except existing bisect subcommands like `reset`, `start`, ...) by starting the bisection using
fr: Si vous souhaitez utiliser vos propres termes au lieu de "bad"/"good" ou "new"/"old", vous pouvez choisir les noms que vous voulez (sauf les sous-commandes de bisect existantes comme `reset`, `start`, ...) en commençant la bissection par

note: type: delimited block -
en: git bisect start --term-old <term-old> --term-new <term-new>
fr: git bisect start --term-old <ancien-terme> --term-new <nouveau-terme>

note: type: Plain text
en: For example, if you are looking for a commit that introduced a performance regression, you might use
fr: Par exemple, si vous recherchez un commit qui a introduit une régression de performance, vous pouvez utiliser

note: type: delimited block -
en: git bisect start --term-old fast --term-new slow
fr: git bisect start --term-old rapide --term-new lent

note: type: Plain text
en: Or if you are looking for the commit that fixed a bug, you might use
fr: Ou si vous cherchez le commit qui a corrigé un bogue, vous pouvez utiliser

note: type: delimited block -
en: git bisect start --term-new fixed --term-old broken
fr: git bisect start --term-new corrige --term-old casse

note: type: Plain text
en: Then, use `git bisect <term-old>` and `git bisect <term-new>` instead of `git bisect good` and `git bisect bad` to mark commits.
fr: Ensuite, utiliser `git bisect <ancien-terme>` et `git bisect <nouveau-terme>` à la place de `git bisect bon` et `git bisect mauvais` pour marquer les commits.

note: type: Title ~
en: Bisect visualize/view
fr: Visualisation/vue de bissection

note: type: Plain text
en: To see the currently remaining suspects in 'gitk', issue the following command during the bisection process (the subcommand `view` can be used as an alternative to `visualize`):
fr: Pour voir les suspects restants dans 'gitk', lancez la commande suivante pendant le processus de bisection (la sous-commande `view` peut être utilisée comme alternative à `visualize`) :

note: type: Plain text
en: If the `DISPLAY` environment variable is not set, 'git log' is used instead.  You can also give command-line options such as `-p` and `--stat`.
fr: Si la variable d'environnement `DISPLAY` n'est pas définie, 'git log' est utilisé à la place. Vous pouvez également donner des options de ligne de commande telles que `-p` et` --stat`.

note: type: Title ~
en: Bisect log and bisect replay
fr: Bisect log et bisect replay

note: type: Plain text
en: After having marked revisions as good or bad, issue the following command to show what has been done so far:
fr: Après avoir marqué les révisions comme bonnes ou mauvaises, donnez l'ordre suivant pour montrer ce qui a été fait jusqu'à présent :

note: type: Plain text
en: If you discover that you made a mistake in specifying the status of a revision, you can save the output of this command to a file, edit it to remove the incorrect entries, and then issue the following commands to return to a corrected state:
fr: Si vous découvrez que vous avez fait une erreur en spécifiant l'état d'une révision, vous pouvez enregistrer la sortie de cette commande dans un fichier, la modifier pour supprimer les entrées incorrectes, puis émettre les commandes suivantes pour revenir à un état corrigé :

note: type: delimited block -
en: $ git bisect reset
    $ git bisect replay that-file
fr: $ git bisect reset
    $ git bisect replay ce-fichier

note: type: Title ~
en: Avoiding testing a commit
fr: Éviter le test d'un commit

note: type: Plain text
en: If, in the middle of a bisect session, you know that the suggested revision is not a good one to test (e.g. it fails to build and you know that the failure does not have anything to do with the bug you are chasing), you can manually select a nearby commit and test that one instead.
fr: Si, au milieu d'une session bisect, vous savez que la révision suggérée n'est pas bonne à tester (par exemple, elle ne parvient pas à se construire et vous savez que l'échec n'a rien à voir avec le bogue que vous poursuivez), vous pouvez sélectionner manuellement une validation proche et tester celle-ci à la place.

note: type: Plain text
en: For example:
fr: Par exemple :

note: type: delimited block -
en: $ git bisect good/bad			# previous round was good or bad.
    Bisecting: 337 revisions left to test after this (roughly 9 steps)
    $ git bisect visualize			# oops, that is uninteresting.
    $ git reset --hard HEAD~3		# try 3 revisions before what
    					# was suggested
fr: $ git bisect good/bad			# le round précédent était good ou bad
    Bisecting: 337 revisions left to test after this (roughly 9 steps)
    $ git bisect visualize			#  oh.. C'est sans intérêt
    $ git reset --hard HEAD~3		# essayer 3 révision avant ce qui
    					# a été suggéré

note: type: Plain text
en: Then compile and test the chosen revision, and afterwards mark the revision as good or bad in the usual manner.
fr: Ensuite, compilez et testez la révision choisie, puis marquez la révision comme bonne ou mauvaise de la manière habituelle.

note: type: Title ~
en: Bisect skip
fr: Saut de Bisect

note: type: Plain text
en: Instead of choosing a nearby commit by yourself, you can ask Git to do it for you by issuing the command:
fr: Au lieu de choisir vous-même un commit proche, vous pouvez demander à Git de le faire pour vous en émettant la commande :

note: type: delimited block -
en: $ git bisect skip                 # Current version cannot be tested
fr: $ git bisect skip                 # Cette révision ne peut pas être testée

note: type: Plain text
en: However, if you skip a commit adjacent to the one you are looking for, Git will be unable to tell exactly which of those commits was the first bad one.
fr: Cependant, si vous sautez un commit adjacent à celui que vous recherchez, Git ne pourra pas dire exactement lequel de ces commits était le premier mauvais.

note: type: Plain text
en: You can also skip a range of commits, instead of just one commit, using range notation. For example:
fr: Vous pouvez également sauter une série de commits, au lieu d'un seul, en utilisant la notation de plage. Par exemple :

note: type: Plain text
en: This tells the bisect process that no commit after `v2.5`, up to and including `v2.6`, should be tested.
fr: Cela indique au processus bisect qu'aucun commit après `v2.5`, jusqu'à `v2.6` inclus, ne doit être testé.

note: type: Plain text
en: Note that if you also want to skip the first commit of the range you would issue the command:
fr: Notez que si vous souhaitez également sauter le premier commit de la plage, vous devrez émettre la commande :

note: type: Plain text
en: This tells the bisect process that the commits between `v2.5` and `v2.6` (inclusive) should be skipped.
fr: Cela indique au processus de bissection que les commits entre `v2.5` et `v2.6` (inclus) doivent être ignorés.

note: type: Title ~
en: Cutting down bisection by giving more parameters to bisect start
fr: Réduire la bissection en donnant plus de paramètres au début de la bissection

note: type: Plain text
en: You can further cut down the number of trials, if you know what part of the tree is involved in the problem you are tracking down, by specifying path parameters when issuing the `bisect start` command:
fr: Vous pouvez réduire davantage le nombre d'essais, si vous savez quelle partie de l'arbre est impliquée dans le problème que vous recherchez, en spécifiant les paramètres de chemin lors de la commande `bisect start` :

note: type: Plain text
en: If you know beforehand more than one good commit, you can narrow the bisect space down by specifying all of the good commits immediately after the bad commit when issuing the `bisect start` command:
fr: Si vous connaissez à l'avance plus d'un bon commit, vous pouvez réduire l'espace de bissection en spécifiant tous les bons commit immédiatement après le mauvais commit lorsque vous lancez la commande `bisect start` :

note: type: delimited block -
en: $ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --
                       # v2.6.20-rc6 is bad
                       # v2.6.20-rc4 and v2.6.20-rc1 are good
fr: $ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 --
                       # v2.6.20-rc6 est mauvaise
                       # v2.6.20-rc4 and v2.6.20-rc1 sont bonnes

note: type: Plain text
en: If you have a script that can tell if the current source code is good or bad, you can bisect by issuing the command:
fr: Si vous avez un script qui peut dire si le code source actuel est bon ou mauvais, vous pouvez bissecter en émettant la commande :

note: type: delimited block -
en: $ git bisect run my_script arguments
fr: $ git bisect run mon_script arguments

note: type: Plain text
en: Note that the script (`my_script` in the above example) should exit with code 0 if the current source code is good/old, and exit with a code between 1 and 127 (inclusive), except 125, if the current source code is bad/new.
fr: Notez que le script (`my_script` dans l'exemple ci-dessus) doit se terminer par le code 0 si le code source actuel est bon/ancien, et se terminer par un code entre 1 et 127 (inclus), sauf 125, si le code source actuel est mauvais/nouveau.

note: type: Plain text
en: Any other exit code will abort the bisect process. It should be noted that a program that terminates via `exit(-1)` leaves $? = 255, (see the exit(3) manual page), as the value is chopped with `& 0377`.
fr: Tout autre code de sortie fera avorter le processus de bissection. Il convient de noter qu'un programme qui se termine par `exit(-1)` laisse $ ? = 255, (voir la page de manuel exit(3)), car la valeur est masquée avec `& 0377`.

note: type: Plain text
en: The special exit code 125 should be used when the current source code cannot be tested. If the script exits with this code, the current revision will be skipped (see `git bisect skip` above). 125 was chosen as the highest sensible value to use for this purpose, because 126 and 127 are used by POSIX shells to signal specific error status (127 is for command not found, 126 is for command found but not executable--these details do not matter, as they are normal errors in the script, as far as `bisect run` is concerned).
fr: Le code de sortie spécial 125 doit être utilisé lorsque le code source actuel ne peut pas être testé. Si le script se termine avec ce code, la révision en cours sera ignorée (voir `git bisect skip` ci-dessus). 125 a été choisi comme la valeur la plus sensée à utiliser dans ce but, parce que 126 et 127 sont utilisés par les shells POSIX pour signaler un statut d'erreur spécifique (127 indique une commande non trouvée, 126 indique une commande trouvée mais non exécutable - ces détails n'ont pas d'importance, car ce sont des erreurs normales dans le script, en ce qui concerne le `bisect run`).

note: type: Plain text
en: You may often find that during a bisect session you want to have temporary modifications (e.g. s/#define DEBUG 0/#define DEBUG 1/ in a header file, or "revision that does not have this commit needs this patch applied to work around another problem this bisection is not interested in") applied to the revision being tested.
fr: Vous pouvez souvent constater que pendant une session bisect, vous souhaitez que des modifications temporaires (par exemple s/#define DEBUG 0/#define DEBUG 1/ dans un fichier d'en-tête, ou "la révision qui n'a pas ce commit a besoin que ce patch soit appliqué pour contourner un autre problème qui n'intéresse pas cette bisection") soient appliquées à la révision testée.

note: type: Plain text
en: To cope with such a situation, after the inner 'git bisect' finds the next revision to test, the script can apply the patch before compiling, run the real test, and afterwards decide if the revision (possibly with the needed patch) passed the test and then rewind the tree to the pristine state.  Finally the script should exit with the status of the real test to let the `git bisect run` command loop determine the eventual outcome of the bisect session.
fr: Pour faire face à une telle situation, une fois que le 'git bisect' interne a trouvé la prochaine révision à tester, le script peut appliquer le patch avant la compilation, exécuter le vrai test, puis décider si la révision (éventuellement avec la rustine nécessaire) a passé le test et ensuite rembobiner l'arbre à l'état vierge.  Enfin, le script doit se terminer avec l'état du test réel pour laisser la boucle de commande `git bisect run` déterminer le résultat final de la session bisect.

note: type: Plain text
en: Do not checkout the new working tree at each iteration of the bisection process. Instead just update a special reference named `BISECT_HEAD` to make it point to the commit that should be tested.
fr: Ne pas extraire le nouvel arbre de travail à chaque itération du processus de bissection. Mettre plutôt à jour une référence spéciale nommée `BISECT_HEAD` pour qu'elle pointe vers le commit qui doit être testé.

note: type: Plain text
en: This option may be useful when the test you would perform in each step does not require a checked out tree.
fr: Cette option peut être utile lorsque le test que vous effectueriez à chaque étape ne nécessite pas une extraction d'arbre.

note: type: Plain text
en: If the repository is bare, `--no-checkout` is assumed.
fr: Si le dépôt est vide, `--no-checkout` est supposé.

note: type: Plain text
en: Follow only the first parent commit upon seeing a merge commit.
fr: Suivre uniquement le premier commit parent lors d'un commit de fusion.

note: type: Plain text
en: In detecting regressions introduced through the merging of a branch, the merge commit will be identified as introduction of the bug and its ancestors will be ignored.
fr: En détectant les régressions introduites par la fusion d'une branche, le commit de fusion sera identifié comme l'introduction du bug et ses ancêtres seront ignorés.

note: type: Plain text
en: This option is particularly useful in avoiding false positives when a merged branch contained broken or non-buildable commits, but the merge itself was OK.
fr: Cette option est particulièrement utile pour éviter les faux positifs lorsqu'une branche fusionnée contenait des commits cassés ou non constructibles, mais que la fusion elle-même était OK.

note: type: Plain text
en: Automatically bisect a broken build between v1.2 and HEAD:
fr: Bissecte automatiquement une construction non fonctionnelle entre la v1.2 et HEAD :

note: type: delimited block -
en: $ git bisect start HEAD v1.2 --      # HEAD is bad, v1.2 is good
    $ git bisect run make                # "make" builds the app
    $ git bisect reset                   # quit the bisect session
fr: $ git bisect start HEAD v1.2 --      # HEAD est mauvaise, v1.2 is bonne
    $ git bisect run make                # "make" construit l'application
    $ git bisect reset                   # quitter la session bisect

note: type: Plain text
en: Automatically bisect a test failure between origin and HEAD:
fr: Bisection automatique d'un échec de test entre origin et HEAD :

note: type: delimited block -
en: $ git bisect start HEAD origin --    # HEAD is bad, origin is good
    $ git bisect run make test           # "make test" builds and tests
    $ git bisect reset                   # quit the bisect session
fr: $ git bisect start HEAD origin --    # HEAD est mauvaise, origin est bonne
    $ git bisect run make test           # "make test" construit et teste
    $ git bisect reset                   # quitter la session bisect

note: type: Plain text
en: Automatically bisect a broken test case:
fr: Bissecte automatiquement un cas de test en échec :

note: type: delimited block -
en: $ cat ~/test.sh
    #!/bin/sh
    make || exit 125                     # this skips broken builds
    ~/check_test_case.sh                 # does the test case pass?
    $ git bisect start HEAD HEAD~10 --   # culprit is among the last 10
    $ git bisect run ~/test.sh
    $ git bisect reset                   # quit the bisect session
fr: $ cat ~/test.sh
    #!/bin/sh
    make || exit 125                     # ceci saute la construction cassée
    ~/check_test_case.sh                 # est-ce que le test passe ?
    $ git bisect start HEAD HEAD~10 --   # le coupable est parmi les 10 derniers
    $ git bisect run ~/test.sh
    $ git bisect reset                   # quitter la session bisect

note: type: Plain text
en: Here we use a `test.sh` custom script. In this script, if `make` fails, we skip the current commit.  `check_test_case.sh` should `exit 0` if the test case passes, and `exit 1` otherwise.
fr: Ici, nous utilisons un script personnalisé `test.sh`. Dans ce script, si `make` échoue, nous sautons le commit en cours.  Le script `check_test_case.sh` devrait `exit 0` si le test passe, et `exit 1` sinon.

note: type: Plain text
en: It is safer if both `test.sh` and `check_test_case.sh` are outside the repository to prevent interactions between the bisect, make and test processes and the scripts.
fr: C'est plus sûr si `test.sh` et `check_test_case.sh` sont tous deux en dehors du dépôt pour éviter les interactions entre les processus de bissection, de fabrication et de test et les scripts.

note: type: Plain text
en: Automatically bisect with temporary modifications (hot-fix):
fr: Bisection automatique avec modifications temporaires (hot-fix) :

note: type: delimited block -
en: # tweak the working tree by merging the hot-fix branch
    # and then attempt a build
    if	git merge --no-commit --no-ff hot-fix &&
    	make
    then
    	# run project specific test and report its status
    	~/check_test_case.sh
    	status=$?
    else
    	# tell the caller this is untestable
    	status=125
    fi
fr: # bricole l'arbre de travail en fusionnant une branche hot-fix
    # puis tente de construire
    if	git merge --no-commit --no-ff hot-fix &&
    	make
    then
    	# lance le test spécifique au projet et rapporter son état
    	~/check_test_case.sh
    	status=$?
    else
    	# indique à l'appelant que ce n'est pas testable
    	status=125
    fi

note: type: delimited block -
en: # undo the tweak to allow clean flipping to the next commit
    git reset --hard
fr: # défait le bricolage pour permettre de basculer proprement sur le prochain commit
    git reset --hard

note: type: delimited block -
en: # return control
    exit $status
fr: # redonne le contrôle
    exit $status

note: type: Plain text
en: This applies modifications from a hot-fix branch before each test run, e.g. in case your build or test environment changed so that older revisions may need a fix which newer ones have already. (Make sure the hot-fix branch is based off a commit which is contained in all revisions which you are bisecting, so that the merge does not pull in too much, or use `git cherry-pick` instead of `git merge`.)
fr: Cela s'applique les modifications d'une branche hot-fix avant chaque exécution de test, par exemple au cas où votre environnement de construction ou de test a changé de sorte que les anciennes révisions peuvent nécessiter un correctif que les nouvelles ont déjà. (Assurez-vous que la branche des correctifs est basée sur un commit qui est contenu dans toutes les révisions que vous coupez en deux, de sorte que la fusion n'en tire pas trop, ou utilisez `git cherry-pick` au lieu de `git merge`).

note: type: delimited block -
en: $ git bisect start HEAD HEAD~10 --   # culprit is among the last 10
    $ git bisect run sh -c "make || exit 125; ~/check_test_case.sh"
    $ git bisect reset                   # quit the bisect session
fr: $ git bisect start HEAD HEAD~10 --   # le coupable est parmi les dix derniers
    $ git bisect run sh -c "make || exit 125; ~/check_test_case.sh"
    $ git bisect reset                   # quitter la session bisect

note: type: Plain text
en: This shows that you can do without a run script if you write the test on a single line.
fr: Ceci montre que vous pouvez vous passer d’un script si vous écrivez le test sur une seule ligne.

note: type: Plain text
en: Locate a good region of the object graph in a damaged repository
fr: Localise une bonne région du graphe d'objets dans un dépôt endommagé

note: type: delimited block -
en: $ git bisect start HEAD <known-good-commit> [ <boundary-commit> ... ] --no-checkout
    $ git bisect run sh -c '
    	GOOD=$(git for-each-ref "--format=%(objectname)" refs/bisect/good-*) &&
    	git rev-list --objects BISECT_HEAD --not $GOOD >tmp.$$ &&
    	git pack-objects --stdout >/dev/null <tmp.$$
    	rc=$?
    	rm -f tmp.$$
    	test $rc = 0'
fr: $ git bisect start HEAD <bon-commit-connu> [ <commit-frontière> ... ] --no-checkout
    $ git bisect run sh -c '
    	GOOD=$(git for-each-ref "--format=%(objectname)" refs/bisect/good-*) &&
    	git rev-list --objects BISECT_HEAD --not $GOOD >tmp.$$ &&
    	git pack-objects --stdout >/dev/null <tmp.$$
    	rc=$?
    	rm -f tmp.$$
    	test $rc = 0'

note: type: delimited block -
en: $ git bisect reset                   # quit the bisect session
fr: $ git bisect reset                   # quitter la session bisect

note: type: Plain text
en: In this case, when 'git bisect run' finishes, bisect/bad will refer to a commit that has at least one parent whose reachable graph is fully traversable in the sense required by 'git pack objects'.
fr: Dans ce cas, lorsque 'git bisect run' se termine, bisect/bad fera référence à un commit qui a au moins un parent dont le graphe accessible est entièrement traversable dans le sens requis par 'git pack objects'.

note: type: Plain text
en: Look for a fix instead of a regression in the code
fr: Rechercher un correctif au lieu d'une régression dans le code

note: type: delimited block -
en: $ git bisect start
    $ git bisect new HEAD    # current commit is marked as new
    $ git bisect old HEAD~10 # the tenth commit from now is marked as old
fr: $ git bisect start
    $ git bisect new HEAD    # le commit est maqué comme nouveau
    $ git bisect old HEAD~10 # le dixième commit en amont est marqué comme vieux

note: type: Plain text
en: or:
fr: ou :

note: type: Title ~
en: Getting help
fr: Obtenir de l’aide

note: type: Plain text
en: Use `git bisect` to get a short usage description, and `git bisect help` or `git bisect -h` to get a long usage description.
fr: Utilisez `git bisect` pour obtenir une courte description d'utilisation, et `git bisect help` ou `git bisect -h` pour obtenir une longue description d'utilisation.

note: type: Plain text
en: link:git-bisect-lk2009.html[Fighting regressions with git bisect], linkgit:git-blame[1].
fr: link:git-bisect-lk2009.html[Combattre les régressions avec git bisect], linkgit:git-blame[1].

note: type: Plain text
en: git-blame - Show what revision and author last modified each line of a file
fr: git-blame - Montrer la révision et l'auteur qui ont modifié en dernier chaque ligne d'un fichier

note: type: Plain text
en: 'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
    	    [-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]
    	    [--ignore-rev <rev>] [--ignore-revs-file <file>]
    	    [--progress] [--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>..<rev>]
    	    [--] <file>
fr: 'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
    	    [-L <plage>] [-S <fichier-de-révs>] [-M] [-C] [-C] [-C] [--since=<date>]
    	    [--ignore-rev <rév>] [--ignore-revs-file <fichier>]
    	    [--progress] [--abbrev=<n>] [<rév> | --contents <fichier> | --reverse <rév>..<rév>]
    	    [--] <fichier>

note: type: Plain text
en: Annotates each line in the given file with information from the revision which last modified the line. Optionally, start annotating from the given revision.
fr: 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.

note: type: Plain text
en: When specified one or more times, `-L` restricts annotation to the requested lines.
fr: Lorsqu'il est spécifié une ou plusieurs fois, `-L` limite l'annotation aux lignes demandées.

note: type: Plain text
en: The origin of lines is automatically followed across whole-file renames (currently there is no option to turn the rename-following off). To follow lines moved from one file to another, or to follow lines that were copied and pasted from another file, etc., see the `-C` and `-M` options.
fr: L'origine des lignes est automatiquement suivie à travers les renommages de fichiers entiers (il n'y a actuellement aucune option pour désactiver le suivi des renommages). Pour suivre les lignes déplacées d'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 `-C` et `-M`.

note: type: Plain text
en: The report does not tell you anything about lines which have been deleted or replaced; you need to use a tool such as 'git diff' or the "pickaxe" interface briefly mentioned in the following paragraph.
fr: 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'interface "pickaxe" brièvement mentionnée dans le paragraphe suivant.

note: type: Plain text
en: Apart from supporting file annotation, Git also supports searching the development history for when a code snippet occurred in a change. This makes it possible to track when a code snippet was added to a file, moved or copied between files, and eventually deleted or replaced. It works by searching for a text string in the diff. A small example of the pickaxe interface that searches for `blame_usage`:
fr: Outre la prise en charge de l'annotation des fichiers, Git permet également de rechercher dans l'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'interface pickaxe qui recherche `blame_usage` :

note: type: delimited block -
en: $ git log --pretty=oneline -S'blame_usage'
    5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>
    ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output
fr: $ git log --pretty=oneline -S'blame_usage'
    5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <fichier-d-ancêtre>
    ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output

note: type: Plain text
en: Use the same output mode as linkgit:git-annotate[1] (Default: off).
fr: Utiliser le même mode de sortie que linkgit:git-annotate[1] (Défaut : désactivé).

note: type: Plain text
en: Include debugging information related to the movement of lines between files (see `-C`) and lines moved within a file (see `-M`).  The first number listed is the score.  This is the number of alphanumeric characters detected as having been moved between or within files.  This must be above a certain threshold for 'git blame' to consider those lines of code to have been moved.
fr: Inclure les informations de débogage relatives au déplacement des lignes entre les fichiers (voir `-C`) et aux lignes déplacées à l'intérieur d'un fichier (voir `-M`).  Le premier nombre listé est le score.  C'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 'git blame' considère que ces lignes de code ont été déplacées.

note: type: Plain text
en: Show the filename in the original commit.  By default the filename is shown if there is any line that came from a file with a different name, due to rename detection.
fr: Afficher le nom de fichier dans le commit original.  Par défaut, le nom du fichier est affiché s'il y a une ligne qui provient d'un fichier avec un nom différent, à cause de la détection des renommages.

note: type: Plain text
en: Show the line number in the original commit (Default: off).
fr: Afficher le numéro de ligne dans le commit original (Défaut : off).

note: type: Plain text
en: Suppress the author name and timestamp from the output.
fr: Supprimer le nom de l'auteur et l'horodatage dans la sortie.

note: type: Plain text
en: Show the author email instead of author name (Default: off).  This can also be controlled via the `blame.showEmail` config option.
fr: Montrer l'email de l'auteur au lieu du nom de l'auteur (Default : off).  Ceci peut aussi être contrôlé par l'option de configuration `blame.showEmail`.

note: type: Plain text
en: Ignore whitespace when comparing the parent's version and the child's to find where the lines came from.
fr: Ignorer les espaces blancs lors de la comparaison de la version du parent et celle de l'enfant pour trouver d'où viennent les lignes.

note: type: Plain text
en: Instead of using the default 7+1 hexadecimal digits as the abbreviated object name, use <m>+1 digits, where <m> is at least <n> but ensures the commit object names are unique.  Note that 1 column is used for a caret to mark the boundary commit.
fr: Au lieu d'utiliser les 7 +1 chiffres hexadécimaux par défaut comme nom d'objet abrégé, utiliser '<m>'+1 chiffres, où '<m>'  est au moins '<n>' mais garantir que les noms d'objet de commit sont uniques. Notez qu'une colonne est utilisée pour un signe d'insertion pour marquer le commit limite.

note: type: Title -
en: THE PORCELAIN FORMAT
fr: LE FORMAT PORCELAINE

note: type: Plain text
en: In this format, each line is output after a header; the header at the minimum has the first line which has:
fr: Dans ce format, chaque ligne est sortie après un en-tête ; l'en-tête au minimum a la première ligne qui a :

note: type: Plain text
en: 40-byte SHA-1 of the commit the line is attributed to;
fr: SHA-1 de 40 octets du commit auquel la ligne est attribuée ;

note: type: Plain text
en: the line number of the line in the original file;
fr: le numéro de la ligne dans le fichier d'origine ;

note: type: Plain text
en: the line number of the line in the final file;
fr: le numéro de la ligne dans le fichier final ;

note: type: Plain text
en: on a line that starts a group of lines from a different commit than the previous one, the number of lines in this group.  On subsequent lines this field is absent.
fr: sur une ligne qui commence un groupe de lignes d'un commit différent du précédent, le nombre de lignes dans ce groupe.  Sur les lignes suivantes, ce champ est absent.

note: type: Plain text
en: This header line is followed by the following information at least once for each commit:
fr: Cette ligne d'en-tête est suivie par les informations suivantes au moins une fois pour chaque commit :

note: type: Plain text
en: the author name ("author"), email ("author-mail"), time ("author-time"), and time zone ("author-tz"); similarly for committer.
fr: le nom de l'auteur ("author"), le courriel ("author-mail"), l'heure ("author-time"), et le fuseau horaire ("author-tz") ; de même pour le validateur.

note: type: Plain text
en: the filename in the commit that the line is attributed to.
fr: le nom du fichier dans le commit auquel la ligne est attribuée.

note: type: Plain text
en: the first line of the commit log message ("summary").
fr: la première ligne du message de validation ("summary").

note: type: Plain text
en: The contents of the actual line is output after the above header, prefixed by a TAB. This is to allow adding more header elements later.
fr: Le contenu de la ligne actuelle est affiché après l'en-tête ci-dessus, préfixé par un TAB. Cela permet d'ajouter ultérieurement d'autres éléments d'en-tête.

note: type: Plain text
en: The porcelain format generally suppresses commit information that has already been seen. For example, two lines that are blamed to the same commit will both be shown, but the details for that commit will be shown only once. This is more efficient, but may require more state be kept by the reader. The `--line-porcelain` option can be used to output full commit information for each line, allowing simpler (but less efficient)  usage like:
fr: 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'une seule fois. C'est plus efficace, mais peut nécessiter que le lecteur  conserve plus d'information en tête. L'option `--line-porcelain` peut être utilisée pour afficher toutes les informations de commit pour chaque ligne, permettant une utilisation plus simple (mais moins efficace) comme :

note: type: Plain text
en: 	# count the number of lines attributed to each author
    	git blame --line-porcelain file |
    	sed -n 's/^author //p' |
    	sort | uniq -c | sort -rn
fr: 	# compter le nombre de lignes attribuées à chaque auteur
    	git blame --line-porcelain file |
    	sed -n 's/^author //p' |
    	sort | uniq -c | sort -rn

note: type: Title -
en: SPECIFYING RANGES
fr: SPÉCIFICATION DE PLAGES

note: type: Plain text
en: Unlike 'git blame' and 'git annotate' in older versions of git, the extent of the annotation can be limited to both line ranges and revision ranges. The `-L` option, which limits annotation to a range of lines, may be specified multiple times.
fr: Contrairement à 'git blame' et 'git annotate' dans les anciennes versions de git, l'étendue de l'annotation peut être limitée à la fois à des plages de lignes et à des plages de révisions. L'option `-L`, qui limite l'annotation à une plage de lignes, peut être spécifiée plusieurs fois.

note: type: Plain text
en: When you are interested in finding the origin for lines 40-60 for file `foo`, you can use the `-L` option like so (they mean the same thing -- both ask for 21 lines starting at line 40):
fr: Lorsque vous souhaitez trouver l'origine des lignes 40-60 du fichier `foo`, vous pouvez utiliser l'option `-L` comme suit (elles signifient la même chose -- toutes deux demandent 21 lignes à partir de la ligne 40) :

note: type: Plain text
en: Also you can use a regular expression to specify the line range:
fr: Vous pouvez également utiliser une expression régulière pour spécifier la plage de lignes :

note: type: Plain text
en: which limits the annotation to the body of the `hello` subroutine.
fr: qui limite l'annotation au corps de la sous-routine `hello`.

note: type: Plain text
en: When you are not interested in changes older than version v2.6.18, or changes older than 3 weeks, you can use revision range specifiers similar to 'git rev-list':
fr: Lorsque vous n'ê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'intervalle de révision similaires à 'git rev-list' :

note: type: Plain text
en: When revision range specifiers are used to limit the annotation, lines that have not changed since the range boundary (either the commit v2.6.18 or the most recent commit that is more than 3 weeks old in the above example) are blamed for that range boundary commit.
fr: Lorsque des spécificateurs de plage de révision sont utilisés pour limiter l'annotation, les lignes qui n'ont pas été modifiées depuis la limite de l'intervalle (soit le commit v2.6.18 ou le commit le plus récent qui date de plus de 3 semaines dans l'exemple ci-dessus) sont blâmées pour ce commit de limite de plage.

note: type: Plain text
en: A particularly useful way is to see if an added file has lines created by copy-and-paste from existing files.  Sometimes this indicates that the developer was being sloppy and did not refactor the code properly.  You can first find the commit that introduced the file with:
fr: 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'a pas refactoré le code correctement.  Vous pouvez d'abord trouver le commit qui a introduit le fichier avec :

note: type: Plain text
en: and then annotate the change between the commit and its parents, using `commit^!` notation:
fr: et ensuite annoter la modification entre le commit et ses parents, en utilisant la notation `commit^!` :

note: type: Title -
en: INCREMENTAL OUTPUT
fr: SORTIE INCRÉMENTALE

note: type: Plain text
en: When called with `--incremental` option, the command outputs the result as it is built.  The output generally will talk about lines touched by more recent commits first (i.e. the lines will be annotated out of order) and is meant to be used by interactive viewers.
fr: Quand elle est appelée avec l'option `--incremental`, la commande affiche le résultat au fur et à mesure qu'il est construit.  La sortie parle généralement des lignes touchées par les commits les plus récents en premier (c'est-à-dire que les lignes seront annotées dans le désordre) et est destinée à être utilisée par des visionneurs interactifs.

note: type: Plain text
en: The output format is similar to the Porcelain format, but it does not contain the actual lines from the file that is being annotated.
fr: Le format de sortie est similaire au format Porcelain, mais il ne contient pas les lignes réelles du fichier qui est annoté.

note: type: Plain text
en: Each blame entry always starts with a line of:
fr: Chaque entrée de blâme commence toujours par une ligne de :

note: type: Plain text
en: <40-byte hex sha1> <sourceline> <resultline> <num_lines>
fr: <40 octets hex sha1> <lignesource> <lignerésultat> <nombre_de_lignes>

note: type: Plain text
en: Line numbers count from 1.
fr: Les numéros de ligne comptent à partir de 1.

note: type: Plain text
en: The first time that a commit shows up in the stream, it has various other information about it printed out with a one-word tag at the beginning of each line describing the extra commit information (author, email, committer, dates, summary, etc.).
fr: La première fois qu'un commit apparaît dans le flux, diverses autres informations le concernant sont affichées avec une balise d'un mot au début de chaque ligne décrivant les informations supplémentaires du commit (auteur, email, validateur, dates, résumé, etc.).

note: type: Plain text
en: Unlike the Porcelain format, the filename information is always given and terminates the entry:
fr: Contrairement au format Porcelaine, l'information sur le nom de fichier est toujours donnée et termine l'entrée :

note: type: Plain text
en: "filename" <whitespace-quoted-filename-goes-here>
fr: "nom de fichier" <nom-de-fichier-avec-espaces-échappés-ici>

note: type: Plain text
en: and thus it is really quite easy to parse for some line- and word-oriented parser (which should be quite natural for most scripting languages).
fr: 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).

note: type: Plain text
en: For people who do parsing: to make it more robust, just ignore any lines between the first and last one ("<sha1>" and "filename" lines)  where you do not recognize the tag words (or care about that particular one) at the beginning of the "extended information" lines. That way, if there is ever added information (like the commit encoding or extended commit commentary), a blame viewer will not care.
fr: Pour les personnes qui font de l'analyse syntaxique : pour la rendre plus robuste, il suffit d'ignorer toutes les lignes entre la première et la dernière (lignes "<sha1>" 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'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'en souciera pas.

note: type: Title -
en: MAPPING AUTHORS
fr: TRANSFORMER LES AUTEURS

note: type: Plain text
en: See linkgit:gitmailmap[5].
fr: Voir linkgit:gitmailmap[5].

note: type: Plain text
en: git-branch - List, create, or delete branches
fr: git-branch - Liste, crée, ou supprime des branches

note: type: Plain text
en: 'git branch' [--color[=<when>] | --no-color] [--show-current]
    	[-v [--abbrev=<n> | --no-abbrev]]
    	[--column[=<options>] | --no-column] [--sort=<key>]
    	[--merged [<commit>]] [--no-merged [<commit>]]
    	[--contains [<commit>]] [--no-contains [<commit>]]
    	[--points-at <object>] [--format=<format>]
    	[(-r | --remotes) | (-a | --all)]
    	[--list] [<pattern>...]
    'git branch' [--track | --no-track] [-f] <branchname> [<start-point>]
    'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
    'git branch' --unset-upstream [<branchname>]
    'git branch' (-m | -M) [<oldbranch>] <newbranch>
    'git branch' (-c | -C) [<oldbranch>] <newbranch>
    'git branch' (-d | -D) [-r] <branchname>...
    'git branch' --edit-description [<branchname>]
fr: 'git branch' [--color[=<when>] | --no-color] [--show-current]
    	[-v [--abbrev=<n> | --no-abbrev]]
    	[--column[=<options>] | --no-column] [--sort=<key>]
    	[--merged [<commit>]] [--no-merged) [<commit>]]
    	[--contains [<commit>]] [--no-contains [<commit>]]
    	[--points-at <objet>] [--format=<format>]
    	[(-r | --remotes) | (-a | --all)]
    	[--list] [<motif>...]
    'git branch' [--track | --no-track] [-f] <nom-de-branche> [<start-point>]
    'git branch' (--set-upstream-to=<amont> | -u <amont>) [<nom-de-branche>]
    'git branch' --unset-upstream [<nom-de-branche>]
    'git branch' (-m | -M) [<anciennebranche>] <nouvellebranche>
    'git branch' (-c | -C) [<anciennebranche>] <nouvellebranche>
    'git branch' (-d | -D) [-r] <nom-de-branche>...
    'git branch' --edit-description [<nom-de-branche>]

note: type: Plain text
en: If `--list` is given, or if there are no non-option arguments, existing branches are listed; the current branch will be highlighted in green and marked with an asterisk.  Any branches checked out in linked worktrees will be highlighted in cyan and marked with a plus sign. Option `-r` causes the remote-tracking branches to be listed, and option `-a` shows both local and remote branches.
fr: Si `--list` est donné, ou s'il n'y a pas d'arguments sans option, les branches existantes sont listées ; la branche actuelle sera surlignée en vert et marquée d'un astérisque. Toutes les branches extraites dans les arbres de travail liés seront mis en évidence en cyan et marqués d'un signe plus. L'option `-r` ajoute la liste des branches de suivi à distance et l'option` -a` affiche les branches locales et distantes.

note: type: Plain text
en: If a `<pattern>` is given, it is used as a shell wildcard to restrict the output to matching branches. If multiple patterns are given, a branch is shown if it matches any of the patterns.
fr: Si un `<motif>` est donné, il est utilisé comme joker du shell pour restreindre la sortie aux branches correspondantes. Si plusieurs motifs sont donnés, une branche est affichée si elle correspond à l'un des motifs.

note: type: Plain text
en: Note that when providing a `<pattern>`, you must use `--list`; otherwise the command may be interpreted as branch creation.
fr: Notez que lorsque vous fournissez un `<motif> `, vous devez utiliser `--list` ; sinon, la commande peut être interprétée comme une création de branche.

note: type: Plain text
en: With `--contains`, shows only the branches that contain the named commit (in other words, the branches whose tip commits are descendants of the named commit), `--no-contains` inverts it. With `--merged`, only branches merged into the named commit (i.e. the branches whose tip commits are reachable from the named commit) will be listed.  With `--no-merged` only branches not merged into the named commit will be listed.  If the <commit> argument is missing it defaults to `HEAD` (i.e. the tip of the current branch).
fr: Avec `--contains`, montrer seulement les branches qui contiennent le commit indiqué (en d'autres termes, les branches dont les commits sommets sont des descendants du commit indiqué), avec `--no-contains` inverser. Avec `--merged`, seules les branches fusionnées dans le commit indiqué (c'est-à-dire les branches dont les commits sommets sont accessibles depuis le commit indiqué) seront listées.  Avec `--no-merged`, seules les branches non fusionnées dans le commit indiqué seront listées.  Si l'argument <commit> est manquant, il prend par défaut la valeur "HEAD" (c'est-à-dire le sommet de la branche courante).

note: type: Plain text
en: The command's second form creates a new branch head named <branchname> which points to the current `HEAD`, or <start-point> if given. As a special case, for <start-point>, you may use `"A...B"` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.
fr: La deuxième forme de la commande crée une nouvelle tête de branche nommée <nom-de-branche> qui pointe vers la `HEAD` actuelle, ou <point-de-départ> si elle est fournie. Dans un cas particulier, pour le <point-de-départ>, vous pouvez utiliser `"A...B"` comme raccourci pour la base de fusion de `A` et `B` s'il y a exactement une base de fusion. Vous pouvez omettre tout au plus un des `A` et `B`, auquel cas il s'agit par défaut de `HEAD`.

note: type: Plain text
en: Note that this will create the new branch, but it will not switch the working tree to it; use "git switch <newbranch>" to switch to the new branch.
fr: Notez que cela créera la nouvelle branche, mais ne fera pas passer l'arbre de travail sur celle-ci ; utilisez "git switch <nouvelle-branche>" pour passer sur la nouvelle branche.

note: type: Plain text
en: When a local branch is started off a remote-tracking branch, Git sets up the branch (specifically the `branch.<name>.remote` and `branch.<name>.merge` configuration entries) so that 'git pull' will appropriately merge from the remote-tracking branch. This behavior may be changed via the global `branch.autoSetupMerge` configuration flag. That setting can be overridden by using the `--track` and `--no-track` options, and changed later using `git branch --set-upstream-to`.
fr: Lorsqu'une branche locale est démarrée à partir d'une branche de suivi à distance, Git configure la branche (plus précisément les entrées de configuration `branch.<nom>.remote` et `branch.<nom>.merge`) de façon à ce que 'git pull' fusionne correctement avec la branche de suivi à distance. Ce comportement peut être modifié via le drapeau de configuration global `branch.autoSetupMerge`. Ce paramètre peut être modifié en utilisant les options `---track` et `--no-track`, et changé plus tard en utilisant `git branch --set-upstream-to`.

note: type: Plain text
en: With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>.  If <oldbranch> had a corresponding reflog, it is renamed to match <newbranch>, and a reflog entry is created to remember the branch renaming. If <newbranch> exists, -M must be used to force the rename to happen.
fr: Avec une option `-m` ou `-M`, <ancienne-branche> sera renommée en <nouvelle-branche>.  Si <ancienne-branche> avait un reflog correspondant, il est renommé pour correspondre à <nouvelle-branche>, et une entrée de reflog est créée pour se souvenir du renommage de la branche. Si <nouvelle-branche> existe déjà, -M doit être utilisé pour forcer le changement de nom.

note: type: Plain text
en: The `-c` and `-C` options have the exact same semantics as `-m` and `-M`, except instead of the branch being renamed, it will be copied to a new name, along with its config and reflog.
fr: Les options `-c` et `-C` ont exactement la même sémantique que `-m` et `-M`, sauf qu'au lieu de renommer la branche,elle sera copiée sous un nouveau nom avec sa configuration et son reflog.

note: type: Plain text
en: With a `-d` or `-D` option, `<branchname>` will be deleted.  You may specify more than one branch for deletion.  If the branch currently has a reflog then the reflog will also be deleted.
fr: Avec une option `-d` ou `-D`, `<branchname>` sera supprimé. Vous pouvez spécifier plus d'une branche pour la suppression. Si la branche a actuellement un reflog, alors le reflog sera aussi supprimé.

note: type: Plain text
en: Use `-r` together with `-d` to delete remote-tracking branches. Note, that it only makes sense to delete remote-tracking branches if they no longer exist in the remote repository or if 'git fetch' was configured not to fetch them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a way to clean up all obsolete remote-tracking branches.
fr: Utilisez `-r` avec `-d` pour supprimer les branches de suivi à distance. Notez qu'il est logique de supprimer les branches de suivi à distance uniquement si elles n'existent plus dans le dépôt distant ou si "git fetch" a été configuré pour ne pas les récupérer à nouveau. Voir aussi la sous-commande « prune » de linkgit:git-remote[1] pour une méthode de nettoyage toutes les branches obsolètes de suivi à distance.

note: type: Plain text
en: Delete a branch. The branch must be fully merged in its upstream branch, or in `HEAD` if no upstream was set with `--track` or `--set-upstream-to`.
fr: Supprimer une branche. La branche doit être entièrement fusionnée dans sa branche amont, ou dans `HEAD` si aucune branche amont n'a été fixée avec `--track` ou `--set-upstream-to`.

note: type: Plain text
en: Shortcut for `--delete --force`.
fr: Raccourci pour `--delete --force`.

note: type: Plain text
en: Create the branch's reflog.  This activates recording of all changes made to the branch ref, enabling use of date based sha1 expressions such as "<branchname>@\{yesterday}".  Note that in non-bare repositories, reflogs are usually enabled by default by the `core.logAllRefUpdates` config option.  The negated form `--no-create-reflog` only overrides an earlier `--create-reflog`, but currently does not negate the setting of `core.logAllRefUpdates`.
fr: Créer le reflog de la branche.  Cela active l'enregistrement de toutes les modifications apportées à la branche ref, permettant l'utilisation d'expressions sha1 basées sur la date telles que "<nom-de-branche>@\{yesterday}".  Notez que dans les dépôts non-nus, les reflogs sont généralement activés par défaut par l'option de configuration `core.logAllRefUpdates`.  La forme négative `--no-create-reflog` ne fait que remplacer un `--create-reflog` précédent, mais n'annule pas actuellement le paramètre `core.logAllRefUpdates`.

note: type: Plain text
en: Reset <branchname> to <startpoint>, even if <branchname> exists already. Without `-f`, 'git branch' refuses to change an existing branch.  In combination with `-d` (or `--delete`), allow deleting the branch irrespective of its merged status. In combination with `-m` (or `--move`), allow renaming the branch even if the new branch name already exists, the same applies for `-c` (or `--copy`).
fr: Réinitialiser <branche> à <point de départ>, même si <branche> existe déjà. Sans `-f`, "git branch" refuse de changer une branche existante.  En combinaison avec `-d` (ou `--delete`), permettre la suppression de la branche indépendamment de son statut de fusion. En combinaison avec `-m` (ou `--move`), il est possible de renommer la branche même si le nouveau nom de la branche existe déjà, il en va de même pour `-c` (ou `--copy`).

note: type: Plain text
en: Move/rename a branch and the corresponding reflog.
fr: Déplacer/renommer une branche et le reflog correspondant.

note: type: Plain text
en: Shortcut for `--move --force`.
fr: Raccourci pour `--move-force`.

note: type: Plain text
en: Copy a branch and the corresponding reflog.
fr: Copier une branche et le reflog correspondant.

note: type: Plain text
en: Shortcut for `--copy --force`.
fr: Raccourci pour `--copy-force`.

note: type: Plain text
en: Color branches to highlight current, local, and remote-tracking branches.  The value must be always (the default), never, or auto.
fr: Colorier les branches pour mettre en évidence les branches actuelles, locales et de suivi à distance.  La valeur doit être « always » (c-à-d toujours) (valeur par défaut), « never » (c-à-d jamais) ou « auto ».

note: type: Plain text
en: Turn off branch colors, even when the configuration file gives the default to color output.  Same as `--color=never`.
fr: Désactiver les couleurs des branches, même lorsque le fichier de configuration donne la sortie en couleur par défaut.  Même chose que `--color=never`.

note: type: Plain text
en: Sorting and filtering branches are case insensitive.
fr: Le tri et le filtrage de branches sont non-sensibles à la casse.

note: type: Plain text
en: Display branch listing in columns. See configuration variable `column.branch` for option syntax. `--column` and `--no-column` without options are equivalent to 'always' and 'never' respectively.
fr: Afficher la liste des branches en colonnes. Voir la variable de configuration `column.branch` pour la syntaxe des options.`-- column` et `--no-column` sans options équivalent respectivement à 'always' et 'never'.

note: type: Plain text
en: This option is only applicable in non-verbose mode.
fr: Cette option ne s’applique qu’en mode non verbeux.

note: type: Plain text
en: List or delete (if used with -d) the remote-tracking branches.  Combine with `--list` to match the optional pattern(s).
fr: Énumérer ou supprimer (si utilisé avec -d) les branches de suivi à distance.  Combiner avec `-list` pour faire correspondre le(s) motif(s) optionnel(s).

note: type: Plain text
en: List both remote-tracking branches and local branches.  Combine with `--list` to match optional pattern(s).
fr: Afficher à la fois les branches de suivi et les branches locales. Combiner avec `--list` pour faire correspondre un ou des motifs optionnels.

note: type: Plain text
en: List branches.  With optional `<pattern>...`, e.g. `git branch --list 'maint-*'`, list only the branches that match the pattern(s).
fr: Listes les branches.  Avec l'option `<pattern>...`, par exemple `git branch --list 'maint-*'`, ne lister que les branches qui correspondent au(x) motif(s).

note: type: Plain text
en: Print the name of the current branch. In detached HEAD state, nothing is printed.
fr: Afficher le nom de la branche actuelle. En état de HEAD détachée, rien n'est affiché.

note: type: Plain text
en: When in list mode, show sha1 and commit subject line for each head, along with relationship to upstream branch (if any). If given twice, print the path of the linked worktree (if any) and the name of the upstream branch, as well (see also `git remote show <remote>`).  Note that the current worktree's HEAD will not have its path printed (it will always be your current directory).
fr: En mode liste, afficher le sha1 et valider le sujet pour chaque tête, ainsi que la relation avec la branche amont (le cas échéant). S'il est donné deux fois, imprimer le chemin de l'arbre de travail lié (le cas échéant) ainsi que le nom de la branche amont (voir aussi `git remote show <remote>`).  Notez que la HEAD de l'arbre de travail actuel n'aura pas son chemin d'accès affiché (il s'agira toujours de votre répertoire actuel).

note: type: Plain text
en: Be more quiet when creating or deleting a branch, suppressing non-error messages.
fr: Être plus discret lors de la création ou la destruction d'une branche, en supprimant les messages qui ne sont pas des erreurs.

note: type: Plain text
en: In the verbose listing that show the commit object name, show the shortest prefix that is at least '<n>' hexdigits long that uniquely refers the object.  The default value is 7 and can be overridden by the `core.abbrev` config option.
fr: Dans la liste détaillée qui indique le nom de l'objet commit, indiquer le préfixe le plus court d'au moins '<n>' chiffres hexadécimaux, qui renvoie de manière unique à l'objet.  La valeur par défaut est 7 et peut être remplacée par l'option de configuration `core.abbrev`.

note: type: Plain text
en: Display the full sha1s in the output listing rather than abbreviating them.
fr: Afficher les sha1s complets dans la liste des résultats plutôt que de les abréger.

note: type: Plain text
en: When creating a new branch, set up `branch.<name>.remote` and `branch.<name>.merge` configuration entries to mark the start-point branch as "upstream" from the new branch. This configuration will tell git to show the relationship between the two branches in `git status` and `git branch -v`. Furthermore, it directs `git pull` without arguments to pull from the upstream when the new branch is checked out.
fr: Lors de la création d'une nouvelle branche, configurer les entrées de configuration `branch.<nom>.remote` et `branch.<nom>.merge` pour marquer la branche de départ comme étant "en amont" de la nouvelle branche. Cette configuration indiquera à git de montrer la relation entre les deux branches dans "git status" et "git branch -v". En outre, il règle `git pull` sans arguments de tirer depuis l'amont lorsque la nouvelle branche est extraite.

note: type: Plain text
en: This behavior is the default when the start point is a remote-tracking branch.  Set the branch.autoSetupMerge configuration variable to `false` if you want `git switch`, `git checkout` and `git branch` to always behave as if `--no-track` were given. Set it to `always` if you want this behavior when the start-point is either a local or remote-tracking branch.
fr: Ce comportement est le défaut lorsque le point de départ est une branche de suivi à distance.  Définissez la variable de configuration branch.autoSetupMerge à `false` si vous voulez `git switch`, `git checkout` et `git branch` pour toujours se comporter comme si `--no-track` a été donné. Réglez-le `always` si vous voulez ce comportement lorsque le point de départ est soit une branche locale ou de suivi à distance.

note: type: Plain text
en: Do not set up "upstream" configuration, even if the branch.autoSetupMerge configuration variable is true.
fr: Ne pas renseigner la configuration « amont », même si la configuration branch.autoSetupMerge est true.

note: type: Plain text
en: As this option had confusing syntax, it is no longer supported.  Please use `--track` or `--set-upstream-to` instead.
fr: Comme cette option avait une syntaxe confuse, elle n'est plus supportée.  Veuillez utiliser `--track` ou `--set-upstream-to` à la place.

note: type: Labeled list
en: -u <upstream>
fr: -u <amont>

note: type: Labeled list
en: --set-upstream-to=<upstream>
fr: --set-upstream-to=<amont>

note: type: Plain text
en: Set up <branchname>'s tracking information so <upstream> is considered <branchname>'s upstream branch. If no <branchname> is specified, then it defaults to the current branch.
fr: Configurer les informations de suivi de <nome-de-branche> pour que <amont> soit considéré comme la branche amont de <nome-de-branche>. Si aucun <nom-de-branche> n'est spécifié, alors la branche actuelle est utilisée par défaut.

note: type: Plain text
en: Remove the upstream information for <branchname>. If no branch is specified it defaults to the current branch.
fr: Supprimer les informations en amont pour <nom-de-branche>. Si aucune branche n'est spécifiée, la branche actuelle est utilisée par défaut.

note: type: Plain text
en: Open an editor and edit the text to explain what the branch is for, to be used by various other commands (e.g. `format-patch`, `request-pull`, and `merge` (if enabled)). Multi-line explanations may be used.
fr: Ouvrir un éditeur et éditer le texte pour expliquer à quoi sert la branche, qui sera utilisée par diverses autres commandes (par exemple `format-patch`, `pull-request` et `merge` (si activé)). Des explications sur plusieurs lignes peuvent être utilisées.

note: type: Plain text
en: Only list branches which contain the specified commit (HEAD if not specified). Implies `--list`.
fr: N'indiquer que les branches qui contiennent le commit spécifié (HEAD si non spécifié). Implique `--list`.

note: type: Plain text
en: Only list branches which don't contain the specified commit (HEAD if not specified). Implies `--list`.
fr: N'indiquer que les branches qui contiennent le commit spécifié (HEAD si non spécifié). Implique `--list`.

note: type: Plain text
en: Only list branches whose tips are reachable from the specified commit (HEAD if not specified). Implies `--list`.
fr: N'indiquer que les branches dont les sommets sont accessibles depuis le commit spécifié (HEAD si non spécifié). Implique `--list`.

note: type: Plain text
en: Only list branches whose tips are not reachable from the specified commit (HEAD if not specified). Implies `--list`.
fr: N'indiquer que les branches dont les sommets sont accessibles depuis le commit spécifié (HEAD si non spécifié). Implique `--list`.

note: type: Labeled list
en: <branchname>
fr: <nom-de-branche>

note: type: Plain text
en: The name of the branch to create or delete.  The new branch name must pass all checks defined by linkgit:git-check-ref-format[1].  Some of these checks may restrict the characters allowed in a branch name.
fr: Le nom de la branche à créer ou à supprimer.  Le nouveau nom de la branche doit passer tous les contrôles définis par linkgit:git-check-ref-format[1].  Certains de ces contrôles peuvent restreindre les caractères autorisés dans un nom de branche.

note: type: Labeled list
en: <start-point>
fr: <point_de_départ>

note: type: Plain text
en: The new branch head will point to this commit.  It may be given as a branch name, a commit-id, or a tag.  If this option is omitted, the current HEAD will be used instead.
fr: La nouvelle tête de branche pointera sur ce commit.  Il peut être donné sous la forme d'un nom de branche, d'un id de commit ou d'une étiquette.  Si cette option est omise, la HEAD actuelle sera utilisée à la place.

note: type: Labeled list
en: <oldbranch>
fr: <anciennebranche>

note: type: Plain text
en: The name of an existing branch to rename.
fr: Nom d'une branche existante à renommer.

note: type: Labeled list
en: <newbranch>
fr: <nouvelle_branche>

note: type: Plain text
en: The new name for an existing branch. The same restrictions as for <branchname> apply.
fr: Le nouveau nom d'une branche existante. Les mêmes restrictions que pour <nom-de-branche> s'appliquent.

note: type: Labeled list
en: --sort=<key>
fr: --sort=<clé>

note: type: Plain text
en: Sort based on the key given. Prefix `-` to sort in descending order of the value. You may use the --sort=<key> option multiple times, in which case the last key becomes the primary key. The keys supported are the same as those in `git for-each-ref`. Sort order defaults to the value configured for the `branch.sort` variable if exists, or to sorting based on the full refname (including `refs/...` prefix). This lists detached HEAD (if present) first, then local branches and finally remote-tracking branches. See linkgit:git-config[1].
fr: Trier en fonction de la clé donnée. Préfixer par `-` pour trier par ordre décroissant de la valeur. Vous pouvez utiliser l'option --sort=<clé> plusieurs fois, auquel cas la dernière clé devient la clé primaire. Les clés supportées sont les mêmes que celles de `git for-each-ref`. L'ordre de tri est par défaut la valeur configurée pour la variable `branch.sort` si elle existe, ou le tri basé sur le nom de référence complet (y compris le préfixe `refs/...`). Cela liste d'abord les HEAD détachées (si présentes), puis les branches locales et enfin les branches de suivi à distance. Voir linkgit:git-config[1].

note: type: Labeled list
en: --points-at <object>
fr: --points-at <objet>

note: type: Plain text
en: Only list branches of the given object.
fr: N'indiquer que les branches de l'objet donné.

note: type: Plain text
en: A string that interpolates `%(fieldname)` from a branch ref being shown and the object it points at.  The format is the same as that of linkgit:git-for-each-ref[1].
fr: Une chaîne qui interpole `%(fieldame)` à partir d’une référence de branche montrée et l’objet vers lequel elle pointe.  Le format est le même que celui de linkgit:git-for-each-ref[1].

note: type: Plain text
en: `pager.branch` is only respected when listing branches, i.e., when `--list` is used or implied. The default is to use a pager.  See linkgit:git-config[1].
fr: Le terme `pager.branch` n'est respecté que lorsqu'il s'agit d'énumérer des branches, c'est-à-dire lorsque `--list` est utilisé ou sous-entendu. La valeur par défaut est d'utiliser un pager.  Voir linkgit:git-config[1].

note: type: Labeled list
en: Start development from a known tag
fr: Démarrer le développement à partir d'une étiquette connue

note: type: Plain text
en: This step and the next one could be combined into a single step with "checkout -b my2.6.14 v2.6.14".
fr: Cette étape et la suivante pourraient être combinées en une seule étape avec "checkout -b my2.6.14 v2.6.14".

note: type: Labeled list
en: Delete an unneeded branch
fr: Supprimer une branche inutile

note: type: Plain text
en: Delete the remote-tracking branches "todo", "html" and "man". The next 'fetch' or 'pull' will create them again unless you configure them not to.  See linkgit:git-fetch[1].
fr: Supprimer les branches de suivi à distance "todo", "html" et "man". La prochaine opération de récupération ou de tirage les créera à nouveau, à moins que vous ne les configuriez autrement.  Voir linkgit:git-fetch[1].

note: type: Plain text
en: Delete the "test" branch even if the "master" branch (or whichever branch is currently checked out) does not have all commits from the test branch.
fr: Supprimer la branche "test" même si la branche "master" (ou n'importe quelle branche actuellement extraite) n'a pas tous les commits de la branche test.

note: type: Labeled list
en: Listing branches from a specific remote
fr: Lister les branches d'un distant spécifique

note: type: delimited block -
en: $ git branch -r -l '<remote>/<pattern>'                 <1>
    $ git for-each-ref 'refs/remotes/<remote>/<pattern>'    <2>
fr: $ git branch -r -l '<distant>/<motif>'                 <1>
    $ git for-each-ref 'refs/remotes/<distant>/<motif>'    <2>

note: type: Plain text
en: Using `-a` would conflate <remote> with any local branches you happen to have been prefixed with the same <remote> pattern.
fr: L'utilisation de `-a` associerait <distant> avec toutes les branches locales dont le préfixe est le même que celui de <distant>.

note: type: Plain text
en: `for-each-ref` can take a wide range of options. See linkgit:git-for-each-ref[1]
fr: `for-each-ref` accepte un large éventail d'options. Voir linkgit:git-for-each-ref[1]

note: type: Plain text
en: Patterns will normally need quoting.
fr: Les motifs devront normalement être cités.

note: type: Plain text
en: If you are creating a branch that you want to switch to immediately, it is easier to use the "git switch" command with its `-c` option to do the same thing with a single command.
fr: Si vous créez une branche sur laquelle vous voulez passer immédiatement, il est plus facile d'utiliser la commande "git switch" avec son option `-c` pour faire la même chose avec une seule commande.

note: type: Plain text
en: The options `--contains`, `--no-contains`, `--merged` and `--no-merged` serve four related but different purposes:
fr: Les options `--contains`, `--no-contains`, `--merged` et `--no-merged` servent quatre objectifs connexes mais différents :

note: type: Plain text
en: `--contains <commit>` is used to find all branches which will need special attention if <commit> were to be rebased or amended, since those branches contain the specified <commit>.
fr: `--contains <commit>` est utilisé pour trouver toutes les branches qui devront faire l'objet d'une attention particulière si <commit> devait être rebasé ou modifié, puisque ces branches contiennent le <commit> spécifié.

note: type: Plain text
en: `--no-contains <commit>` is the inverse of that, i.e. branches that don't contain the specified <commit>.
fr: `--no-contains <commit>` est l'inverse de cela, c'est-à-dire les branches qui ne contiennent pas le <commit> spécifié.

note: type: Plain text
en: `--merged` is used to find all branches which can be safely deleted, since those branches are fully contained by HEAD.
fr: `--merged` est utilisé pour trouver toutes les branches qui peuvent être supprimées en toute sécurité, puisque ces branches sont entièrement contenues par HEAD.

note: type: Plain text
en: `--no-merged` is used to find branches which are candidates for merging into HEAD, since those branches are not fully contained by HEAD.
fr: `--no-merged` est utilisé pour trouver les branches qui sont candidates à la fusion avec HEAD, puisque ces branches ne sont pas entièrement contenues par HEAD.

note: type: Plain text
en: linkgit:git-check-ref-format[1], linkgit:git-fetch[1], linkgit:git-remote[1], link:user-manual.html#what-is-a-branch[``Understanding history: What is a branch?''] in the Git User's Manual.
fr: linkgit:git-check-ref-format[1], linkgit:git-fetch[1], linkgit:git-remote[1], link:user-manual.html#what-is-a-branch [``Comprendre l'historique : Qu'est-ce qu'une branche ?''] dans le manuel d'utilisateur Git.

note: type: Plain text
en: git-bugreport - Collect information for user to file a bug report
fr: git-bugreport - Collecte les informations permettant à l'utilisateur de déposer un rapport de bogue

note: type: Plain text
en: 'git bugreport' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
fr: 'git bugreport' [(-o | --output-directory) <chemin>] [(-s | --suffix) <format>]

note: type: Plain text
en: Captures information about the user's machine, Git client, and repository state, as well as a form requesting information about the behavior the user observed, into a single text file which the user can then share, for example to the Git mailing list, in order to report an observed bug.
fr: Capture les informations sur la machine de l'utilisateur, le client Git et l'état du dépôt, ainsi qu'un formulaire demandant des informations sur le comportement observé par l'utilisateur, dans un seul fichier texte que l'utilisateur peut ensuite partager, par exemple sur la liste de diffusion Git, afin de signaler un bogue observé.

note: type: Plain text
en: The following information is requested from the user:
fr: Les informations suivantes sont demandées à l'utilisateur :

note: type: Plain text
en: Reproduction steps
fr: Étapes de reproduction

note: type: Plain text
en: Expected behavior
fr: Comportement attendu

note: type: Plain text
en: Actual behavior
fr: Comportement réel

note: type: Plain text
en: The following information is captured automatically:
fr: Les informations suivantes sont capturées automatiquement :

note: type: Plain text
en: uname sysname, release, version, and machine strings
fr: uname sysname, release, version, et chaînes de machine

note: type: Plain text
en: Compiler-specific info string
fr: Chaîne d'information spécifique au compilateur

note: type: Plain text
en: A list of enabled hooks
fr: Une liste de crochets activés

note: type: Plain text
en: This tool is invoked via the typical Git setup process, which means that in some cases, it might not be able to launch - for example, if a relevant config file is unreadable. In this kind of scenario, it may be helpful to manually gather the kind of information listed above when manually asking for help.
fr: Cet outil est invoqué via le processus de configuration typique de Git, ce qui signifie que dans certains cas, il peut ne pas être capable de se lancer - par exemple, si un fichier de configuration pertinent est illisible. Dans ce genre de scénario, il peut être utile de recueillir manuellement le type d'informations énumérées ci-dessus lors d'une demande d'aide manuelle.

note: type: Labeled list
en: -o <path>
fr: -o <chemin>

note: type: Labeled list
en: --output-directory <path>
fr: --output-directory <chemin>

note: type: Plain text
en: Place the resulting bug report file in `<path>` instead of the root of the Git repository.
fr: Placer le fichier de rapport de bogue résultant dans `<chemin>` au lieu de la racine du dépôt Git.

note: type: Plain text
en: Specify an alternate suffix for the bugreport name, to create a file named 'git-bugreport-<formatted suffix>'. This should take the form of a strftime(3) format string; the current local time will be used.
fr: Spécifier un suffixe alternatif pour le nom du rapport de bogue, afin de créer un fichier nommé 'git-bugreport-<suffixe formaté>'. Il doit prendre la forme d'une chaîne au format strftime(3) ; l'heure locale actuelle sera utilisée.

note: type: Plain text
en: git-bundle - Move objects and refs by archive
fr: git-bundle - Déplace les objets et les références par archive

note: type: Plain text
en: 'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied]
    		    [--version=<version>] <file> <git-rev-list-args>
    'git bundle' verify [-q | --quiet] <file>
    'git bundle' list-heads <file> [<refname>...]
    'git bundle' unbundle <file> [<refname>...]
fr: 'git bundle' create [-q | --quiet | --progress | --all-progress] [--all-progress-implied]
    		    [--version=<version>] <fichier> <arguments-git-rev-list>
    'git bundle' verify [-q | --quiet] <fichier>
    'git bundle' list-heads <fichier> [<nom-de-ref>...]
    'git bundle' unbundle <fichier> [<nom-de-ref>...]

note: type: Plain text
en: Some workflows require that one or more branches of development on one machine be replicated on another machine, but the two machines cannot be directly connected, and therefore the interactive Git protocols (git, ssh, http) cannot be used.
fr: Certains flux de travail exigent qu'une ou plusieurs branches de développement sur une machine soient répliquées sur une autre machine, mais les deux machines ne peuvent pas être connectées directement, et donc les protocoles interactifs de Git (git, ssh, http) ne peuvent pas être utilisés.

note: type: Plain text
en: The 'git bundle' command packages objects and references in an archive at the originating machine, which can then be imported into another repository using 'git fetch', 'git pull', or 'git clone', after moving the archive by some means (e.g., by sneakernet).
fr: La commande 'git bundle' regroupe les objets et les références dans une archive sur la machine d'origine, qui peut ensuite être importée dans un autre dépôt en utilisant 'git fetch', 'git pull' ou 'git clone', après avoir déplacé l'archive par un moyen quelconque (par exemple, par sneakernet).

note: type: Plain text
en: As no direct connection between the repositories exists, the user must specify a basis for the bundle that is held by the destination repository: the bundle assumes that all objects in the basis are already in the destination repository.
fr: Comme il n'existe pas de connexion directe entre les dépôts, l'utilisateur doit spécifier une base pour le regroupement qui est détenue par le dépôt de destination : le regroupement suppose que tous les objets de la base sont déjà dans le dépôt de destination.

note: type: Labeled list
en: create [options] <file> <git-rev-list-args>
fr: create [options] <fichier> <git-rev-list-args>

note: type: Plain text
en: Used to create a bundle named 'file'.  This requires the '<git-rev-list-args>' arguments to define the bundle contents.  'options' contains the options specific to the 'git bundle create' subcommand.
fr: Utilisé pour créer un regroupement nommé 'fichier'.  Cela nécessite les arguments '<arguments-git-rev-list>' pour définir le contenu du regroupement.  options' contient les options spécifiques à la sous-commande 'git bundle create'.

note: type: Labeled list
en: verify <file>
fr: verify <fichier>

note: type: Plain text
en: Used to check that a bundle file is valid and will apply cleanly to the current repository.  This includes checks on the bundle format itself as well as checking that the prerequisite commits exist and are fully linked in the current repository.  'git bundle' prints a list of missing commits, if any, and exits with a non-zero status.
fr: Utilisé pour vérifier qu'un fichier regroupement est valide et s'appliquera proprement au dépôt actuel.  Cela inclut des vérifications sur le format du regroupement lui-même ainsi que la vérification que les commits pré-requis existent et sont complètement liés dans le dépôt actuel.  'git bundle' affiche une liste des commits manquants, s'il y en a, et sort avec un statut non nul.

note: type: Labeled list
en: list-heads <file>
fr: list-heads <fichier>

note: type: Plain text
en: Lists the references defined in the bundle.  If followed by a list of references, only references matching those given are printed out.
fr: Liste les références définies dans le regroupement.  Si elle est suivie d'une liste de références, seules les références correspondant à celles données sont imprimées.

note: type: Labeled list
en: unbundle <file>
fr: unbundle <fichier>

note: type: Plain text
en: Passes the objects in the bundle to 'git index-pack' for storage in the repository, then prints the names of all defined references. If a list of references is given, only references matching those in the list are printed. This command is really plumbing, intended to be called only by 'git fetch'.
fr: Passe les objets du groupement à 'git index-pack' pour qu'ils soient stockés dans le dépôt, puis affiche les noms de toutes les références définies. Si une liste de références est donnée, seules les références correspondant à celles de la liste sont imprimées. Cette commande est vraiment de plomberie et n'est définie que pour être appelée par 'git fetch'.

note: type: Plain text
en: A list of arguments, acceptable to 'git rev-parse' and 'git rev-list' (and containing a named ref, see SPECIFYING REFERENCES below), that specifies the specific objects and references to transport.  For example, `master~10..master` causes the current master reference to be packaged along with all objects added since its 10th ancestor commit.  There is no explicit limit to the number of references and objects that may be packaged.
fr: Une liste d'arguments, acceptable pour 'git rev-parse' et 'git rev-list' (et contenant une référence nommée, voir SPECIFICATION DES REFERENCES ci-dessous), qui spécifie les objets et références spécifiques à transporter.  Par exemple, `master~10..master` fait en sorte que la référence master actuelle soit regroupée avec tous les objets ajoutés depuis le dixième commit de son ancêtre.  Il n'y a pas de limite explicite au nombre de références et d'objets qui peuvent être regroupés.

note: type: Labeled list
en: [<refname>...]
fr: [<nom-de-réf>...]

note: type: Plain text
en: A list of references used to limit the references reported as available. This is principally of use to 'git fetch', which expects to receive only those references asked for and not necessarily everything in the pack (in this case, 'git bundle' acts like 'git fetch-pack').
fr: Une liste de références utilisée pour limiter les références signalées comme disponibles. Ceci est principalement utile à 'git fetch', qui s'attend à ne recevoir que les références demandées et pas nécessairement tout le contenu du pack (dans ce cas, 'git bundle' agit comme 'git fetch-pack').

note: type: Plain text
en: When --stdout is specified then progress report is displayed during the object count and compression phases but inhibited during the write-out phase. The reason is that in some cases the output stream is directly linked to another command which may wish to display progress status of its own as it processes incoming pack data.  This flag is like --progress except that it forces progress report for the write-out phase as well even if --stdout is used.
fr: Lorsque --stdout est spécifié, le rapport de progression est affiché pendant les phases de comptage d'objets et de compression, mais il est inhibé pendant la phase d'écriture. La raison en est que dans certains cas, le flux de sortie est directement lié à une autre commande qui peut souhaiter afficher son propre état d'avancement pendant qu'elle traite les données du paquet entrant.  Ce drapeau est comme --progress sauf qu'il force le rapport de progression pour la phase d'écriture même si --stdout est utilisé.

note: type: Plain text
en: This is used to imply --all-progress whenever progress display is activated.  Unlike --all-progress this flag doesn't actually force any progress display by itself.
fr: C'est utilisé pour impliquer --all-progress lorsque l'affichage de la progression est activé.  Contrairement à --all-progress, ce drapeau ne force pas l'affichage de la progression par lui-même.

note: type: Labeled list
en: --version=<version>
fr: --version[=<version>]

note: type: Plain text
en: Specify the bundle version.  Version 2 is the older format and can only be used with SHA-1 repositories; the newer version 3 contains capabilities that permit extensions. The default is the oldest supported format, based on the hash algorithm in use.
fr: Spécifier la version du regroupement.  La version 2 est l'ancien format et ne peut être utilisée qu'avec les dépôts SHA-1 ; la version 3, plus récente, contient des capacités qui permettent des extensions. La valeur par défaut est le plus ancien format pris en charge, en fonction de l'algorithme de hachage utilisé.

note: type: Plain text
en: This flag makes the command not to report its progress on the standard error stream.
fr: Ce drapeau permet à la commande de ne pas signaler sa progression sur le flux d'erreur standard.

note: type: Title -
en: SPECIFYING REFERENCES
fr: SPÉCIFICATION DES RÉFÉRENCES

note: type: Plain text
en: 'git bundle' will only package references that are shown by 'git show-ref': this includes heads, tags, and remote heads.  References such as `master~1` cannot be packaged, but are perfectly suitable for defining the basis.  More than one reference may be packaged, and more than one basis can be specified.  The objects packaged are those not contained in the union of the given bases.  Each basis can be specified explicitly (e.g. `^master~10`), or implicitly (e.g.  `master~10..master`, `--since=10.days.ago master`).
fr: 'git bundle' empaquettera seulement les références qui sont montrées par 'git show-ref' : cela inclut les têtes, les étiquettes et les têtes distantes.  Des références telles que `master~1` ne peuvent pas être empaquetées, mais sont parfaitement adaptées pour définir la base.  Plus d'une référence peut être empaquetée, et plus d'une base peut être spécifiée.  Les objets empaquetés sont ceux qui ne sont pas contenus dans l'union des bases données.  Chaque base peut être spécifiée explicitement (par exemple `^master~10`), ou implicitement (par exemple `master~10..master`, `--since=10.days.ago master`).

note: type: Plain text
en: It is very important that the basis used be held by the destination.  It is okay to err on the side of caution, causing the bundle file to contain objects already in the destination, as these are ignored when unpacking at the destination.
fr: Il est très important que la base utilisée soit détenue par la destination.  Il n'y a pas de problème à être prudent et faire en sorte que le fichier regroupement contienne des objets déjà présents dans la destination, car ceux-ci sont ignorés lors du déballage à la destination.

note: type: Plain text
en: `git clone` can use any bundle created without negative refspecs (e.g., `new`, but not `old..new`).  If you want to match `git clone --mirror`, which would include your refs such as `refs/remotes/*`, use `--all`.  If you want to provide the same set of refs that a clone directly from the source repository would get, use `--branches --tags` for the `<git-rev-list-args>`.
fr: `git clone` peut utiliser tout paquet créé sans refspecs négatifs (par exemple, `nouveau`, mais pas `ancien..nouveau`).  Si vous voulez imiter `git clone --mirror`, qui inclurait vos refs comme `refs/remotes/*`, utilisez `--all`.  Si vous voulez fournir le même ensemble de références qu'un clone directement depuis le dépôt source, utilisez `--branches --tags` pour les `<arguments-git-rev-list>`.

note: type: Plain text
en: Assume you want to transfer the history from a repository R1 on machine A to another repository R2 on machine B.  For whatever reason, direct connection between A and B is not allowed, but we can move data from A to B via some mechanism (CD, email, etc.).  We want to update R2 with development made on the branch master in R1.
fr: Supposons que vous vouliez transférer l'historique d'un dépôt R1 sur la machine A vers un autre dépôt R2 sur la machine B. Pour une raison quelconque, la connexion directe entre A et B n'est pas autorisée, mais nous pouvons déplacer les données de A à B via un mécanisme quelconque (CD, email, etc.).  Nous voulons mettre à jour R2 avec le développement fait sur la branche master dans R1.

note: type: Plain text
en: To bootstrap the process, you can first create a bundle that does not have any basis. You can use a tag to remember up to what commit you last processed, in order to make it easy to later update the other repository with an incremental bundle:
fr: Pour amorcer le processus, vous pouvez d'abord créer un paquet qui n'a pas de base. Vous pouvez utiliser une étiquette pour vous rappeler jusqu'à quel commit le dernier traitement a été fait, afin de faciliter la mise à jour ultérieure de l'autre dépôt avec un paquet incrémental :

note: type: delimited block -
en: machineA$ cd R1
    machineA$ git bundle create file.bundle master
    machineA$ git tag -f lastR2bundle master
fr: machineA$ cd R1
    machineA$ git bundle create fichier.paquet master
    machineA$ git tag -f dernierpaquetR2 master

note: type: Plain text
en: Then you transfer file.bundle to the target machine B. Because this bundle does not require any existing object to be extracted, you can create a new repository on machine B by cloning from it:
fr: Ensuite, vous transférez fichier.paquet sur la machine cible B. Comme ce paquet ne nécessite pas l'extraction d'un objet existant, vous pouvez créer un nouveau déôt sur la machine B en le clonant :

note: type: delimited block -
en: machineB$ git clone -b master /home/me/tmp/file.bundle R2
fr: machineB$ git clone -b master /home/moi/tmp/fichier.paquet R2

note: type: Plain text
en: This will define a remote called "origin" in the resulting repository that lets you fetch and pull from the bundle. The $GIT_DIR/config file in R2 will have an entry like this:
fr: Cela définira un répertoire distant appelé "origin" dans le dépôt résultant qui vous permettra de récupérer et de tirer du paquet. Le fichier $GIT_DIR/config dans R2 aura une entrée comme celle-ci :

note: type: delimited block -
en: [remote "origin"]
        url = /home/me/tmp/file.bundle
        fetch = refs/heads/*:refs/remotes/origin/*
fr: [remote "origin"]
        url = /home/moi/tmp/fichier.paquet
        fetch = refs/heads/*:refs/remotes/origin/*

note: type: Plain text
en: To update the resulting mine.git repository, you can fetch or pull after replacing the bundle stored at /home/me/tmp/file.bundle with incremental updates.
fr: Pour mettre à jour le dépôt mine.git résultant, vous pouvez récupérer ou tirer après avoir remplacé le paquet stocké dans /home/moi/tmp/fichier.paquet par des mises à jour incrémentales.

note: type: Plain text
en: After working some more in the original repository, you can create an incremental bundle to update the other repository:
fr: Après avoir travaillé un peu plus dans le dépôt d'origine, vous pouvez créer un paquet incrémental pour mettre à jour l'autre dépôt :

note: type: delimited block -
en: machineA$ cd R1
    machineA$ git bundle create file.bundle lastR2bundle..master
    machineA$ git tag -f lastR2bundle master
fr: machineA$ cd R1
    machineA$ git bundle create fichier.paquetdernierpaquetR2..master
    machineA$ git tag -f dernierpaquetR2 master

note: type: Plain text
en: You then transfer the bundle to the other machine to replace /home/me/tmp/file.bundle, and pull from it.
fr: Vous transférez ensuite le paquet sur l'autre machine pour remplacer /home/moi/tmp/fichier.paquet, et vous tirez à partir de celui-ci.

note: type: Plain text
en: If you know up to what commit the intended recipient repository should have the necessary objects, you can use that knowledge to specify the basis, giving a cut-off point to limit the revisions and objects that go in the resulting bundle. The previous example used the lastR2bundle tag for this purpose, but you can use any other options that you would give to the linkgit:git-log[1] command. Here are more examples:
fr: Si vous savez jusqu'à quel commit le dépôt destinataire devrait avoir les objets nécessaires, vous pouvez utiliser cette connaissance pour spécifier la base, en donnant un point de coupure pour limiter les révisions et les objets qui vont dans le paquet résultant. L'exemple précédent a utilisé l'étiquette dernierpaquetR2 dans ce but, mais vous pouvez utiliser toute autre option que vous donneriez à la commande linkgit:git-log[1]. Voici d'autres exemples :

note: type: Plain text
en: You can use a tag that is present in both:
fr: Vous pouvez utiliser une étiquette qui est présente dans les deux dépôts :

note: type: delimited block -
en: $ git bundle create mybundle v1.0.0..master
fr: $ git bundle create monpaquet v1.0.0..master

note: type: Plain text
en: You can use a basis based on time:
fr: Vous pouvez utiliser une base définie par le temps :

note: type: delimited block -
en: $ git bundle create mybundle --since=10.days master
fr: $ git bundle create monpaquet --since=10.days master

note: type: Plain text
en: You can use the number of commits:
fr: Vous pouvez utiliser le nombre de commits :

note: type: delimited block -
en: $ git bundle create mybundle -10 master
fr: $ git bundle create monpaquet -10 master

note: type: Plain text
en: You can run `git-bundle verify` to see if you can extract from a bundle that was created with a basis:
fr: Vous pouvez lancer `git-bundle verify` pour voir si vous pouvez extraire d'un paquet qui a été créé avec une base :

note: type: delimited block -
en: $ git bundle verify mybundle
fr: $ git bundle verify monpaquet

note: type: Plain text
en: This will list what commits you must have in order to extract from the bundle and will error out if you do not have them.
fr: Cela permettra d’énumérer ce que vous devez avoir pour extraire du paquet et fera une erreur si vous ne les avez pas.

note: type: Plain text
en: A bundle from a recipient repository's point of view is just like a regular repository which it fetches or pulls from. You can, for example, map references when fetching:
fr: Du point de vue du dépôt destinataire, un paquet est exactement comme un dépôt ordinaire dont il extrait ou tire des données. Vous pouvez, par exemple, aligner les références lors de l'extraction :

note: type: delimited block -
en: $ git fetch mybundle master:localRef
fr: $ git fetch monpaquet master:localRef

note: type: Plain text
en: You can also see what references it offers:
fr: Vous pouvez également voir quelles références il offre :

note: type: delimited block -
en: $ git ls-remote mybundle
fr: $ git ls-remote monpaquet

note: type: Plain text
en: git-cat-file - Provide content or type and size information for repository objects
fr: git-cat-file - Fournir le contenu ou l'information de type et taille pour les objets du dépôt

note: type: Plain text
en: 'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv | --filters ) [--path=<path>] <object>
    'git cat-file' (--batch[=<format>] | --batch-check[=<format>]) [ --textconv | --filters ] [--follow-symlinks]
fr: 'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv | --filters ) [--path=<chemin>] <objet>
    'git cat-file' (--batch[=<format>] | --batch-check[=<format>]) [ --textconv | --filters ] [--follow-symlinks]

note: type: Plain text
en: In its first form, the command provides the content or the type of an object in the repository. The type is required unless `-t` or `-p` is used to find the object type, or `-s` is used to find the object size, or `--textconv` or `--filters` is used (which imply type "blob").
fr: Dans sa première forme, la commande fournit le contenu ou le type d'un objet dans le référentiel. Le type est obligatoire sauf si `-t` ou `-p` est utilisé pour trouver le type de l'objet, ou `-s` est utilisé pour trouver la taille de l'objet, ou `--textconv` ou `--filters` est utilisé (ce qui implique le type "blob").

note: type: Plain text
en: In the second form, a list of objects (separated by linefeeds) is provided on stdin, and the SHA-1, type, and size of each object is printed on stdout. The output format can be overridden using the optional `<format>` argument. If either `--textconv` or `--filters` was specified, the input is expected to list the object names followed by the path name, separated by a single whitespace, so that the appropriate drivers can be determined.
fr: Dans la seconde forme, une liste d'objets (séparés par des sauts de ligne) est fournie sur stdin, et le SHA-1, le type et la taille de chaque objet sont imprimés sur la sortie standard. Le format de sortie peut être modifié en utilisant l'argument optionnel `<format>`. Si `--textconv` ou `--filters` a été spécifié, l'entrée est censée lister les noms d'objets suivis du nom du chemin, séparés par un simple espace, afin que les pilotes appropriés puissent être déterminés.

note: type: Labeled list
en: <object>
fr: <objet>

note: type: Plain text
en: The name of the object to show.  For a more complete list of ways to spell object names, see the "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
fr: Le nom de l'objet à afficher. Pour une liste plus complète des façons d'épeler les noms d'objets, voir la section « SPÉCIFICATION DE RÉVISIONS" dans linkgit:gitrevisions[7].

note: type: Plain text
en: Instead of the content, show the object type identified by `<object>`.
fr: Au lieu du contenu, afficher le type d'objet identifié par `<objet>`.

note: type: Plain text
en: Instead of the content, show the object size identified by `<object>`.
fr: Au lieu du contenu, afficher la taille de l'objet identifié par `<objet>`.

note: type: Plain text
en: Exit with zero status if `<object>` exists and is a valid object. If `<object>` is of an invalid format exit with non-zero and emits an error on stderr.
fr: Sortir avec un statut nul si `<objet>` existe et est un objet valide. Si `<objet>` est d'un format invalide, sortir avec un état non-zéro et émettre une erreur sur stderr.

note: type: Plain text
en: Pretty-print the contents of `<object>` based on its type.
fr: Formater l'affichage du contenu de `<objet>` en fonction de son type.

note: type: Plain text
en: Typically this matches the real type of `<object>` but asking for a type that can trivially be dereferenced from the given `<object>` is also permitted.  An example is to ask for a "tree" with `<object>` being a commit object that contains it, or to ask for a "blob" with `<object>` being a tag object that points at it.
fr: Typiquement, cela correspond au type réel de `<objet>` mais la demande d'un type qui peut trivialement être déréférencé à partir du `<objet>` donné est également autorisée.  Un exemple est de demander un "tree" avec `<objet>` étant un objet commit qui le contient, ou de demander un "blob" avec `<objet>` étant un objet tag qui le pointe.

note: type: Plain text
en: Show the content as transformed by a textconv filter. In this case, `<object>` has to be of the form `<tree-ish>:<path>`, or `:<path>` in order to apply the filter to the content recorded in the index at `<path>`.
fr: Afficher le contenu tel que transformé par un filtre textconv. Dans ce cas, `<objet>` doit être de la forme `<arbre-esque>:<chemin>`, ou `:<chemin>` afin d'appliquer le filtre au contenu enregistré dans l'index à `<chemin>`.

note: type: Plain text
en: Show the content as converted by the filters configured in the current working tree for the given `<path>` (i.e. smudge filters, end-of-line conversion, etc). In this case, `<object>` has to be of the form `<tree-ish>:<path>`, or `:<path>`.
fr: Afficher le contenu tel qu'il a été converti par les filtres configurés dans l'arbre de travail actuel pour le `<chemin>` donné (c'est-à-dire les filtres de maculage, la conversion de fin de ligne, etc). Dans ce cas, `<objet>` doit être de la forme `<arbre-esque>:<chemin>`, ou `:<chemin>`.

note: type: Labeled list
en: --path=<path>
fr: --path=<chemin>

note: type: Plain text
en: For use with `--textconv` or `--filters`, to allow specifying an object name and a path separately, e.g. when it is difficult to figure out the revision from which the blob came.
fr: À utiliser avec `--textconv` ou `--filters`, pour permettre de spécifier un nom d'objet et un chemin séparément, par exemple lorsqu'il est difficile de déterminer la révision d'où provient le blob.

note: type: Plain text
en: Print object information and contents for each object provided on stdin.  May not be combined with any other options or arguments except `--textconv` or `--filters`, in which case the input lines also need to specify the path, separated by whitespace.  See the section `BATCH OUTPUT` below for details.
fr: Afficher les informations et le contenu des objets pour chaque objet fourni sur stdin.  Ne peut être combiné avec aucune autre option ou argument sauf `--textconv` ou `--filters`, auquel cas les lignes d'entrée doivent aussi spécifier le chemin, séparé par des espaces.  Voir la section `SORTIE PAR LOT` ci-dessous pour plus de détails.

note: type: Plain text
en: Print object information for each object provided on stdin.  May not be combined with any other options or arguments except `--textconv` or `--filters`, in which case the input lines also need to specify the path, separated by whitespace.  See the section `BATCH OUTPUT` below for details.
fr: Afficher les informations sur les objets pour chaque objet fourni sur stdin.  Ne peut être combiné avec aucune autre option ou argument sauf `--textconv` ou `--filters`, auquel cas les lignes d'entrée doivent aussi spécifier le chemin, séparé par des espaces.  Voir la section `SORTIE PAR LOT` ci-dessous pour plus de détails.

note: type: Plain text
en: Instead of reading a list of objects on stdin, perform the requested batch operation on all objects in the repository and any alternate object stores (not just reachable objects).  Requires `--batch` or `--batch-check` be specified. Note that the objects are visited in order sorted by their hashes.
fr: Au lieu de lire une liste d'objets sur stdin, exécuter l'opération par lot demandée sur tous les objets du dépôt et de tous les magasins d'objets alternatifs (pas seulement les objets accessibles).  Nécessite que `--batch` ou `--batch-check` soit spécifié. Notez que les objets sont visités dans l'ordre trié par leurs empreintes.

note: type: Plain text
en: Normally batch output is flushed after each object is output, so that a process can interactively read and write from `cat-file`. With this option, the output uses normal stdio buffering; this is much more efficient when invoking `--batch-check` on a large number of objects.
fr: Normalement, la sortie par lot est vidée après la sortie de chaque objet, afin qu'un processus puisse lire et écrire de manière interactive depuis `cat-file`. Avec cette option, la sortie utilise la mise en tampon normale de stdio ; c'est beaucoup plus efficace quand on invoque `--batch-check` sur un grand nombre d'objets.

note: type: Plain text
en: When `--batch-all-objects` is in use, visit objects in an order which may be more efficient for accessing the object contents than hash order. The exact details of the order are unspecified, but if you do not require a specific order, this should generally result in faster output, especially with `--batch`.  Note that `cat-file` will still show each object only once, even if it is stored multiple times in the repository.
fr: Lorsque `--batch-all-objects` est utilisé, visiter les objets dans un ordre qui peut être plus efficace pour accéder au contenu des objets que l'ordre de hachage. Les détails exacts de l'ordre ne sont pas spécifiés, mais si vous n'avez pas besoin d'un ordre spécifique, ceci devrait généralement résulter en une sortie plus rapide, particulièrement avec `--batch`.  Notez que `cat-file` ne montrera chaque objet qu'une seule fois, même s'il est stocké plusieurs fois dans le dépôt.

note: type: Plain text
en: Allow `-s` or `-t` to query broken/corrupt objects of unknown type.
fr: Permettre à `-s` ou `-t` d'interroger les objets cassés/corrompus de type inconnu.

note: type: Plain text
en: With `--batch` or `--batch-check`, follow symlinks inside the repository when requesting objects with extended SHA-1 expressions of the form tree-ish:path-in-tree.  Instead of providing output about the link itself, provide output about the linked-to object.  If a symlink points outside the tree-ish (e.g. a link to `/foo` or a root-level link to `../foo`), the portion of the link which is outside the tree will be printed.
fr: Avec `--batch` ou `--batch-check`, suivre les liens symboliques à l'intérieur du dépôt lors de la recherche des objets avec des expressions SHA-1 étendues de la forme arbre-esque:chemin-dans-l-arbre.  Au lieu de fournir une sortie sur le lien lui-même, fournir une sortie sur l'objet lié.  Si un lien symbolique pointe en dehors de l'arbre (par exemple un lien vers `/foo` ou un lien au niveau de la racine vers `../foo`), la partie du lien qui est en dehors de l'arbre sera affichée.

note: type: Plain text
en: This option does not (currently) work correctly when an object in the index is specified (e.g. `:link` instead of `HEAD:link`) rather than one in the tree.
fr: Cette option ne fonctionne pas (actuellement) correctement lorsqu'un objet dans l'index est spécifié (par exemple `:link` au lieu de `HEAD:link`) plutôt qu'un objet dans l'arbre.

note: type: Plain text
en: This option cannot (currently) be used unless `--batch` or `--batch-check` is used.
fr: Cette option ne peut (actuellement) être utilisée que si `--batch` ou `--batch-check` est utilisé.

note: type: Plain text
en: For example, consider a git repository containing:
fr: Par exemple, considérons un dépôt git contenant :

note: type: Plain text
en: 	f: a file containing "hello\n"
    	link: a symlink to f
    	dir/link: a symlink to ../f
    	plink: a symlink to ../f
    	alink: a symlink to /etc/passwd
fr: 	f : un fichier contenant "hello\n".
    	link : un lien symbolique vers f
    	dir/link : un lien symbolique vers ../f
    	plink : un lien symbolique vers ../f
    	alink : un lien symbolique vers /etc/passwd

note: type: Plain text
en: For a regular file `f`, `echo HEAD:f | git cat-file --batch` would print
fr: Pour un fichier régulier `f`, `echo HEAD:f | git cat-file --batch` afficherait

note: type: Plain text
en: And `echo HEAD:link | git cat-file --batch --follow-symlinks` would print the same thing, as would `HEAD:dir/link`, as they both point at `HEAD:f`.
fr: Et `echo HEAD:link | git cat-file --batch --follow-symlinks` imprimerait la même chose, tout comme `HEAD:dir/link`, puisqu'ils pointent tous deux vers `HEAD:f`.

note: type: Plain text
en: Without `--follow-symlinks`, these would print data about the symlink itself.  In the case of `HEAD:link`, you would see
fr: Sans `--follow-symlinks`, ils afficheraient des données sur le lien symbolique lui-même.  Dans le cas de `HEAD:link`, vous verrez

note: type: Plain text
en: Both `plink` and `alink` point outside the tree, so they would respectively print:
fr: Les deux `plink` et` alink` pointent en dehors de l'arbre, donc ils afficheraient respectivement :

note: type: Title -
en: OUTPUT
fr: SORTIE

note: type: Plain text
en: If `-t` is specified, one of the `<type>`.
fr: Si `-t` est spécifié, un des `<type>`.

note: type: Plain text
en: If `-s` is specified, the size of the `<object>` in bytes.
fr: Si `-s` est spécifié, la taille de l'`<objet>` en octets.

note: type: Plain text
en: If `-e` is specified, no output, unless the `<object>` is malformed.
fr: Si `-e` est spécifié, aucune sortie, à moins que le `<objet>` soit malformé.

note: type: Plain text
en: If `-p` is specified, the contents of `<object>` are pretty-printed.
fr: Si `-p` est spécifié, le contenu de `<objet>` est formatté à l'affichage.

note: type: Plain text
en: If `<type>` is specified, the raw (though uncompressed) contents of the `<object>` will be returned.
fr: Si `<type>` est spécifié, le contenu brut (mais non compressé) de l'`<objet>` sera retourné.

note: type: Title -
en: BATCH OUTPUT
fr: SORTIE DE LOT

note: type: Plain text
en: If `--batch` or `--batch-check` is given, `cat-file` will read objects from stdin, one per line, and print information about them. By default, the whole line is considered as an object, as if it were fed to linkgit:git-rev-parse[1].
fr: Si `--batch` ou `--batch-check` est donné, `cat-file` lira les objets depuis stdin, un par ligne, et affichera les informations les concernant. Par défaut, la ligne entière est considérée comme un objet, comme si elle était envoyée à linkgit:git-rev-parse[1].

note: type: Plain text
en: You can specify the information shown for each object by using a custom `<format>`. The `<format>` is copied literally to stdout for each object, with placeholders of the form `%(atom)` expanded, followed by a newline. The available atoms are:
fr: Vous pouvez spécifier les informations affichées pour chaque objet en utilisant un `<format>` personnalisé. Le `<format>` est copié littéralement sur stdout pour chaque objet, avec des variables de la forme `%(atome)` développés, suivi d'une nouvelle ligne. Les atomes disponibles sont :

note: type: Plain text
en: The full hex representation of the object name.
fr: La représentation hexadécimale complète du nom de l'objet.

note: type: Plain text
en: The type of the object (the same as `cat-file -t` reports).
fr: Le type de l'objet (le même que ce que `cat-file -t` renvoie).

note: type: Plain text
en: The size, in bytes, of the object (the same as `cat-file -s` reports).
fr: La taille, en octets, de l'objet (la même que celle que `cat-file -s` renvoie).

note: type: Plain text
en: The size, in bytes, that the object takes up on disk. See the note about on-disk sizes in the `CAVEATS` section below.
fr: La taille, en octets, que l'objet occupe sur le disque. Voir la note sur les tailles sur disque dans la section `MISES EN GARDES` ci-dessous.

note: type: Plain text
en: If the object is stored as a delta on-disk, this expands to the full hex representation of the delta base object name.  Otherwise, expands to the null OID (all zeroes). See `CAVEATS` below.
fr: Si l'objet est stocké en tant que delta sur le disque, il se développe en représentation hexadécimale complète du nom de l'objet de base delta.  Sinon, il se développe jusqu'à l'OID nul (tout à zéro). Voir `MISES EN GARDE` ci-dessous.

note: type: Plain text
en: If this atom is used in the output string, input lines are split at the first whitespace boundary. All characters before that whitespace are considered to be the object name; characters after that first run of whitespace (i.e., the "rest" of the line) are output in place of the `%(rest)` atom.
fr: Si cet atome est utilisé dans la chaîne de sortie, les lignes d'entrée sont coupées à la première limite de caractères d'espace. Tous les caractères avant cet espace sont considérés comme le nom de l'objet ; les caractères après ce premier espace (c'est-à-dire le "reste" de la ligne) sont émis à la place de l'atome `%(rest)`.

note: type: Plain text
en: If no format is specified, the default format is `%(objectname)  %(objecttype) %(objectsize)`.
fr: Si aucun format n'est spécifié, le format par défaut est `%(objectname) %(objecttype) %(objectsize)`.

note: type: Plain text
en: If `--batch` is specified, the object information is followed by the object contents (consisting of `%(objectsize)` bytes), followed by a newline.
fr: Si `--batch` est spécifié, les informations sur l'objet sont suivies du contenu de l'objet (consistant en `%(objectsize)` octets), suivi d'une nouvelle ligne.

note: type: Plain text
en: For example, `--batch` without a custom format would produce:
fr: Par exemple, `--batch` sans un format personnalisé produirait :

note: type: delimited block -
en: <oid> SP <type> SP <size> LF
    <contents> LF
fr: <oid> SP <type> SP <taille> LF
    <contenu> LF

note: type: Plain text
en: Whereas `--batch-check='%(objectname) %(objecttype)'` would produce:
fr: Alors que `--batch-check='%(objectname) %(objecttype)'` produirait :

note: type: Plain text
en: If a name is specified on stdin that cannot be resolved to an object in the repository, then `cat-file` will ignore any custom format and print:
fr: Si un nom est spécifié sur stdin qui ne peut pas être résolu en un objet dans le dépôt, alors `cat-file` ignorera tout format personnalisé et affichera :

note: type: delimited block -
en: <object> SP missing LF
fr: <objet> SP missing LF

note: type: Plain text
en: If a name is specified that might refer to more than one object (an ambiguous short sha), then `cat-file` will ignore any custom format and print:
fr: Si un nom est spécifié qui pourrait faire référence à plus d'un objet (un sha court ambigu), alors `cat-file` ignorera tout format personnalisé et affichera :

note: type: delimited block -
en: <object> SP ambiguous LF
fr: <objet> SP ambiguous LF

note: type: Plain text
en: If `--follow-symlinks` is used, and a symlink in the repository points outside the repository, then `cat-file` will ignore any custom format and print:
fr: Si `--follow-symlinks` est utilisé, et qu'un lien symbolique dans le dépôt pointe en dehors du dépôt, alors `cat-file` ignorera tout format personnalisé et affichera :

note: type: delimited block -
en: symlink SP <size> LF
    <symlink> LF
fr: symlink SP <taille> LF
    <lien-symbolique> LF

note: type: Plain text
en: The symlink will either be absolute (beginning with a `/`), or relative to the tree root.  For instance, if dir/link points to `../../foo`, then `<symlink>` will be `../foo`.  `<size>` is the size of the symlink in bytes.
fr: Le lien symbolique sera soit absolu (commençant par un `/`), soit relatif à la racine de l'arbre.  Par exemple, si rép/lien pointe vers `../../foo`, alors `<lien-symbolique>` sera `../foo`.  `<taille>` est la taille du lien symbolique en octets.

note: type: Plain text
en: If `--follow-symlinks` is used, the following error messages will be displayed:
fr: Si `--follow-symlinks` est utilisé, les messages d'erreur suivants seront affichés :

note: type: Plain text
en: is printed when the initial symlink requested does not exist.
fr: est imprimé lorsque le lien symbolique initial demandé n'existe pas.

note: type: delimited block -
en: dangling SP <size> LF
    <object> LF
fr: dangling SP <taille> LF
    <objet> LF

note: type: Plain text
en: is printed when the initial symlink exists, but something that it (transitive-of) points to does not.
fr: est affiché lorsque le lien symbolique initial existe, mais que ce vers quoi il pointe (transitivement) n'existe pas.

note: type: delimited block -
en: loop SP <size> LF
    <object> LF
fr: loop SP <taille> LF
    <objet> LF

note: type: Plain text
en: is printed for symlink loops (or any symlinks that require more than 40 link resolutions to resolve).
fr: est affiché pour les boucles de liens symboliques (ou tous les liens symboliques qui nécessitent plus de 40 résolutions de liens pour être résolus).

note: type: delimited block -
en: notdir SP <size> LF
    <object> LF
fr: notdir SP <taille> LF
    <objet> LF

note: type: Plain text
en: is printed when, during symlink resolution, a file is used as a directory name.
fr: est affiché lorsque, pendant la résolution des liens symboliques, un fichier est utilisé comme nom de répertoire.

note: type: Title -
en: CAVEATS
fr: MISES EN GARDE

note: type: Plain text
en: Note that the sizes of objects on disk are reported accurately, but care should be taken in drawing conclusions about which refs or objects are responsible for disk usage. The size of a packed non-delta object may be much larger than the size of objects which delta against it, but the choice of which object is the base and which is the delta is arbitrary and is subject to change during a repack.
fr: Notez que les tailles des objets sur le disque sont rapportées avec précision, mais il faut faire attention avant de tirer des conclusions sur les références ou les objets qui sont responsables de l'utilisation du disque. La taille d'un objet non-delta empaqueté peut être beaucoup plus grande que la taille des objets qui sont delta par rapport à lui, mais le choix de l'objet de base et de l'objet delta est arbitraire et peut être modifié lors d'un repack.

note: type: Plain text
en: Note also that multiple copies of an object may be present in the object database; in this case, it is undefined which copy's size or delta base will be reported.
fr: Notez également que plusieurs copies d'un objet peuvent être présentes dans la base de données des objets ; dans ce cas, il n'est pas défini quelle taille ou base delta de la copie sera rapportée.

note: type: Plain text
en: git-check-attr - Display gitattributes information
fr: git-check-attr - Affiche les informations gitattributes

note: type: Plain text
en: 'git check-attr' [-a | --all | <attr>...] [--] <pathname>...
    'git check-attr' --stdin [-z] [-a | --all | <attr>...]
fr: 'git check-attr' [-a | --all | <attr>...] [--] <nom-de-chemin>...
    'git check-attr' --stdin [-z] [-a | --all | <attr>...]

note: type: Plain text
en: For every pathname, this command will list if each attribute is 'unspecified', 'set', or 'unset' as a gitattribute on that pathname.
fr: Pour chaque nom de chemin, cette commande listera si chaque attribut est 'unspecified', 'set', ou 'unset' en tant qu'attribut git sur ce nom de chemin.

note: type: Plain text
en: List all attributes that are associated with the specified paths.  If this option is used, then 'unspecified' attributes will not be included in the output.
fr: Liste tous les attributs qui sont associés aux chemins spécifiés.  Si cette option est utilisée, les attributs 'unspecified' (non spécifiés) ne seront pas inclus dans la sortie.

note: type: Plain text
en: Consider `.gitattributes` in the index only, ignoring the working tree.
fr: Ne prendre en compte `.gitattributes` dans l'index seulement, en ignorant l'arbre de travail.

note: type: Plain text
en: Read pathnames from the standard input, one per line, instead of from the command-line.
fr: Lire les noms de chemin depuis l'entrée standard, un par ligne, au lieu de la ligne de commande.

note: type: Plain text
en: The output format is modified to be machine-parsable.  If `--stdin` is also given, input paths are separated with a NUL character instead of a linefeed character.
fr: Le format de sortie est modifié pour être analysable par la machine.  Si `--stdin` est également donné, les chemins d'entrée sont séparés par un caractère NUL au lieu d'un caractère de saut de ligne.

note: type: Plain text
en: Interpret all preceding arguments as attributes and all following arguments as path names.
fr: Interpréter tous les arguments précédents comme des attributs et tous les arguments suivants comme des noms de chemin.

note: type: Plain text
en: If none of `--stdin`, `--all`, or `--` is used, the first argument will be treated as an attribute and the rest of the arguments as pathnames.
fr: Si ni `--stdin`, ni `--all`, ni `--` n'est utilisé, le premier argument sera traité comme un attribut et le reste des arguments comme des noms de chemin.

note: type: Plain text
en: The output is of the form: <path> COLON SP <attribute> COLON SP <info> LF
fr: La sortie est de la forme : <chemin> COLON SP <attribut> COLON SP <info> LF

note: type: Plain text
en: unless `-z` is in effect, in which case NUL is used as delimiter: <path> NUL <attribute> NUL <info> NUL
fr: sauf si `-z` est en vigueur, auquel cas NUL est utilisé comme délimiteur : <chemin> NUL <attribut> NUL <info> NUL

note: type: Plain text
en: <path> is the path of a file being queried, <attribute> is an attribute being queried and <info> can be either:
fr: <chemin> est le chemin d'un fichier en cours d'interrogation, <attribut> est un attribut en cours d'interrogation et <info> peut être soit :

note: type: Plain text
en: when the attribute is not defined for the path.
fr: lorsque l'attribut n'est pas défini pour le chemin.

note: type: Plain text
en: when the attribute is defined as false.
fr: lorsque l'attribut est défini comme faux.

note: type: Plain text
en: when the attribute is defined as true.
fr: lorsque l'attribut est défini comme vrai.

note: type: Labeled list
en: <value>
fr: <valeur>

note: type: Plain text
en: when a value has been assigned to the attribute.
fr: lorsqu'une valeur a été attribuée à l'attribut.

note: type: Plain text
en: Buffering happens as documented under the `GIT_FLUSH` option in linkgit:git[1].  The caller is responsible for avoiding deadlocks caused by overfilling an input buffer or reading from an empty output buffer.
fr: La mise en mémoire tampon se fait comme documenté sous l'option `GIT_FLUSH` dans linkgit:git[1].  L'appelant à la charge d'éviter les blocages causés par le remplissage excessif d'un tampon d'entrée ou la lecture d'un tampon de sortie vide.

note: type: Plain text
en: In the examples, the following '.gitattributes' file is used:
fr: Dans les exemples, le fichier '.gitattributes' suivant est utilisé :

note: type: Plain text
en: Listing a single attribute:
fr: Lister un seul attribut :

note: type: Plain text
en: Listing multiple attributes for a file:
fr: Lister plusieurs attributs pour un fichier :

note: type: Plain text
en: Listing all attributes for a file:
fr: Liste de tous les attributs d'un fichier :

note: type: Plain text
en: Listing an attribute for multiple files:
fr: Lister un attribut pour plusieurs fichiers :

note: type: Plain text
en: Not all values are equally unambiguous:
fr: Toutes les valeurs ne sont pas également univoques :

note: type: Plain text
en: git-check-ignore - Debug gitignore / exclude files
fr: git-check-ignore - Débogue les fichiers gitignore / exclude

note: type: Plain text
en: 'git check-ignore' [<options>] <pathname>...
    'git check-ignore' [<options>] --stdin
fr: 'git check-ignore' [<options>] <nom-de-chemin>...
    'git check-ignore' [<options>] --stdin

note: type: Plain text
en: For each pathname given via the command-line or from a file via `--stdin`, check whether the file is excluded by .gitignore (or other input files to the exclude mechanism) and output the path if it is excluded.
fr: Pour chaque nom de chemin donné via la ligne de commande ou depuis un fichier via `--stdin`, vérifie si le fichier est exclu par .gitignore (ou d'autres fichiers d'entrée du mécanisme d'exclusion) et affiche le chemin s'il est exclu.

note: type: Plain text
en: By default, tracked files are not shown at all since they are not subject to exclude rules; but see `--no-index'.
fr: Par défaut, les fichiers suivis ne sont pas affichés du tout puisqu'ils ne sont pas soumis aux règles d'exclusion ; mais voyez `--no-index'.

note: type: Plain text
en: Don't output anything, just set exit status.  This is only valid with a single pathname.
fr: Ne pas émettre de message, définir juste le statut de sortie.  Ceci n'est valable qu'avec un seul chemin d'accès.

note: type: Plain text
en: Instead of printing the paths that are excluded, for each path that matches an exclude pattern, print the exclude pattern together with the path.  (Matching an exclude pattern usually means the path is excluded, but if the pattern begins with '!' then it is a negated pattern and matching it means the path is NOT excluded.)
fr: Au lieu d'afficher les chemins qui sont exclus, pour chaque chemin qui correspond à un motif d'exclusion, imprimer le motif d'exclusion avec le chemin.  (La correspondance d'un motif d'exclusion signifie généralement que le chemin est exclu, mais si le motif commence par '!', il s'agit alors d'un motif négatif et sa correspondance signifie que le chemin n'est PAS exclu).

note: type: Plain text
en: For precedence rules within and between exclude sources, see linkgit:gitignore[5].
fr: Pour les règles de préséance dans et entre les sources d'exclusion, voir linkgit:gitignore[5].

note: type: Plain text
en: The output format is modified to be machine-parsable (see below).  If `--stdin` is also given, input paths are separated with a NUL character instead of a linefeed character.
fr: Le format de sortie est modifié pour être analysable par une machine.  Si `--stdin` est également donné, les chemins d'entrée sont séparés par un caractère NUL au lieu d'un caractère de saut de ligne.

note: type: Plain text
en: Show given paths which don't match any pattern.	 This only makes sense when `--verbose` is enabled, otherwise it would not be possible to distinguish between paths which match a pattern and those which don't.
fr: Afficher les chemins donnés qui ne correspondent à aucun motif. Cela n'a de sens que si `--verbose` est activé, sinon il ne serait pas possible de distinguer les chemins qui correspondent à un motif de ceux qui ne le correspondent pas.

note: type: Plain text
en: Don't look in the index when undertaking the checks. This can be used to debug why a path became tracked by e.g. `git add .` and was not ignored by the rules as expected by the user or when developing patterns including negation to match a path previously added with `git add -f`.
fr: Ne pas regarder dans l'index lors des vérifications. Cela peut être utilisé pour déboguer la raison pour laquelle un chemin est devenu suivi par exemple par `git add .` et n'a pas été ignoré par les règles comme prévu par l'utilisateur ou lors du développement de motifs incluant la négation pour correspondre à un chemin précédemment ajouté avec `git add -f`.

note: type: Plain text
en: By default, any of the given pathnames which match an ignore pattern will be output, one per line.  If no pattern matches a given path, nothing will be output for that path; this means that path will not be ignored.
fr: Par défaut, tous les noms de chemin donnés qui correspondent à un motif négatif seront affichés, un par ligne.  Si aucun motif ne correspond à un chemin donné, rien ne sera affiché pour ce chemin ; cela signifie que ce chemin ne sera pas ignoré.

note: type: Plain text
en: If `--verbose` is specified, the output is a series of lines of the form:
fr: Si `--verbose` est spécifié, la sortie est une série de lignes de la forme :

note: type: Plain text
en: <source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
fr: <source> <DEUX-POINTS> <num-ligne> <DEUX-POINTS> <motif> <HT> <nom-de-chemin>

note: type: Plain text
en: <pathname> is the path of a file being queried, <pattern> is the matching pattern, <source> is the pattern's source file, and <linenum> is the line number of the pattern within that source.  If the pattern contained a `!` prefix or `/` suffix, it will be preserved in the output.  <source> will be an absolute path when referring to the file configured by `core.excludesFile`, or relative to the repository root when referring to `.git/info/exclude` or a per-directory exclude file.
fr: <nom-de-chemin> est le chemin d'un fichier interrogé, <motif> est le motif correspondant, <source> est le fichier source du motif, et <num-ligne> est le numéro de ligne du motif dans cette source.  Si le motif contenait un préfixe `!` ou un suffixe `/`, il sera préservé dans la sortie.  <source> sera un chemin absolu quand il se réfère au fichier configuré par `core.excludesFile`, ou relatif à la racine du dépôt quand il se réfère à `.git/info/exclude` ou à un fichier d'exclusion par répertoire.

note: type: Plain text
en: If `-z` is specified, the pathnames in the output are delimited by the null character; if `--verbose` is also specified then null characters are also used instead of colons and hard tabs:
fr: Si `-z` est spécifié, les noms de chemin dans la sortie sont délimités par le caractère nul ; si `--verbose` est également spécifié, les caractères nuls sont également utilisés à la place des deux-points et des tabulations :

note: type: Plain text
en: <source> <NULL> <linenum> <NULL> <pattern> <NULL> <pathname> <NULL>
fr: <source> <NULL> <num-ligne> <NULL> <motif> <NULL> <nome-de-chemin> <NULL>

note: type: Plain text
en: If `-n` or `--non-matching` are specified, non-matching pathnames will also be output, in which case all fields in each output record except for <pathname> will be empty.  This can be useful when running non-interactively, so that files can be incrementally streamed to STDIN of a long-running check-ignore process, and for each of these files, STDOUT will indicate whether that file matched a pattern or not.  (Without this option, it would be impossible to tell whether the absence of output for a given file meant that it didn't match any pattern, or that the output hadn't been generated yet.)
fr: Si `-n` ou `--non-matching` sont spécifiés, les noms de chemin non-matching seront aussi sortis, dans ce cas tous les champs dans chaque enregistrement de sortie sauf pour <nom-de-chemin> seront vides.  Cela peut être utile lors d'une exécution non-interactive, de sorte que les fichiers peuvent être envoyés incrémentalement sur STDIN d'un processus check-ignore au long cours, et pour chacun de ces fichiers, STDOUT indiquera si ce fichier correspond à un motif ou non.  (Sans cette option, il serait impossible de dire si l'absence de sortie pour un fichier donné signifie qu'il ne correspond à aucun motif, ou que la sortie n'a pas encore été générée).

note: type: Title -
en: EXIT STATUS
fr: STATUT DE SORTIE

note: type: Plain text
en: One or more of the provided paths is ignored.
fr: Un ou plusieurs des chemins fournis sont ignorés.

note: type: Plain text
en: None of the provided paths are ignored.
fr: Aucun des chemins fournis n'est ignoré.

note: type: Plain text
en: A fatal error was encountered.
fr: Une erreur fatale a été rencontrée.

note: type: Plain text
en: git-check-mailmap - Show canonical names and email addresses of contacts
fr: git-check-mailmap - Affiche les noms canoniques et les adresses de courriel des contacts

note: type: Plain text
en: For each ``Name $$<user@host>$$'' or ``$$<user@host>$$'' from the command-line or standard input (when using `--stdin`), look up the person's canonical name and email address (see "Mapping Authors" below). If found, print them; otherwise print the input as-is.
fr: Pour chaque "Nom $$<utilisateur@hote>$$" ou "$$<utilisateur@hote>$$" de la ligne de commande ou de l'entrée standard (si vous utilisez `--stdin`), rechercher le nom canonique et l'adresse électronique de la personne (voir "Convertir les auteurs" ci-dessous). S'ils sont trouvés, les afficher, sinon afficher l'entrée telle quelle.

note: type: Plain text
en: Read contacts, one per line, from the standard input after exhausting contacts provided on the command-line.
fr: Lire les contacts, un par ligne, à partir de l'entrée standard après avoir épuisé les contacts fournis sur la ligne de commande.

note: type: Plain text
en: For each contact, a single line is output, terminated by a newline.  If the name is provided or known to the 'mailmap', ``Name $$<user@host>$$'' is printed; otherwise only ``$$<user@host>$$'' is printed.
fr: Pour chaque contact, une seule ligne est sortie, terminée par un saut de ligne.  Si le nom est fourni ou connu de la 'mailmap', "Nom $$<utilisateur@hote>$$" est affiché ; sinon, seul "$$<utilisateur@hote>$$" est affiché.

note: type: Plain text
en: See `mailmap.file` and `mailmap.blob` in linkgit:git-config[1] for how to specify a custom `.mailmap` target file or object.
fr: Voir `mailmap.file` et `mailmap.blob` dans linkgit:git-config[1] pour savoir comment spécifier un fichier ou un objet cible `.mailmap` personnalisé.

note: type: Plain text
en: git-checkout-index - Copy files from the index to the working tree
fr: git-checkout-index - Copie les fichiers depuis l'index dans l'arbre de travail

note: type: Plain text
en: 'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
    		   [--stage=<number>|all]
    		   [--temp]
    		   [-z] [--stdin]
    		   [--] [<file>...]
fr: git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<chaine>]
    		   [--stage=<numéro>|all]
    		   [--temp]
    		   [-z] [--stdin]
    		   [--] [<fichier>...]

note: type: Plain text
en: Will copy all files listed from the index to the working directory (not overwriting existing files).
fr: Va copier tous les fichiers indiqués depuis l'index dans l'arbre de travail (sans écraser les fichiers existants).

note: type: Plain text
en: update stat information for the checked out entries in the index file.
fr: mettre à jour les informations sur les statuts des entrées extraites dans le fichier d'index.

note: type: Plain text
en: be quiet if files exist or are not in the index
fr: rester silencieux si les fichiers existent ou ne sont pas dans l'index

note: type: Plain text
en: forces overwrite of existing files
fr: forcer l'écrasement de fichiers existants

note: type: Plain text
en: checks out all files in the index.  Cannot be used together with explicit filenames.
fr: vérifier tous les fichiers de l'index.  Ne peut pas être utilisé avec des noms de fichiers explicites.

note: type: Plain text
en: Don't checkout new files, only refresh files already checked out.
fr: Ne pas extraire de nouveaux fichiers, seulement rafraîchir les fichiers déjà extraits.

note: type: Labeled list
en: --prefix=<string>
fr: --prefix=<chaîne>

note: type: Plain text
en: When creating files, prepend <string> (usually a directory including a trailing /)
fr: Lors de la création de fichiers, les préfixer avec <chaine> (généralement un répertoire incluant une terminaison /)

note: type: Labeled list
en: --stage=<number>|all
fr: --stage=<nombre>|all

note: type: Plain text
en: Instead of checking out unmerged entries, copy out the files from named stage.  <number> must be between 1 and 3.  Note: --stage=all automatically implies --temp.
fr: Au lieu de vérifier les entrées non fusionnées, copier les fichiers de l'étape nommée.  <numéro> doit être compris entre 1 et 3.  Note : --stage=all implique automatiquement --temp.

note: type: Plain text
en: Instead of copying the files to the working directory write the content to temporary files.  The temporary name associations will be written to stdout.
fr: Au lieu de copier les fichiers dans le répertoire de travail, écrire le contenu dans des fichiers temporaires.  Les associations de noms temporaires seront écrites sur stdout.

note: type: Plain text
en: Instead of taking list of paths from the command line, read list of paths from the standard input.  Paths are separated by LF (i.e. one path per line) by default.
fr: Au lieu de prendre la liste des chemins à partir de la ligne de commande, lire la liste des chemins à partir de l'entrée standard.  Les chemins sont séparés par LF (c'est-à-dire un chemin par ligne) par défaut.

note: type: Plain text
en: Only meaningful with `--stdin`; paths are separated with NUL character instead of LF.
fr: N'a de sens qu'avec `--stdin` ; les chemins sont séparés par le caractère NUL au lieu de LF.

note: type: Plain text
en: Do not interpret any more arguments as options.
fr: Ne pas interpréter les arguments qui suivent comme options.

note: type: Plain text
en: The order of the flags used to matter, but not anymore.
fr: L'ordre des drapeaux était autrefois important, mais plus maintenant.

note: type: Plain text
en: Just doing `git checkout-index` does nothing. You probably meant `git checkout-index -a`. And if you want to force it, you want `git checkout-index -f -a`.
fr: Faire simplement `git checkout-index` ne fait rien. Vous vouliez probablement dire `git checkout-index -a`. Et si vous voulez le forcer, il faut faire `git checkout-index -f -a`.

note: type: Plain text
en: Intuitiveness is not the goal here. Repeatability is. The reason for the "no arguments means no work" behavior is that from scripts you are supposed to be able to do:
fr: L'intuitivité n'est pas le but ici. La répétabilité l'est. La raison du comportement "pas d'arguments signifie pas de travail" est que, à partir de scripts, vous êtes censé être capable de faire :

note: type: Plain text
en: which will force all existing `*.h` files to be replaced with their cached copies. If an empty command line implied "all", then this would force-refresh everything in the index, which was not the point.  But since 'git checkout-index' accepts --stdin it would be faster to use:
fr: qui forcera tous les fichiers `*.h` existants à être remplacés par leurs copies en cache. Si une ligne de commande vide impliquait "all", alors cela forcerait le rafraîchissement de tous les fichiers de l'index, ce qui n'était pas le but.  Mais puisque 'git checkout-index' accepte --stdin, il serait plus rapide d'utiliser :

note: type: Plain text
en: The `--` is just a good idea when you know the rest will be filenames; it will prevent problems with a filename of, for example, `-a`.  Using `--` is probably a good policy in scripts.
fr: Le `--` est juste une bonne idée quand vous savez que le reste sera des noms de fichiers ; cela évitera les problèmes avec  par exemple, un nom de fichier `-a`.  L'utilisation de `--` est probablement une bonne politique dans les scripts.

note: type: Title -
en: Using --temp or --stage=all
fr: Utilisation de --temp ou --stage=all

note: type: Plain text
en: When `--temp` is used (or implied by `--stage=all`)  'git checkout-index' will create a temporary file for each index entry being checked out.  The index will not be updated with stat information.  These options can be useful if the caller needs all stages of all unmerged entries so that the unmerged files can be processed by an external merge tool.
fr: Lorsque `--temp` est utilisé (ou impliqué par `--stage=all`), 'git checkout-index' créera un fichier temporaire pour chaque entrée de l'index en cours d'extraction.  L'index ne sera pas mis à jour avec les informations sur les statuts.  Ces options peuvent être utiles si l'appelant a besoin de toutes les étapes de toutes les entrées non fusionnées afin que les fichiers non fusionnés puissent être traités par un outil de fusion externe.

note: type: Plain text
en: A listing will be written to stdout providing the association of temporary file names to tracked path names.  The listing format has two variations:
fr: Une liste sera écrite sur stdout fournissant l'association des noms de fichiers temporaires aux noms de chemins suivis.  Le format de la liste a deux variantes :

note: type: Plain text
en: tempname TAB path RS
fr: nomtemporaire TAB chemin RS

note: type: Plain text
en: The first format is what gets used when `--stage` is omitted or is not `--stage=all`. The field tempname is the temporary file name holding the file content and path is the tracked path name in the index.  Only the requested entries are output.
fr: Le premier format est celui qui est utilisé lorsque `--stage` est omis ou n'est pas `--stage=all`. Le champ nomtemporaire est le nom du fichier temporaire contenant le contenu du fichier et chemin est le nom du chemin suivi dans l'index.  Seules les entrées demandées sont produites.

note: type: Plain text
en: stage1temp SP stage2temp SP stage3tmp TAB path RS
fr: index1temp SP index2temp SP index3tmp TAB chemin RS

note: type: Plain text
en: The second format is what gets used when `--stage=all`.  The three stage temporary fields (stage1temp, stage2temp, stage3temp) list the name of the temporary file if there is a stage entry in the index or `.` if there is no stage entry.  Paths which only have a stage 0 entry will always be omitted from the output.
fr: Le second format est celui qui est utilisé lorsque `--stage=all`.  Les trois champs temporaires index (index1temp, index2temp, index3temp) listent le nom du fichier temporaire s'il y a une entrée d'index dans l'index ou `.` s'il n'y a pas d'entrée d'index.  Les chemins qui ont seulement une entrée d'index 0 seront toujours omis de la sortie.

note: type: Plain text
en: In both formats RS (the record separator) is newline by default but will be the null byte if -z was passed on the command line.  The temporary file names are always safe strings; they will never contain directory separators or whitespace characters.  The path field is always relative to the current directory and the temporary file names are always relative to the top level directory.
fr: Dans les deux formats, RS (le séparateur d'enregistrement) est une nouvelle ligne par défaut mais sera l'octet nul si -z a été passé sur la ligne de commande.  Les noms des fichiers temporaires sont toujours des chaînes de caractères sûres ; ils ne contiendront jamais de séparateurs de répertoire ou de caractères d'espacement.  Le champ chemin est toujours relatif au répertoire courant et les noms de fichiers temporaires sont toujours relatifs au répertoire de premier niveau.

note: type: Plain text
en: If the object being copied out to a temporary file is a symbolic link the content of the link will be written to a normal file.  It is up to the end-user or the Porcelain to make use of this information.
fr: Si l'objet copié dans un fichier temporaire est un lien symbolique, le contenu du lien sera écrit dans un fichier normal.  C'est à l'utilisateur final ou au Porcelain de faire usage de cette information.

note: type: Labeled list
en: To update and refresh only the files already checked out
fr: Pour mettre à jour et rafraîchir uniquement les fichiers déjà extraits

note: type: Labeled list
en: Using 'git checkout-index' to "export an entire tree"
fr: Utilisation de 'git checkout-index' pour « exporter un arbre entier »

note: type: Plain text
en: The prefix ability basically makes it trivial to use 'git checkout-index' as an "export as tree" function.  Just read the desired tree into the index, and do:
fr: La possibilité de préfixe rend triviale l'utilisation de 'git checkout-index' comme une fonction « export comme arbre »".  Il suffit de lire l'arbre désiré dans l'index, et de faire :

note: type: Plain text
en: `git checkout-index` will "export" the index into the specified directory.
fr: `git checkout-index` va "exporter" l'index dans le répertoire spécifié.

note: type: Plain text
en: The final "/" is important. The exported name is literally just prefixed with the specified string.  Contrast this with the following example.
fr: Le "/" final est important. Le nom exporté est littéralement juste préfixé avec la chaîne spécifiée.  Comparez cela avec l'exemple suivant.

note: type: Labeled list
en: Export files with a prefix
fr: Exporter des fichiers avec un préfixe

note: type: Plain text
en: This will check out the currently cached copy of `Makefile` into the file `.merged-Makefile`.
fr: Ceci va extraire la copie actuellement en cache de `Makefile` dans le fichier `.merged-Makefile`.

note: type: Plain text
en: git-checkout - Switch branches or restore working tree files
fr: git-checkout - Bascule sur une autre branche ou restaure des fichiers de l'arbre de travail

note: type: Plain text
en: 'git checkout' [-q] [-f] [-m] [<branch>]
    'git checkout' [-q] [-f] [-m] --detach [<branch>]
    'git checkout' [-q] [-f] [-m] [--detach] <commit>
    'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
    'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>...
    'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]
    'git checkout' (-p|--patch) [<tree-ish>] [--] [<pathspec>...]
fr: 'git checkout' [-q] [-f] [-m] [<branche>]
    'git checkout' [-q] [-f] [-m] --detach [<branche>]
    'git checkout' [-q] [-f] [-m] [--detach] <commit>
    'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <nouvelle_branche>] [<point_de_départ>]
    'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<arbre-esque>] [--] <spécificateur-de-chemin>...-from-file=<fichier> [--pathspec-file-nul]
     'git checkout' [<tree-ish>] [--] <spécificateur-de-chemin>...
     'git checkout' (-p|--patch) [<arbre-esque>] [--] [<chemins>...]

note: type: Plain text
en: Updates files in the working tree to match the version in the index or the specified tree.  If no pathspec was given, 'git checkout' will also update `HEAD` to set the specified branch as the current branch.
fr: Met à jour les fichiers dans l'arbre de travail pour correspondre à la version dans l'index ou dans l'arbre spécifié. Si aucun spécificateur de chemin n'est fourni, 'git checkout' met aussi à jour `HEAD` pour positionner la branche spécifiée comme la branche actuelle.

note: type: Labeled list
en: 'git checkout' [<branch>]
fr: 'git checkout' [<branche>]

note: type: Plain text
en: To prepare for working on `<branch>`, switch to it by updating the index and the files in the working tree, and by pointing `HEAD` at the branch. Local modifications to the files in the working tree are kept, so that they can be committed to the `<branch>`.
fr: Pour se préparer à travailler sur `<branche>`, basculer dessus en mettant l'index et les fichiers de l'arbre de travail à jour, et en pointant `HEAD` sur cette branche. Les modifications locales aux fichiers de l'arbre de travail sont conservées, de sorte qu'elles peuvent être validées sur la `<branche>`.

note: type: Plain text
en: If `<branch>` is not found but there does exist a tracking branch in exactly one remote (call it `<remote>`) with a matching name and `--no-guess` is not specified, treat as equivalent to
fr: Si la `<branche>` n'est pas trouvée mais qu'il existe une branche de suivi pour un dépôt distant unique (appelée `<distant>`) avec un nom correspondant et `--no-guess` n'est pas spécifié, le traiter comme équivalent à

note: type: delimited block -
en: $ git checkout -b <branch> --track <remote>/<branch>
fr: $ git checkout -b <branche> --track <distant>/<branche>

note: type: Plain text
en: You could omit `<branch>`, in which case the command degenerates to "check out the current branch", which is a glorified no-op with rather expensive side-effects to show only the tracking information, if exists, for the current branch.
fr: Vous pourriez omettre `<branche>`, auquel cas la commande dégénère en « extraire la branche actuelle », qui est une opération nulle de luxe avec des effets de bord plutôt chers de ne montrer que l'information de suivi, si elle existe, pour la branche actuelle.

note: type: Labeled list
en: 'git checkout' -b|-B <new_branch> [<start point>]
fr: 'git checkout' -b|-B <nouvelle_branche> [<point_de_départ>]

note: type: Plain text
en: Specifying `-b` causes a new branch to be created as if linkgit:git-branch[1] were called and then checked out.  In this case you can use the `--track` or `--no-track` options, which will be passed to 'git branch'.  As a convenience, `--track` without `-b` implies branch creation; see the description of `--track` below.
fr: Spécifier `-b` provoque la création d'une nouvelle branche comme si linkgit:git-branch[1] était lancé puis la branche extraite. Dans ce cas, vous pouvez utiliser les options `--track` ou `--no-track`, qui seront passées à 'git branch'. Pour plus de confort, `--track` sans `-b` implique la création d'une branche ; voir la description de `--track` ci-dessous.

note: type: Plain text
en: If `-B` is given, `<new_branch>` is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of
fr: Si `-B` est fourni, `<nouvelle_branche>` est créée si elle n'existe pas ; sinon, elle est réinitialisée. C'est l'équivalent transactionnel de

note: type: delimited block -
en: $ git branch -f <branch> [<start point>]
    $ git checkout <branch>
fr: $ git branch -f <branche> [<point_de_départ>]
    $ git checkout <branche>

note: type: Plain text
en: that is to say, the branch is not reset/created unless "git checkout" is successful.
fr: ce qui veut dire que la branche n'est pas créée ou réinitialisée à moins que « git checkout » soit réussie.

note: type: Labeled list
en: 'git checkout' --detach [<branch>]
fr: 'git checkout' --detach [<branche>]

note: type: Plain text
en: Prepare to work on top of `<commit>`, by detaching `HEAD` at it (see "DETACHED HEAD" section), and updating the index and the files in the working tree.  Local modifications to the files in the working tree are kept, so that the resulting working tree will be the state recorded in the commit plus the local modifications.
fr: Prépare à travailler par-dessus `<commit>`, en détachant `HEAD` dessus (voir la section « HEAD DÉTACHÉE »), et en mettant l'index et les fichiers de l'arbre de travail à jour. Les modifications locales des fichiers dans l'arbre de travail sont conservées, de sorte que l'arbre de travail sera le résultat du commit plus les modifications locales.

note: type: Plain text
en: When the `<commit>` argument is a branch name, the `--detach` option can be used to detach `HEAD` at the tip of the branch (`git checkout <branch>` would check out that branch without detaching `HEAD`).
fr: Quand l'argument `<commit>` est un nom de branche, l'option `--detach` peut être utilisée pour détacher `HEAD` au sommet de la branche (`git checkout <branche>` extrairait cette branche sans détacher `HEAD`).

note: type: Plain text
en: Omitting `<branch>` detaches `HEAD` at the tip of the current branch.
fr: Omettre `<branche>` détache `HEAD` au sommet de la branche actuelle.

note: type: Labeled list
en: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>...
fr: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<arbre-esque>] [--] <spéc. de chemin>...

note: type: Labeled list
en: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]
fr: 'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<arbre-esque>] --pathspec-from-file=<fichier> [--pathspec-file-nul]

note: type: Plain text
en: Overwrite the contents of the files that match the pathspec.  When the `<tree-ish>` (most often a commit) is not given, overwrite working tree with the contents in the index.  When the `<tree-ish>` is given, overwrite both the index and the working tree with the contents at the `<tree-ish>`.
fr: Écraser le contenu des fichiers qui correspondent au spécificateur-de-chemin.  Lorsque le `<arbre-esque>` (le plus souvent un commit) n'est pas donné, écraser l'arbre de travail avec le contenu de l'index.  Lorsque le `<arbre-esque>` est donné, écraser à la fois l'index et l'arbre de travail avec le contenu du `<arbre-esque>`.

note: type: Plain text
en: The index may contain unmerged entries because of a previous failed merge.  By default, if you try to check out such an entry from the index, the checkout operation will fail and nothing will be checked out.  Using `-f` will ignore these unmerged entries.  The contents from a specific side of the merge can be checked out of the index by using `--ours` or `--theirs`.  With `-m`, changes made to the working tree file can be discarded to re-create the original conflicted merge result.
fr: L'index peut contenir des entrées non fusionnées à cause d'un échec précédent de fusion. Par défaut, si vous essayez d'extraire une telle entrée depuis l'index, l'opération d'extraction échouera et rien ne sera extrait. L'utilisation de `-f` forcera à ignorer ces entrées non fusionnées. Le contenu depuis un côté donné de la fusion peut être extrait de l'index en utilisant `--ours` (notre côté) ou `--theirs` (l'autre côté). Avec `-m`, les modifications opérées sur le fichier de l'arbre de travail peuvent être jetées pour récréer le résultat originel de conflit de fusion.

note: type: Labeled list
en: 'git checkout' (-p|--patch) [<tree-ish>] [--] [<pathspec>...]
fr: 'git checkout' (-p|--patch) [<arbre-esque>] [--] [<spéc. de chemin>...]

note: type: Plain text
en: This is similar to the previous mode, but lets you use the interactive interface to show the "diff" output and choose which hunks to use in the result.  See below for the description of `--patch` option.
fr: C'est similaire au mode précédent, mais vous laisse utiliser l'interface interactive pour afficher la sortie « diff » et choisir quelles sections utiliser dans le résultat. Voir plus bas la description de l'option `--patch`.

note: type: Plain text
en: Quiet, suppress feedback messages.
fr: Silencieux, supprimer les messages d'état.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag enables progress reporting even if not attached to a terminal, regardless of `--quiet`.
fr: L'état d'avancement est affiché sur la sortie standard d'erreur par défaut quand elle est attachée à un terminal, à moins que `--quiet` ne soit spécifié. Cette bascule active l'état d'avancement même sans être attaché à un terminal, indépendamment de `--quiet`.

note: type: Plain text
en: When switching branches, proceed even if the index or the working tree differs from `HEAD`.  This is used to throw away local changes.
fr: Lors du basculement de branche, continuer même si l'index ou l'arbre de travail sont différents de `HEAD`. Ceci peut servir à éliminer des modifications locales.

note: type: Plain text
en: When checking out paths from the index, do not fail upon unmerged entries; instead, unmerged entries are ignored.
fr: Lors de l'extraction de chemins depuis l'index, ne pas échouer sur des entrées non fusionnées ; à la place, les entrées non fusionnées sont ignorées.

note: type: Plain text
en: When checking out paths from the index, check out stage #2 ('ours') or #3 ('theirs') for unmerged paths.
fr: Lors de l'extraction de chemins depuis l'index, extraire l'état #2 ('ours', le nôtre) ou #3 ('theirs', le leur) pour les chemins non fusionnés.

note: type: Plain text
en: Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' may appear swapped; `--ours` gives the version from the branch the changes are rebased onto, while `--theirs` gives the version from the branch that holds your work that is being rebased.
fr: Veuillez noter que pendant `git rebase` et `git pull --rebase`, `ours` et `theirs` peuvent sembler échangés ; `--ours` fournit la version depuis la branche sur laquelle les modifications sont rebasées, tandis que `--theirs` fournit la version de la branche qui contient le travail rebasé.

note: type: Plain text
en: This is because `rebase` is used in a workflow that treats the history at the remote as the shared canonical one, and treats the work done on the branch you are rebasing as the third-party work to be integrated, and you are temporarily assuming the role of the keeper of the canonical history during the rebase.  As the keeper of the canonical history, you need to view the history from the remote as `ours` (i.e. "our shared canonical history"), while what you did on your side branch as `theirs` (i.e. "one contributor's work on top of it").
fr: C'est parce que `rebase` est utilisé dans une approche qui traite l'historique distant comme la référence canonique partagée, et traite le travail sur la branche que vous rebasez comme un travail tiers à intégrer, et vous endossez temporairement le rôle du gardien de l'historique canonique quand vous rebasez. En tant que gardien de l'historique canonique, vous devez voir l'historique distant comme le vôtre ('ours', c'est-à-dire « notre historique partagé canonique »), tandis que votre travail sur l'autre branche devient le tiers ('theirs', c'est-à-dire « le travail d'un contributeur sur le canonique »).

note: type: Labeled list
en: -b <new_branch>
fr: -b <nouvelle_branche>

note: type: Plain text
en: Create a new branch named `<new_branch>` and start it at `<start_point>`; see linkgit:git-branch[1] for details.
fr: Créer une nouvelle branche nommée `<nouvelle_branche>` et la commencer à `<point_de_départ>` ; voir linkgit:git-branch[1] pour plus de détails.

note: type: Labeled list
en: -B <new_branch>
fr: -B <nouvelle_branche>

note: type: Plain text
en: Creates the branch `<new_branch>` and start it at `<start_point>`; if it already exists, then reset it to `<start_point>`. This is equivalent to running "git branch" with "-f"; see linkgit:git-branch[1] for details.
fr: Créer la branche `<nouvelle_branche>` et la commencer à `<point_de_départ>` ; si elle existe déjà, alors la réinitialise à `<point_de_départ>`. C'est équivalent à lancer 'git branch' avec `-f` ; voir linkgit:git-branch[1] pour plus de détails.

note: type: Plain text
en: When creating a new branch, set up "upstream" configuration. See "--track" in linkgit:git-branch[1] for details.
fr: À la création d'une nouvelle branche, établir la configuration 'upstream' (branche amont). Voir `--track` dans linkgit:git-branch[1] pour plus de détails.

note: type: Plain text
en: If no `-b` option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of the refspec configured for the corresponding remote, and then stripping the initial part up to the "*".  This would tell us to use `hack` as the local branch when branching off of `origin/hack` (or `remotes/origin/hack`, or even `refs/remotes/origin/hack`).  If the given name has no slash, or the above guessing results in an empty name, the guessing is aborted.  You can explicitly give a name with `-b` in such a case.
fr: Si aucune option `-b` n'est fournie, le nom de la nouvelle branche sera dérivé de la branche de suivi à distance, en regardant la partie locale de la spécification de référence configurée pour le distant correspondant et en enlevant la partie initiale jusqu'au "*". Cela indiquerait d'utiliser le nom « `hack` » comme branche locale créée à partir de `origin/hack` (ou `remotes/origin/hack`, ou même `refs/remotes/origin/hack`). Si le nom fourni ne contient pas de barre oblique, ou si le résultat de la dérivation est un nom vide, la dérivation échoue. Vous pouvez spécifier explicitement un nom avec `-b` dans ce cas.

note: type: Plain text
en: Do not set up "upstream" configuration, even if the `branch.autoSetupMerge` configuration variable is true.
fr: Ne pas renseigner la configuration « amont », même si la configuration `branch.autoSetupMerge` est true.

note: type: Plain text
en: If `<branch>` is not found but there does exist a tracking branch in exactly one remote (call it `<remote>`) with a matching name, treat as equivalent to
fr: Si la `<branche>` n'est pas trouvée mais qu'il existe une branche de suivi pour un dépôt distant unique (appelé `<distant>`) avec un nom correspondant, le traiter comme équivalent à

note: type: Plain text
en: If the branch exists in multiple remotes and one of them is named by the `checkout.defaultRemote` configuration variable, we'll use that one for the purposes of disambiguation, even if the `<branch>` isn't unique across all remotes. Set it to e.g. `checkout.defaultRemote=origin` to always checkout remote branches from there if `<branch>` is ambiguous but exists on the 'origin' remote. See also `checkout.defaultRemote` in linkgit:git-config[1].
fr: Si la branche existe dans plus d'un distant et que l'un d'entre eux est la valeur de la variable de configuration `checkout.defaultRemote`, celui-ci sera utilisé pour désambiguïser, même si la <branche> n'est pas unique parmi tous les distants. Réglez la variable `checkout.defaultRemote=origin` par exemple pour extraire toujours les branches distantes depuis celle-ci si <branche> est ambigüe mais existe sur le distant 'origin'. Voir aussi `checkout.defaultRemote` dans linkgit:git-config[1].

note: type: Plain text
en: `--guess` is the default behavior. Use `--no-guess` to disable it.
fr: `--guess` est le comportement par défaut. Utilisez `--no-guess` pour le désactiver.

note: type: Plain text
en: The default behavior can be set via the `checkout.guess` configuration variable.
fr: Le comportement par défaut peut être défini via la variable de configuration `checkout.guess`.

note: type: Plain text
en: Create the new branch's reflog; see linkgit:git-branch[1] for details.
fr: Créer le reflog de la nouvelle branche ; voir linkgit:git-branch[1] pour plus de détails.

note: type: Plain text
en: Rather than checking out a branch to work on it, check out a commit for inspection and discardable experiments.  This is the default behavior of `git checkout <commit>` when `<commit>` is not a branch name.  See the "DETACHED HEAD" section below for details.
fr: Plutôt que d'extraire une branche pour travailler dessus, extraire un commit pour l'inspecter et faire des expériences jetables. C'est le comportement par défaut de `git checkout <commit>` quand `<commit>` n'est pas un nom de branche. Voir la section « HEAD DÉTACHÉE » plus bas pour plus de détails.

note: type: Labeled list
en: --orphan <new_branch>
fr: --orphan <nouvelle_branche>

note: type: Plain text
en: Create a new 'orphan' branch, named `<new_branch>`, started from `<start_point>` and switch to it.  The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits.
fr: Créer une nouvelle branche « orpheline », nommée `<nouvelle_branche>`, commençant depuis `<point_de_départ>` et basculer dessus. Le premier commit réalisé sur cette branche n'aura pas de parent et il sera la racine du nouvel historique totalement déconnecté de toutes les autres branches et des autres commits.

note: type: Plain text
en: The index and the working tree are adjusted as if you had previously run `git checkout <start_point>`.  This allows you to start a new history that records a set of paths similar to `<start_point>` by easily running `git commit -a` to make the root commit.
fr: L'index et l'arbre de travail sont ajustés comme si vous aviez déjà lancé `git checkout <point_de_départ>`. Cela vous permet de démarrer un nouvel historique qui enregistre un ensemble de chemins similaires à `<point_de_départ>` en lançant simplement `git commit -a` pour créer le commit racine.

note: type: Plain text
en: This can be useful when you want to publish the tree from a commit without exposing its full history. You might want to do this to publish an open source branch of a project whose current tree is "clean", but whose full history contains proprietary or otherwise encumbered bits of code.
fr: Ceci peut être utile quand vous souhaitez publier un arbre depuis un commit sans exposer tout son historique. Vous pourriez souhaiter le faire pour publier un branche open source d'un projet dont l'arbre présent est « propre », mais dont l'historique complet contient des morceaux de code propriétaire ou autrement non publiables.

note: type: Plain text
en: If you want to start a disconnected history that records a set of paths that is totally different from the one of `<start_point>`, then you should clear the index and the working tree right after creating the orphan branch by running `git rm -rf .` from the top level of the working tree.  Afterwards you will be ready to prepare your new files, repopulating the working tree, by copying them from elsewhere, extracting a tarball, etc.
fr: Si vous voulez démarrer un historique déconnecté qui enregistre un ensemble de chemins qui sont totalement différents de celui de `<point_de_départ>`, vous devriez effacer l'index et l'arbre de travail juste après avoir créé la branche orpheline en lançant `git rm -rf .` depuis la racine de l'arbre de travail. Après, vous pourrez préparer vos nouveaux fichiers, pour repeupler l'arbre de travail, en les copiant depuis un autre endroit, en les extrayant depuis une archive, etc.

note: type: Plain text
en: In sparse checkout mode, `git checkout -- <paths>` would update only entries matched by `<paths>` and sparse patterns in `$GIT_DIR/info/sparse-checkout`. This option ignores the sparse patterns and adds back any files in `<paths>`.
fr: En mode d'extraction clairsemé, `git checkout -- <chemins>` mettrait seulement à jour les entrées correspondant à `<chemins>` et aux motifs clairsemés dans `$GIT_DIR/info/sparse-checkout`. Cette option ignore les motifs clairsemés et ré-ajoute tous les fichiers de `<chemins>`.

note: type: Plain text
en: When switching branches, if you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in order to preserve your modifications in context.  However, with this option, a three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch.
fr: Lors d'un basculement de branche, si vous avez des modifications locales sur un fichier ou plus qui sont différentes entre la branche actuelle et celle sur laquelle vous basculez, la commande refuse le basculement pour préserver vos modifications dans leur contexte. Cependant, avec cette option, une fusion à trois points entre la branche actuelle, le contenu de votre arbre de travail et la nouvelle branche est opérée et vous serez sur la nouvelle branche.

note: type: Plain text
en: When a merge conflict happens, the index entries for conflicting paths are left unmerged, and you need to resolve the conflicts and mark the resolved paths with `git add` (or `git rm` if the merge should result in deletion of the path).
fr: Quand un conflit de fusion apparaît, les entrées d'index pour les chemins en conflit sont laissées non-fusionnées et vous devez résoudre les conflits et les marquer résolus pour les chemins concernés avec `git add` (ou `git rm` si la fusion doit aboutir à la suppression du chemin).

note: type: Plain text
en: When checking out paths from the index, this option lets you recreate the conflicted merge in the specified paths.
fr: Lors de l'extraction de chemins depuis l'index, cette option vous permet de récréer la fusion en conflit dans les chemins spécifiés.

note: type: Plain text
en: When switching branches with `--merge`, staged changes may be lost.
fr: Lors du basculement de branche avec '--merge', les modifications indexées peuvent être perdues.

note: type: Plain text
en: The same as `--merge` option above, but changes the way the conflicting hunks are presented, overriding the `merge.conflictStyle` configuration variable.  Possible values are "merge" (default) and "diff3" (in addition to what is shown by "merge" style, shows the original contents).
fr: Identique à l'option `--merge` ci-dessus, mais la manière dont les sections en conflits sont présentées est modifiée, en surchargeant la variable de configuration `merge.conflictStyle`. Les valeurs possibles sont `merge` (fusion, par défaut) et `diff3` (en plus de ce qui est affiché avec le style `merge`, affiche aussi le contenu d'origine).

note: type: Plain text
en: Interactively select hunks in the difference between the `<tree-ish>` (or the index, if unspecified) and the working tree.  The chosen hunks are then applied in reverse to the working tree (and if a `<tree-ish>` was specified, the index).
fr: Sélectionner interactivement les sections dans la différence entre l'`<arbre-esque>` (ou l'index, si non spécifié) et l'arbre de travail. Les sections choisies sont ensuite appliquées en ordre inversé à l'arbre de travail (et si un `<arbre-esque>` a été spécifié, à l'index).

note: type: Plain text
en: This means that you can use `git checkout -p` to selectively discard edits from your current working tree. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
fr: Ceci signifie que vous pouvez utiliser `git checkout -p` pour supprimer sélectivement les éditions depuis votre arbre de travail actuel. Voir la section « Mode Interactif » de linkgit:git-add[1] pour apprendre à utiliser le mode `--patch`.

note: type: Plain text
en: Note that this option uses the no overlay mode by default (see also `--overlay`), and currently doesn't support overlay mode.
fr: Notez que cette option utilise par défaut le mode sans superposition (voir aussi `--overlay`), et ne supporte pas actuellement le mode superposition.

note: type: Plain text
en: `git checkout` refuses when the wanted ref is already checked out by another worktree. This option makes it check the ref out anyway. In other words, the ref can be held by more than one worktree.
fr: `git checkout` échoue quand la référence voulue est déjà extraite dans un autre arbre de travail. Cette option force l'extraction. En d'autres termes, la réf peut être tenue par plus d'un arbre de travail.

note: type: Plain text
en: Silently overwrite ignored files when switching branches. This is the default behavior. Use `--no-overwrite-ignore` to abort the operation when the new branch contains ignored files.
fr: Écraser silencieusement les fichiers ignorés lors du basculement de branche. C'est le comportement par défaut. Utilisez `--no overwrite-ignore` pour annuler l'opération lorsque la nouvelle branche contient des fichiers ignorés.

note: type: Plain text
en: Using `--recurse-submodules` will update the content of all active submodules according to the commit recorded in the superproject. If local modifications in a submodule would be overwritten the checkout will fail unless `-f` is used. If nothing (or `--no-recurse-submodules`)  is used, submodules working trees will not be updated.  Just like linkgit:git-submodule[1], this will detach `HEAD` of the submodule.
fr: L'utilisation de `--recurse-submodules` permet de mettre à jour le contenu de tous les sous-modules actifs en fonction du commit enregistré dans le super-projet. Si des modifications locales au sous-modules seraient écrasées, l'extraction échoue à moins d'utiliser `-f`. Si l'option n'est pas spécifiée (ou si `--no-recurse-submodules` est spécifié), les arbres de travail des sous-modules ne sont pas mis à jour. Comme linkgit:git-submodule[1], la `HEAD` des sous-modules sera détachée.

note: type: Plain text
en: In the default overlay mode, `git checkout` never removes files from the index or the working tree.  When specifying `--no-overlay`, files that appear in the index and working tree, but not in `<tree-ish>` are removed, to make them match `<tree-ish>` exactly.
fr: Dans le mode de superposition par défaut,  `git checkout` ne supprime jamais les fichiers de l’index ou de l’arbre de travail.  Lorsque vous spécifiez `--no-overlay`, les fichiers qui apparaissent dans l’index et l’arbre de travail, mais pas dans «<arbre-esque>» sont supprimés, pour les faire correspondre à `<arbre-esque>` exactement.

note: type: Labeled list
en: <branch>
fr: <branche>

note: type: Plain text
en: Branch to checkout; if it refers to a branch (i.e., a name that, when prepended with "refs/heads/", is a valid ref), then that branch is checked out. Otherwise, if it refers to a valid commit, your `HEAD` becomes "detached" and you are no longer on any branch (see below for details).
fr: Branche à extraire ; si c'est une référence à une branche (c'est-à-dire un nom qui, préfixé par « refs/heads/ » est une référence valide), alors cette branche est extraite. Sinon, si c'est une référence à un commit valide, votre `HEAD` devient « détachée » et vous n'êtes plus sur aucune branche (voir plus bas pour plus de détails).

note: type: Plain text
en: You can use the `@{-N}` syntax to refer to the N-th last branch/commit checked out using "git checkout" operation. You may also specify `-` which is synonymous to `@{-1}`.
fr: Vous pouvez utiliser la syntaxe `@{-N}` pour faire référence à la N-ième dernière branche ou commit extrait en utilisant une opération « git checkout ». Vous pouvez aussi spécifier `-` qui est synonyme de `@{-1}`.

note: type: Plain text
en: As a special case, you may use `A...B` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.
fr: Autre cas spécial supplémentaire, vous pouvez utiliser `A...B` comme raccourci pour la base de fusion de `A` et `B` s'il y a exactement une seule base de fusion. Vous pouvez ne pas spécifier `A` ou `B`, auquel cas ce sera `HEAD` par défaut.

note: type: Labeled list
en: <new_branch>
fr: <nouvelle_branche>

note: type: Plain text
en: Name for the new branch.
fr: Nom pour une nouvelle branche.

note: type: Labeled list
en: <start_point>
fr: <point_de_départ>

note: type: Plain text
en: The name of a commit at which to start the new branch; see linkgit:git-branch[1] for details. Defaults to `HEAD`.
fr: Le nom du commit auquel démarrer la nouvelle branche ; voir linkgit:git-branch[1] pour plus de détails. `HEAD` par défaut.

note: type: Plain text
en: As a special case, you may use `"A...B"` as a shortcut for the merge base of `A` and `B` if there is exactly one merge base. You can leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.
fr: Autre cas spécial supplémentaire, vous pouvez utiliser « A...B » comme raccourci pour la base de fusion de `A` et `B` s'il y a exactement une seule base de fusion. Vous pouvez ne pas spécifier `A` ou `B`, auquel cas ce sera `HEAD` par défaut.

note: type: Plain text
en: Tree to checkout from (when paths are given). If not specified, the index will be used.
fr: Arbre depuis lequel extraire (quand des chemins sont indiqués). Si non spécifié, l'index est utilisé.

note: type: Plain text
en: Limits the paths affected by the operation.
fr: Limite les chemins affectés par l'opération.

note: type: Plain text
en: For more details, see the 'pathspec' entry in linkgit:gitglossary[7].
fr: Pour plus de détail, voir l'entrée 'spécificateur de chemin' dans linkgit:gitglossary[7].

note: type: Title -
en: DETACHED HEAD
fr: HEAD DÉTACHÉE

note: type: Plain text
en: `HEAD` normally refers to a named branch (e.g. `master`). Meanwhile, each branch refers to a specific commit. Let's look at a repo with three commits, one of them tagged, and with branch `master` checked out:
fr: `HEAD` fait normalement référence à une branche nommée (par exemple, `master`). Dans le même temps, chaque branche pointe sur un commit spécifique. Regardons un dépôt avec trois commits, dont un est étiqueté, et avec la branche `master` extraite :

note: type: delimited block -
en:            HEAD (refers to branch 'master')
                |
                v
    a---b---c  branch 'master' (refers to commit 'c')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
fr:            HEAD (se réfère à la branche 'master')
                |
                v
    a---b---c  branch 'master' (se réfère au commit 'c')
        ^
        |
      tag 'v2.0' (se réfère au commit 'b')

note: type: Plain text
en: When a commit is created in this state, the branch is updated to refer to the new commit. Specifically, 'git commit' creates a new commit `d`, whose parent is commit `c`, and then updates branch `master` to refer to new commit `d`. `HEAD` still refers to branch `master` and so indirectly now refers to commit `d`:
fr: Quand un commit est créé dans cet état, la branche est mise à jour pour faire référence au nouveau commit. Plus précisément, 'git commit' crée un nouveau commit `d`, dont le parent est le commit `c`, et ainsi elle met à jour la branche `master` pour faire référence au nouveau commit `d`. `HEAD` fait toujours référence à la branche `master` et donc fait maintenant référence indirectement au commit `d` :

note: type: delimited block -
en:                HEAD (refers to branch 'master')
                    |
                    v
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
fr:                HEAD (se réfère à la branche 'master')
                    |
                    v
    a---b---c---d  branche 'master' (se réfère au commit 'd')
        ^
        |
      tag 'v2.0' (se réfère au commit 'b')

note: type: Plain text
en: It is sometimes useful to be able to checkout a commit that is not at the tip of any named branch, or even to create a new commit that is not referenced by a named branch. Let's look at what happens when we checkout commit `b` (here we show two ways this may be done):
fr: Il est parfois utile de permettre l'extraction d'un commit qui n'est sommet d'aucune branche ou même de créer un nouveau commit qui n'est pas référencé par une branche nommée. Regardons ce qui arrive quand on extrait le commit `b` (ici, deux manières de faire sont montrées) :

note: type: delimited block -
en: $ git checkout v2.0  # or
    $ git checkout master^^
fr: $ git checkout v2.0  # ou
    $ git checkout master^^

note: type: delimited block -
en:    HEAD (refers to commit 'b')
        |
        v
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
fr:    HEAD (se réfère au commit 'b')
        |
        v
    a---b---c---d  branch 'master' (se réfère au commit 'd')
        ^
        |
      tag 'v2.0' (se réfère au commit 'b')

note: type: Plain text
en: Notice that regardless of which checkout command we use, `HEAD` now refers directly to commit `b`. This is known as being in detached `HEAD` state.  It means simply that `HEAD` refers to a specific commit, as opposed to referring to a named branch. Let's see what happens when we create a commit:
fr: Veuillez noter que quelle que soit la commande d'extraction utilisée, `HEAD` pointe maintenant directement sur le commit `b`. C'est connu comme étant l'état `HEAD` détachée. Ceci signifie simplement que `HEAD` fait référence à un commit spécifique, par opposition à une référence à une branche nommée. Voyons ce qui arrive quand un commit est créé :

note: type: delimited block -
en:      HEAD (refers to commit 'e')
          |
          v
          e
         /
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
fr:      HEAD (se réfère au commit 'e')
          |
          v
          e
         /
    a---b---c---d  branche 'master' (se réfère au commit 'd')
        ^
        |
      tag 'v2.0' (se réfère au commit 'b')

note: type: Plain text
en: There is now a new commit `e`, but it is referenced only by `HEAD`. We can of course add yet another commit in this state:
fr: Il y a maintenant un nouveau commit `e` mais il est référencé seulement par `HEAD`. Un autre commit peut bien sûr être ajouté dans cet état :

note: type: delimited block -
en: 	 HEAD (refers to commit 'f')
    	  |
    	  v
          e---f
         /
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
fr: 	 HEAD (se réfère au commit 'f')
    	  |
    	  v
          e---f
         /
    a---b---c---d  branche 'master' (se réfère au commit 'd')
        ^
        |
      tag 'v2.0' (se réfère au commit 'b')

note: type: Plain text
en: In fact, we can perform all the normal Git operations. But, let's look at what happens when we then checkout `master`:
fr: En fait, toutes les opérations normales de Git peuvent être exécutées. Mais, regardons ce qui arrive quand `master` est extraite :

note: type: delimited block -
en:                HEAD (refers to branch 'master')
          e---f     |
         /          v
    a---b---c---d  branch 'master' (refers to commit 'd')
        ^
        |
      tag 'v2.0' (refers to commit 'b')
fr:                HEAD (se réfère au branch 'master')
          e---f     |
         /          v
    a---b---c---d  branche 'master' (se réfère au commit 'd')
        ^
        |
      tag 'v2.0' (se réfère au commit 'b')

note: type: Plain text
en: It is important to realize that at this point nothing refers to commit `f`. Eventually commit `f` (and by extension commit `e`) will be deleted by the routine Git garbage collection process, unless we create a reference before that happens. If we have not yet moved away from commit `f`, any of these will create a reference to it:
fr: Il est important de réaliser qu'à ce moment, rien ne fait référence au commit `f`. Finalement, le commit `f` (et par extension le commit `e`) sera supprimé par le processus de ramasse-miette régulier de Git, à moins de créer une référence avant que cela n'arrive. Si vous n'avez pas encore quitté le commit `f`, une des commandes suivantes permet de créer une référence sur lui :

note: type: Plain text
en: creates a new branch `foo`, which refers to commit `f`, and then updates `HEAD` to refer to branch `foo`. In other words, we'll no longer be in detached `HEAD` state after this command.
fr: crée une nouvelle branche `foo` qui fait référence au commit `f`, puis met à jour `HEAD` pour faire référence à la branche `foo`. En d'autres termes, l'état ne sera plus en `HEAD` détachée après cette commande.

note: type: Plain text
en: similarly creates a new branch `foo`, which refers to commit `f`, but leaves `HEAD` detached.
fr: crée aussi une nouvelle branche `foo` qui fait référence au commit `f` mais laisse `HEAD` détachée.

note: type: Plain text
en: creates a new tag `foo`, which refers to commit `f`, leaving `HEAD` detached.
fr: crée une nouvelle étiquette `foo` qui fait référence au commit `f`, en laissant `HEAD` détachée.

note: type: Plain text
en: If we have moved away from commit `f`, then we must first recover its object name (typically by using git reflog), and then we can create a reference to it. For example, to see the last two commits to which `HEAD` referred, we can use either of these commands:
fr: Si nous ne sommes plus sur `f`, alors nous devons d'abord retrouver son nom d'objet (typiquement en utilisant git reflog), puis nous pouvons créer une référence dessus. Par exemple, pour voir les deux derniers commits sur lesquels `HEAD` pointait, nous pouvons utiliser l'une des commandes suivantes :

note: type: delimited block -
en: $ git reflog -2 HEAD # or
    $ git log -g -2 HEAD
fr: $ git reflog -2 HEAD # ou
    $ git log -g -2 HEAD

note: type: Title -
en: ARGUMENT DISAMBIGUATION
fr: DÉSAMBIGUÏSATION D'ARGUMENT

note: type: Plain text
en: When there is only one argument given and it is not `--` (e.g. `git checkout abc`), and when the argument is both a valid `<tree-ish>` (e.g. a branch `abc` exists) and a valid `<pathspec>` (e.g. a file or a directory whose name is "abc" exists), Git would usually ask you to disambiguate.  Because checking out a branch is so common an operation, however, `git checkout abc` takes "abc" as a `<tree-ish>` in such a situation.  Use `git checkout -- <pathspec>` if you want to checkout these paths out of the index.
fr: Quand il n'y a qu'un argument fourni et qu'il n'est pas `--` (par exemple `git checkout abc`) et quand l'argument est à la fois un `<arbre-esque>` valide (par exemple une branche `abc` existe) et un <spécificateur_de_chemin> valide (par exemple un fichier ou un répertoire du nom de « abc » existe), Git vous demandera généralement de lever l'ambiguïté. Du fait qu'extraire une branche est une opération très commune, cependant, `git checkout abc` considère « abc » comme un <arbre-esque> dans une telle situation. Utilisez `git checkout -- <spécificateur_de_chemin>` si vous voulez extraire ces chemins depuis l'index.

note: type: Plain text
en: The following sequence checks out the `master` branch, reverts the `Makefile` to two revisions back, deletes `hello.c` by mistake, and gets it back from the index.
fr: La séquence suivante extrait la branche `master`, ramène le fichier `Makefile` à deux révisions en arrière, supprime `hello.c` par erreur et le récupère de l'index.

note: type: Plain text
en: switch branch
fr: bascule de branche

note: type: Plain text
en: take a file out of another commit
fr: prend un fichier depuis un autre commit

note: type: Plain text
en: restore `hello.c` from the index
fr: restaure `hello.c` depuis l'index

note: type: Plain text
en: If you want to check out _all_ C source files out of the index, you can say
fr: Si vous souhaitez extraire _tous_ les fichiers source C de l'index, vous pouvez lancer

note: type: Plain text
en: Note the quotes around `*.c`.  The file `hello.c` will also be checked out, even though it is no longer in the working tree, because the file globbing is used to match entries in the index (not in the working tree by the shell).
fr: Notez les guillemets autour de `*.c`. Le fichier `hello.c` sera aussi extrait, même s'il n'est plus dans l'arbre de travail, parce que le patron de fichier est utilisé pour trouver les entrées dans l'index (et non dans l'arbre de travail par le shell).

note: type: Plain text
en: If you have an unfortunate branch that is named `hello.c`, this step would be confused as an instruction to switch to that branch.  You should instead write:
fr: Si vous avez une branche qui s'appelle malheureusement `hello.c`, cette étape pourrait être confondue avec une instruction de basculer sur cette branche. Vous devriez alors plutôt écrire :

note: type: Plain text
en: After working in the wrong branch, switching to the correct branch would be done using:
fr: Après avoir travaillé dans la mauvaise branche, basculer sur la branche correcte serait réalisé par :

note: type: delimited block -
en: $ git checkout mytopic
fr: $ git checkout monsujet

note: type: Plain text
en: However, your "wrong" branch and correct `mytopic` branch may differ in files that you have modified locally, in which case the above checkout would fail like this:
fr: Cependant, votre « fausse » branche et votre branche correcte `monsujet` peuvent être différentes par les fichiers que vous avez modifiés localement, auquel cas l'extraction ci-dessus échouerait comme ceci :

note: type: delimited block -
en: $ git checkout mytopic
    error: You have local changes to 'frotz'; not switching branches.
fr: $ git checkout monsujet
    error: Vos modifications locales aux fichiers suivants seraient écrasées par l'extraction :

note: type: Plain text
en: You can give the `-m` flag to the command, which would try a three-way merge:
fr: Vous pouvez fournir l'option `-m` à la commande, ce qui essaierait une fusion à trois points :

note: type: delimited block -
en: $ git checkout -m mytopic
    Auto-merging frotz
fr: $ git checkout -m monsujet
    Fusion automatique de frotz

note: type: Plain text
en: After this three-way merge, the local modifications are _not_ registered in your index file, so `git diff` would show you what changes you made since the tip of the new branch.
fr: Après cette fusion à trois points, les modifications locales ne sont _pas_ enregistrées dans votre index, donc `git diff` vous montrerait ce qui a changé depuis le sommet de la nouvelle branche.

note: type: Plain text
en: When a merge conflict happens during switching branches with the `-m` option, you would see something like this:
fr: Quand un conflit de fusion arrive pendant un basculement de branche avec l'option `-m`, vous devriez voir quelque chose comme :

note: type: delimited block -
en: $ git checkout -m mytopic
    Auto-merging frotz
    ERROR: Merge conflict in frotz
    fatal: merge program failed
fr: $ git checkout -m mytopic
    Fusion automatique de frotz
    CONFLIT (contenu): Conflit de fusion dans frotz
    fatal: merge program failed

note: type: Plain text
en: At this point, `git diff` shows the changes cleanly merged as in the previous example, as well as the changes in the conflicted files.  Edit and resolve the conflict and mark it resolved with `git add` as usual:
fr: À ce stade, `git diff` affiche les modifications proprement fusionnées comme dans l'exemple précédent, ainsi que les modifications en conflit. Éditez et résolvez le conflit et marquez-le résolu avec `git add` comme d'habitude :

note: type: Plain text
en: git-check-ref-format - Ensures that a reference name is well formed
fr: git-check-ref-format - S'assure qu'un nom de référence est bien formé

note: type: Plain text
en: 'git check-ref-format' [--normalize]
           [--[no-]allow-onelevel] [--refspec-pattern]
           <refname>
    'git check-ref-format' --branch <branchname-shorthand>
fr: 'git check-ref-format' [--normalize]
           [--[no-]allow-onelevel] [--refspec-pattern]
           <nom-de-réf>
    'git check-ref-format' --branch <raccourcis-de-nom-de-branche>

note: type: Plain text
en: Checks if a given 'refname' is acceptable, and exits with a non-zero status if it is not.
fr: Vérifie si un 'nom-de-réf' donné est acceptable, et se termine avec un statut non nul si ce n'est pas le cas.

note: type: Plain text
en: A reference is used in Git to specify branches and tags.  A branch head is stored in the `refs/heads` hierarchy, while a tag is stored in the `refs/tags` hierarchy of the ref namespace (typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags` directories or, as entries in file `$GIT_DIR/packed-refs` if refs are packed by `git gc`).
fr: Une référence est utilisée dans Git pour spécifier des branches et des étiquettes.  Une tête de branche est stockée dans la hiérarchie `refs/heads`, tandis qu'une étiquette est stockée dans la hiérarchie `refs/tags` de l'espace de noms ref (typiquement dans les répertoires `$GIT_DIR/refs/heads` et `$GIT_DIR/refs/tags` ou, comme entrées dans le fichier `$GIT_DIR/packed-refs` si les refs sont empaquetées par `git gc`).

note: type: Plain text
en: Git imposes the following rules on how references are named:
fr: Git impose les règles suivantes sur la façon dont les références sont nommées :

note: type: Plain text
en: They can include slash `/` for hierarchical (directory)  grouping, but no slash-separated component can begin with a dot `.` or end with the sequence `.lock`.
fr: Elles peuvent inclure des barres obliques `/` pour un regroupement hiérarchique (répertoire), mais aucun composant séparé par une barre oblique ne peut commencer par un point `.` ou se terminer par la séquence `.lock`.

note: type: Plain text
en: They must contain at least one `/`. This enforces the presence of a category like `heads/`, `tags/` etc. but the actual names are not restricted.  If the `--allow-onelevel` option is used, this rule is waived.
fr: Elles doivent contenir au moins un `/`. Cela impose la présence d'une catégorie comme `heads/`, `tags/` etc. mais les noms réels ne sont pas limités.  Si l'option `--allow-onelevel` est utilisée, cette règle est levée.

note: type: Plain text
en: They cannot have two consecutive dots `..` anywhere.
fr: Elles ne peuvent avoir deux points consécutifs `..` nulle part.

note: type: Plain text
en: They cannot have ASCII control characters (i.e. bytes whose values are lower than \040, or \177 `DEL`), space, tilde `~`, caret `^`, or colon `:` anywhere.
fr: Elles ne peuvent pas contenir de caractères de contrôle ASCII (c'est-à-dire des octets dont la valeur est inférieure à \040, ou \177 `DEL`), d'espace, de tilde `~`, de circonflexe `^`, ou de deux-points `:`.

note: type: Plain text
en: They cannot have question-mark `?`, asterisk `*`, or open bracket `[` anywhere.  See the `--refspec-pattern` option below for an exception to this rule.
fr: Elles ne peuvent pas avoir de point d'interrogation `?`, d'astérisque `*`, ou de crochet ouvert `[` n'importe où.  Voir l'option `--refspec-pattern` ci-dessous pour une exception à cette règle.

note: type: Plain text
en: They cannot begin or end with a slash `/` or contain multiple consecutive slashes (see the `--normalize` option below for an exception to this rule)
fr: Elles ne peuvent pas commencer ou finir par une barre oblique `/` ou contenir plusieurs barres obliques consécutives (voir l'option `--normalize` ci-dessous pour une exception à cette règle)

note: type: Plain text
en: They cannot end with a dot `.`.
fr: Elles ne peuvent pas se terminer par un point `.`.

note: type: Plain text
en: They cannot contain a sequence `@{`.
fr: Elles ne peuvent pas contenir une séquence `@{`.

note: type: Plain text
en: They cannot be the single character `@`.
fr: Elles ne peuvent pas être le caractère unique `@`.

note: type: Plain text
en: They cannot contain a `\`.
fr: Elles ne peuvent pas contenir de `\`.

note: type: Plain text
en: These rules make it easy for shell script based tools to parse reference names, pathname expansion by the shell when a reference name is used unquoted (by mistake), and also avoid ambiguities in certain reference name expressions (see linkgit:gitrevisions[7]):
fr: Ces règles facilitent l'analyse des noms de référence par les outils basés sur des scripts shell, l'expansion des noms de chemin par le shell lorsqu'un nom de référence est utilisé sans être protégé par des quotes (par erreur), et évitent également les ambiguïtés dans certaines expressions de noms de référence (voir linkgit:gitrevisions[7]) :

note: type: Plain text
en: A double-dot `..` is often used as in `ref1..ref2`, and in some contexts this notation means `^ref1 ref2` (i.e. not in `ref1` and in `ref2`).
fr: Un double point `..` est souvent utilisé comme dans `ref1..ref2`, et dans certains contextes cette notation signifie `^ref1 ref2` (c'est-à-dire pas dans `ref1` et dans `ref2`).

note: type: Plain text
en: A tilde `~` and caret `^` are used to introduce the postfix 'nth parent' and 'peel onion' operation.
fr: Un tilde `~` et un circonflexe `^` sont utilisés pour introduire le postfixe 'nième parent' et l'opération 'peler l'oignon'.

note: type: Plain text
en: A colon `:` is used as in `srcref:dstref` to mean "use srcref\'s value and store it in dstref" in fetch and push operations.  It may also be used to select a specific object such as with 'git cat-file': "git cat-file blob v1.3.3:refs.c".
fr: Un deux-points `:` est utilisé comme dans `srcref:dstref` pour signifier « utiliser la valeur de srcref et la stocker dans dstref » dans les opérations fetch et push.  Il peut également être utilisé pour sélectionner un objet spécifique, comme avec 'git cat-file' : "git cat-file blob v1.3.3:refs.c".

note: type: Plain text
en: at-open-brace `@{` is used as a notation to access a reflog entry.
fr: L'accolade ouverte `@{` est utilisée comme notation pour accéder à une entrée reflog.

note: type: Plain text
en: With the `--branch` option, the command takes a name and checks if it can be used as a valid branch name (e.g. when creating a new branch). But be cautious when using the previous checkout syntax that may refer to a detached HEAD state.  The rule `git check-ref-format --branch $name` implements may be stricter than what `git check-ref-format refs/heads/$name` says (e.g. a dash may appear at the beginning of a ref component, but it is explicitly forbidden at the beginning of a branch name).  When run with `--branch` option in a repository, the input is first expanded for the ``previous checkout syntax'' `@{-n}`.  For example, `@{-1}` is a way to refer the last thing that was checked out using "git switch" or "git checkout" operation.  This option should be used by porcelains to accept this syntax anywhere a branch name is expected, so they can act as if you typed the branch name. As an exception note that, the ``previous checkout operation'' might result in a commit object name when the N-th last thing checked out was not a branch.
fr: Avec l'option `--branch`, la commande prend un nom et vérifie s'il peut être utilisé comme un nom de branche valide (par exemple lors de la création d'une nouvelle branche). Mais soyez prudent lorsque vous utilisez la syntaxe de vérification précédente qui peut faire référence à un état HEAD détaché.  L'implantation de la règle `git check-ref-format --branch $nom` peut être plus stricte que ce que dit `git check-ref-format refs/heads/$nom` (par exemple, un tiret peut apparaître au début d'un composant ref, mais il est explicitement interdit au début d'un nom de branche).  Lorsqu'il est exécuté avec l'option `--branch` dans un dépôt, l'entrée est d'abord développée pour la ``syntaxe de l'extraction précédente'' `@{-n}`.  Par exemple, `@{-1}` est un moyen de faire référence à la dernière chose qui a été extraite en utilisant l'opération "git switch" ou "git checkout".  Cette option devrait être utilisée par les commandes porcelaines pour accepter cette syntaxe partout où un nom de branche est attendu, afin qu'elles puissent agir comme si vous aviez tapé le nom de la branche. A titre d'exception, notez que "l'opération d'extraction précédente" peut résulter en un nom d'objet commit lorsque la N-ième dernière chose extraite n'était pas une branche.

note: type: Plain text
en: Controls whether one-level refnames are accepted (i.e., refnames that do not contain multiple `/`-separated components).  The default is `--no-allow-onelevel`.
fr: Contrôler si les noms de référence à un niveau sont acceptés (c'est-à-dire les noms de référence qui ne contiennent pas plusieurs composants séparés par des `/`).  La valeur par défaut est `--no-allow-onelevel`.

note: type: Plain text
en: Interpret <refname> as a reference name pattern for a refspec (as used with remote repositories).  If this option is enabled, <refname> is allowed to contain a single `*` in the refspec (e.g., `foo/bar*/baz` or `foo/bar*baz/` but not `foo/bar*/baz*`).
fr: Interpréter <nom-de-réf> comme un modèle de nom de référence pour un spécificateur de référence (comme utilisé avec les dépôts distants).  Si cette option est activée, <nom-de-réf> est autorisé à contenir un seul `*` dans le spécificateur de référence (par exemple, `foo/bar*/baz` ou `foo/bar*baz/` mais pas `foo/bar*/baz*`).

note: type: Plain text
en: Normalize 'refname' by removing any leading slash (`/`)  characters and collapsing runs of adjacent slashes between name components into a single slash.  If the normalized refname is valid then print it to standard output and exit with a status of 0, otherwise exit with a non-zero status.  (`--print` is a deprecated way to spell `--normalize`.)
fr: Normaliser 'nom-de-réf' en supprimant les barres obliques (`/`) de tête et en regroupant les barres obliques adjacentes entre les composants du nom en une seule barre oblique.  Si le nom de référence normalisé est valide, il est imprimé sur la sortie standard et sort avec un statut de 0, sinon, il sort avec un statut non nul.  (`--print` est une façon dépréciée d'épeler `--normalize`).

note: type: Plain text
en: Print the name of the previous thing checked out:
fr: Afficher le nom de la dernière chose extraite :

note: type: Plain text
en: Determine the reference name to use for a new branch:
fr: Déterminer le nom de référence à utiliser pour une nouvelle branche :

note: type: delimited block -
en: $ ref=$(git check-ref-format --normalize "refs/heads/$newbranch")||
    { echo "we do not like '$newbranch' as a branch name." >&2 ; exit 1 ; }
fr: $ ref=$(git check-ref-format --normalize "refs/heads/$nouvellebranche")||
    { echo "nous n'aimons pas '$nouvellebranche' comme nom de branche". >&2 ; exit 1 ; }

note: type: Plain text
en: git-cherry-pick - Apply the changes introduced by some existing commits
fr: git-cherry-pick - Applique les modifications introduites par certains commits existants

note: type: Plain text
en: 'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]
    		  [-S[<keyid>]] <commit>...
    'git cherry-pick' (--continue | --skip | --abort | --quit)
fr: 'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff]
    		  [-S[<id-clé>]] <commit>...
    'git cherry-pick' (--continue | --skip | --abort | --quit)

note: type: Plain text
en: Given one or more existing commits, apply the change each one introduces, recording a new commit for each.  This requires your working tree to be clean (no modifications from the HEAD commit).
fr: Étant donné un ou plusieurs commits existants, appliquer la modification que chacun d'eux introduit, en enregistrant un nouveau commit pour chacun.  Cela nécessite que votre arbre de travail soit propre (pas de modification depuis le commit HEAD).

note: type: Plain text
en: When it is not obvious how to apply a change, the following happens:
fr: Lorsqu'il n'est pas évident de savoir comment appliquer une modification, il se produit ce qui suit :

note: type: Plain text
en: The current branch and `HEAD` pointer stay at the last commit successfully made.
fr: La branche actuelle et le pointeur `HEAD` restent au dernier commit effectué avec succès.

note: type: Plain text
en: The `CHERRY_PICK_HEAD` ref is set to point at the commit that introduced the change that is difficult to apply.
fr: La référence `CHERRY_PICK_HEAD` est définie pour pointer vers le commit qui a introduit la modification difficile à appliquer.

note: type: Plain text
en: Paths in which the change applied cleanly are updated both in the index file and in your working tree.
fr: Les chemins dans lesquels la modification s'est appliquée proprement sont mis à jour à la fois dans le fichier d'index et dans votre arbre de travail.

note: type: Plain text
en: For conflicting paths, the index file records up to three versions, as described in the "TRUE MERGE" section of linkgit:git-merge[1].  The working tree files will include a description of the conflict bracketed by the usual conflict markers `<<<<<<<` and `>>>>>>>`.
fr: Pour les chemins conflictuels, le fichier d'index enregistre jusqu'à trois versions, comme décrit dans la section "VRAIE FUSION" de linkgit:git-merge[1].  Les fichiers de l'arbre de travail incluront une description du conflit encadrée par les marqueurs de conflit habituels `<<<<<<<` et `>>>>>>>`.

note: type: Plain text
en: No other modifications are made.
fr: Aucune autre modification n'est apportée.

note: type: Plain text
en: See linkgit:git-merge[1] for some hints on resolving such conflicts.
fr: Voir linkgit:git-merge[1] pour quelques conseils sur la résolution de tels conflits.

note: type: Plain text
en: Commits to cherry-pick.  For a more complete list of ways to spell commits, see linkgit:gitrevisions[7].  Sets of commits can be passed but no traversal is done by default, as if the `--no-walk` option was specified, see linkgit:git-rev-list[1]. Note that specifying a range will feed all <commit>... arguments to a single revision walk (see a later example that uses 'maint master..next').
fr: Les commits à picorer.  Pour une liste plus complète des façons d'épeler les commits, voir linkgit:gitrevisions[7].  Des ensembles de commits peuvent être passés mais aucune traversée n'est faite par défaut, comme si l'option `--no-walk` était spécifiée, voir linkgit:git-rev-list[1]. Notez que la spécification d'une plage alimentera tous les arguments <commit>... à un seul parcours de révision (voir un exemple plus bas qui utilise 'maint master...next').

note: type: Plain text
en: With this option, 'git cherry-pick' will let you edit the commit message prior to committing.
fr: Avec cette option, 'git cherry-pick' vous permettra de modifier le message de validation avant de valider.

note: type: Plain text
en: This option determines how the commit message will be cleaned up before being passed on to the commit machinery. See linkgit:git-commit[1] for more details. In particular, if the '<mode>' is given a value of `scissors`, scissors will be appended to `MERGE_MSG` before being passed on in the case of a conflict.
fr: Cette option détermine comment le message de valiation sera nettoyé avant d'être transmis à la machine de commit. Voir linkgit:git-commit[1] pour plus de détails. En particulier, si la valeur de '<mode>' est `scissors`, les ciseaux seront ajoutés à `MERGE_MSG` avant d'être transmis dans le cas d'un conflit.

note: type: Plain text
en: When recording the commit, append a line that says "(cherry picked from commit ...)" to the original commit message in order to indicate which commit this change was cherry-picked from.  This is done only for cherry picks without conflicts.  Do not use this option if you are cherry-picking from your private branch because the information is useless to the recipient.  If on the other hand you are cherry-picking between two publicly visible branches (e.g. backporting a fix to a maintenance branch for an older release from a development branch), adding this information can be useful.
fr: Lors de l'enregistrement du commit, ajouter une ligne qui ajoute "(cherry pick from commit ...)" au message de commit original afin d'indiquer de quel commit ce changement a été picoré.  Ceci est fait uniquement pour les picorages sans conflits.  N'utilisez pas cette option si vous faites du picorage depuis votre branche privée car l'information est inutile pour le destinataire.  En revanche, si vous faites du picorage entre deux branches visibles publiquement (par exemple, le rétroportage d'un correctif dans une branche de maintenance d'une ancienne version à partir d'une branche de développement), l'ajout de cette information peut être utile.

note: type: Plain text
en: It used to be that the command defaulted to do `-x` described above, and `-r` was to disable it.  Now the default is not to do `-x` so this option is a no-op.
fr: Avant, la commande faisait par défaut `-x` comme décrit ci-dessus, et `-r` permettait de la désactiver.  Maintenant, le défaut est de ne pas faire `-x`, donc cette option est un no-op.

note: type: Labeled list
en: -m parent-number
fr: -m numéro-de-parent

note: type: Labeled list
en: --mainline parent-number
fr: --mainline numero-de-parent

note: type: Plain text
en: Usually you cannot cherry-pick a merge because you do not know which side of the merge should be considered the mainline.  This option specifies the parent number (starting from 1) of the mainline and allows cherry-pick to replay the change relative to the specified parent.
fr: Habituellement, vous ne pouvez pas picorer une fusion parce que vous ne savez pas quel côté de la fusion doit être considéré comme la ligne principale.  Cette option spécifie le numéro du parent (à partir de 1) de la ligne principale et permet à cherry-pick de rejouer la modification par rapport au parent spécifié.

note: type: Plain text
en: Usually the command automatically creates a sequence of commits.  This flag applies the changes necessary to cherry-pick each named commit to your working tree and the index, without making any commit.  In addition, when this option is used, your index does not have to match the HEAD commit.  The cherry-pick is done against the beginning state of your index.
fr: Habituellement, la commande crée automatiquement une séquence de commits.  Cette option applique les changements nécessaires pour sélectionner chaque commit nommé à votre arbre de travail et à l'index, sans faire aucun commit.  De plus, lorsque cette option est utilisée, votre index ne doit pas nécessairement correspondre au commit HEAD.  Le picorage est fait par rapport à l'état initial de votre index.

note: type: Plain text
en: This is useful when cherry-picking more than one commits' effect to your index in a row.
fr: Ceci est utile pour picorer l'effet de plusieurs commits sur votre index à la suite.

note: type: Plain text
en: Add a `Signed-off-by` trailer at the end of the commit message.  See the signoff option in linkgit:git-commit[1] for more information.
fr: Ajouter une ligne terminale `Signed-off-by` au message de commit. Référez-vous à l'option de contre-signature dans linkgit:git-commit[1] pour plus d'information.

note: type: Plain text
en: If the current HEAD is the same as the parent of the cherry-pick'ed commit, then a fast forward to this commit will be performed.
fr: Si le HEAD actuel est le même que le parent du commit picoré, alors une avance rapide sur ce commit sera effectuée.

note: type: Plain text
en: By default, cherry-picking an empty commit will fail, indicating that an explicit invocation of `git commit --allow-empty` is required. This option overrides that behavior, allowing empty commits to be preserved automatically in a cherry-pick. Note that when "--ff" is in effect, empty commits that meet the "fast-forward" requirement will be kept even without this option.  Note also, that use of this option only keeps commits that were initially empty (i.e. the commit recorded the same tree as its parent).  Commits which are made empty due to a previous commit are dropped.  To force the inclusion of those commits use `--keep-redundant-commits`.
fr: Par défaut, le picorage d'un commit vide échouera, indiquant qu'une invocation explicite de `git commit --allow-empty` est nécessaire. Cette option surcharge ce comportement, permettant aux commits vides d'être préservés automatiquement dans un picorage. Notez que lorsque "--ff" est en vigueur, les commits vides qui répondent à l'exigence d'"avance rapide" seront conservés même sans cette option.  Notez également que l'utilisation de cette option ne conserve que les commits qui étaient initialement vides (c'est-à-dire que le commit a enregistré le même arbre que son parent).  Les commits qui sont rendus vides à cause d'un commit précédent sont abandonnés.  Pour forcer l'inclusion de ces commits, utilisez `--keep-redundant-commits`.

note: type: Plain text
en: By default, cherry-picking a commit with an empty message will fail.  This option overrides that behavior, allowing commits with empty messages to be cherry picked.
fr: Par défaut, le picorage d'un commit avec un message vide échouera.  Cette option annule ce comportement, permettant aux commits avec des messages vides d'être picorés.

note: type: Plain text
en: If a commit being cherry picked duplicates a commit already in the current history, it will become empty.  By default these redundant commits cause `cherry-pick` to stop so the user can examine the commit. This option overrides that behavior and creates an empty commit object.  Implies `--allow-empty`.
fr: Si un commit faisant l'objet d'un picorage duplique un commit déjà présent dans l'historique courant, celui-ci deviendra vide.  Par défaut, ces commits redondants provoquent l'arrêt de `cherry-pick` pour que l'utilisateur puisse examiner le commit. Cette option surcharge ce comportement et crée un objet commit vide.  Implique `--allow-empty`.

note: type: Labeled list
en: --strategy=<strategy>
fr: --strategy=<strategie>

note: type: Plain text
en: Use the given merge strategy.  Should only be used once.  See the MERGE STRATEGIES section in linkgit:git-merge[1] for details.
fr: Utilise la stratégie de fusion donnée.  Ne devrait être utilisée qu'une seule fois.  Voir la section STRATÉGIES DE FUSION dans linkgit:git-merge[1] pour plus de détails.

note: type: Plain text
en: Pass the merge strategy-specific option through to the merge strategy.  See linkgit:git-merge[1] for details.
fr: Passer l'option spécifique de stratégie de fusion à la stratégie de fusion.  Voir linkgit:git-merge[1] pour plus de détails.

note: type: Title -
en: SEQUENCER SUBCOMMANDS
fr: SOUS-COMMANDES DU SÉQUENCEUR

note: type: Plain text
en: Apply the change introduced by the commit at the tip of the master branch and create a new commit with this change.
fr: Applique la modification introduite par le commit au sommet de la branche master et créer un nouveau commit avec cette modification.

note: type: Plain text
en: Apply the changes introduced by all commits that are ancestors of master but not of HEAD to produce new commits.
fr: Applique les modifications introduites par tous les commits qui sont des ancêtres de master mais pas de HEAD pour produire de nouveaux commits.

note: type: Plain text
en: Apply the changes introduced by all commits that are ancestors of maint or next, but not master or any of its ancestors.  Note that the latter does not mean `maint` and everything between `master` and `next`; specifically, `maint` will not be used if it is included in `master`.
fr: Applique les modifications introduites par tous les commits qui sont des ancêtres de maint ou next, mais pas master ni aucun de ses ancêtres.  Notez que ce dernier ne signifie pas `maint` et tout ce qui se trouve entre `master` et `next` ; spécifiquement, `maint` ne sera pas utilisé s'il est inclus dans `master`.

note: type: Plain text
en: Apply the changes introduced by the fifth and third last commits pointed to by master and create 2 new commits with these changes.
fr: Applique les modifications introduites par les cinquième et troisième derniers commits pointés par master et crée 2 nouveaux commits avec ces modifications.

note: type: Plain text
en: Apply to the working tree and the index the changes introduced by the second last commit pointed to by master and by the last commit pointed to by next, but do not create any commit with these changes.
fr: Applique à l'arbre de travail et à l'index les modifications introduites par l'avant-dernier commit pointé par master et par le dernier commit pointé par next, mais ne crée aucun commit avec ces modifications.

note: type: Plain text
en: If history is linear and HEAD is an ancestor of next, update the working tree and advance the HEAD pointer to match next.  Otherwise, apply the changes introduced by those commits that are in next but not HEAD to the current branch, creating a new commit for each new change.
fr: Si l'historique est linéaire et que HEAD est un ancêtre de next, met à jour l'arbre de travail et avance le pointeur HEAD pour qu'il corresponde à next.  Sinon, applique les modifications introduites par les commits qui sont dans next mais pas HEAD à la branche courante, en créant un nouveau commit pour chaque nouvelle modification.

note: type: Plain text
en: Apply the changes introduced by all commits on the master branch that touched README to the working tree and index, so the result can be inspected and made into a single new commit if suitable.
fr: Applique les modifications introduites par tous les commits de la branche master qui ont touché README, à l'arbre de travail et à l'index, afin que le résultat puisse être inspecté et transformé en un seul nouveau commit si cela convient.

note: type: Plain text
en: The following sequence attempts to backport a patch, bails out because the code the patch applies to has changed too much, and then tries again, this time exercising more care about matching up context lines.
fr: La séquence suivante tente de rétro-porter une rustine, échoue parce que le code auquel la rustine s'applique a trop changé, puis réessaie, cette fois en faisant plus attention à la correspondance des lignes de contexte.

note: type: Plain text
en: apply the change that would be shown by `git show topic^`.  In this example, the patch does not apply cleanly, so information about the conflict is written to the index and working tree and no new commit results.
fr: applique la modification qui serait montrée par `git show topic^`.  Dans cet exemple, la rustine ne s'applique pas proprement, donc l'information sur le conflit est écrite dans l'index et l'arbre de travail et aucun nouveau commit n'en résulte.

note: type: Plain text
en: summarize changes to be reconciled
fr: résume les modifications à réconcilier

note: type: Plain text
en: cancel the cherry-pick.  In other words, return to the pre-cherry-pick state, preserving any local modifications you had in the working tree.
fr: annule le picorage.  En d'autres termes, retourne à l'état antérieur à l'extraction, en préservant toutes les modifications locales précédentes dans l'arbre de travail.

note: type: Plain text
en: try to apply the change introduced by `topic^` again, spending extra time to avoid mistakes based on incorrectly matching context lines.
fr: essaie d'appliquer à nouveau la modification introduite par `topic^`, en passant du temps supplémentaire pour éviter les erreurs basées sur des lignes de contexte déterminées incorrectement.

note: type: Plain text
en: git-cherry - Find commits yet to be applied to upstream
fr: git-cherry - Trouver les commits à appliquer en amont

note: type: Plain text
en: 'git cherry' [-v] [<upstream> [<head> [<limit>]]]
fr: 'git cherry' [-v] [<branche_amont> [<head> [<limite>]]]

note: type: Plain text
en: Determine whether there are commits in `<head>..<upstream>` that are equivalent to those in the range `<limit>..<head>`.
fr: Détermine s'il existe des commits dans `<tête>..<amont>` qui sont équivalents à ceux de la plage `<limite>..<tête>`.

note: type: Plain text
en: The equivalence test is based on the diff, after removing whitespace and line numbers.  git-cherry therefore detects when commits have been "copied" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or linkgit:git-rebase[1].
fr: Le test d'équivalence est basé sur le diff, après avoir supprimé les espaces et les numéros de ligne. git-cherry détecte donc quand les commits ont été « copiés » au moyen de linkgit:git-cherry-pick[1], linkgit:git-am[1] ou linkgit:git-rebase[1].

note: type: Plain text
en: Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with `-` for commits that have an equivalent in <upstream>, and `+` for commits that do not.
fr: Sort le SHA1 de chaque commit dans `<limite>..<tête>`, préfixé avec `-` pour les commits qui ont un équivalent dans <amont>, et `+` pour les commits qui n'en ont pas.

note: type: Plain text
en: Show the commit subjects next to the SHA1s.
fr: Montrer les sujets de commit à côté des SHA1s.

note: type: Labeled list
en: <upstream>
fr: <branche_amont>

note: type: Plain text
en: Upstream branch to search for equivalent commits.  Defaults to the upstream branch of HEAD.
fr: Branche amont pour rechercher des commits équivalents.  La valeur par défaut est la branche amont de HEAD.

note: type: Labeled list
en: <head>
fr: <tête>

note: type: Plain text
en: Working branch; defaults to HEAD.
fr: Branche de travail ; la valeur par défaut est HEAD.

note: type: Plain text
en: Do not report commits up to (and including) limit.
fr: Ne pas signaler les commits jusqu'à (et y compris) la limite.

note: type: Title ~
en: Patch workflows
fr: Flux de travail des rustines

note: type: Plain text
en: git-cherry is frequently used in patch-based workflows (see linkgit:gitworkflows[7]) to determine if a series of patches has been applied by the upstream maintainer.  In such a workflow you might create and send a topic branch like this:
fr: git-cherry est fréquemment utilisé dans les flux de travail basés sur les rustines (voir linkgit:gitworkflows[7]) pour déterminer si une série de rustines a été appliquée par le mainteneur amont.  Dans un tel flux de travail, vous pourriez créer et envoyer une branche thématique comme ceci :

note: type: delimited block -
en: $ git checkout -b topic origin/master
    # work and create some commits
    $ git format-patch origin/master
    $ git send-email ... 00*
fr: $ git checkout -b theme origin/master
    # travail et création de commits supplémentaires
    $ git format-patch origin/master
    $ git send-email ... 00*

note: type: Plain text
en: Later, you can see whether your changes have been applied by saying (still on `topic`):
fr: Plus tard, vous pourrez voir si vos modifications ont été appliquées en disant (toujours sur `theme`) :

note: type: delimited block -
en: $ git fetch  # update your notion of origin/master
    $ git cherry -v
fr: $ git fetch # met à jour votre notion de origin/master
    $ git cherry -v

note: type: Title ~
en: Concrete example
fr: Exemple concret

note: type: Plain text
en: In a situation where topic consisted of three commits, and the maintainer applied two of them, the situation might look like:
fr: Dans une situation où le sujet consiste en trois commits, et où le mainteneur applique deux d'entre eux, la situation pourrait ressembler à ceci :

note: type: delimited block -
en: $ git log --graph --oneline --decorate --boundary origin/master...topic
    * 7654321 (origin/master) upstream tip commit
    [... snip some other commits ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... snip a lot more that has happened ...]
    | * cccc000 (topic) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    |/
    o 1234567 branch point
fr: $ git log --graph --oneline --decorate --boundary origin/master...theme
    * 7654321 (origin/master) upstream tip commit
    [... autres commits élidés ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... encore d'autres commits élidés ...]
    | * cccc000 (theme) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    |/
    o 1234567 branch point

note: type: Plain text
en: In such cases, git-cherry shows a concise summary of what has yet to be applied:
fr: Dans ces cas, git-cherry affiche un résumé concis de ce qui doit encore être appliqué :

note: type: Plain text
en: Here, we see that the commits A and C (marked with `-`) can be dropped from your `topic` branch when you rebase it on top of `origin/master`, while the commit B (marked with `+`) still needs to be kept so that it will be sent to be applied to `origin/master`.
fr: Ici, nous voyons que les commits A et C (marqués par `-`) peuvent être supprimés de votre branche `theme` lorsque vous la rebasez au-dessus de `origin/master`, alors que le commit B (marqué par `+`) doit encore être conservé pour qu'il soit envoyé pour être appliqué à `origin/master`.

note: type: Title ~
en: Using a limit
fr: Utilisation d'une limite

note: type: Plain text
en: The optional <limit> is useful in cases where your topic is based on other work that is not in upstream.  Expanding on the previous example, this might look like:
fr: L'option <limite> est utile dans les cas où votre thème est basé sur d'autres travaux qui ne sont pas en amont.  En développant l'exemple précédent, cela pourrait ressembler à :

note: type: delimited block -
en: $ git log --graph --oneline --decorate --boundary origin/master...topic
    * 7654321 (origin/master) upstream tip commit
    [... snip some other commits ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... snip a lot more that has happened ...]
    | * cccc000 (topic) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    | * 0000fff (base) unpublished stuff F
    [... snip ...]
    | * 0000aaa unpublished stuff A
    |/
    o 1234567 merge-base between upstream and topic
fr: $ git log --graph --oneline --decorate --boundary origin/master...topic
    * 7654321 (origin/master) upstream tip commit
    [... d'autres commits élidés ...]
    * cccc111 cherry-pick of C
    * aaaa111 cherry-pick of A
    [... encore plus d'historique élidé ...]
    | * cccc000 (topic) commit C
    | * bbbb000 commit B
    | * aaaa000 commit A
    | * 0000fff (base) unpublished stuff F
    [... élidé ...]
    | * 0000aaa unpublished stuff A
    |/
    o 1234567 base de fusion entre amont et theme

note: type: Plain text
en: By specifying `base` as the limit, you can avoid listing commits between `base` and `topic`:
fr: En spécifiant `base` comme limite, vous pouvez éviter de lister les commits entre `base` et `theme` :

note: type: delimited block -
en: $ git cherry origin/master topic base
    - cccc000... commit C
    + bbbb000... commit B
    - aaaa000... commit A
fr: $ git cherry origin/master theme base
    - cccc000... commit C
    + bbbb000... commit B
    - aaaa000... commit A

note: type: Plain text
en: git-citool - Graphical alternative to git-commit
fr: git-citool - Alternative graphique à git-commit

note: type: Plain text
en: A Tcl/Tk based graphical interface to review modified files, stage them into the index, enter a commit message and record the new commit onto the current branch.  This interface is an alternative to the less interactive 'git commit' program.
fr: Une interface graphique basée sur Tcl/Tk pour revoir les fichiers modifiés, les mettre dans l'index, entrer un message de validation et enregistrer le nouveau commit sur la branche courante.  Cette interface est une alternative au programme moins interactif 'git commit'.

note: type: Plain text
en: 'git citool' is actually a standard alias for `git gui citool`.  See linkgit:git-gui[1] for more details.
fr: 'git citool' est en fait un alias standard pour `git gui citool`.  Voir linkgit:git-gui[1] pour plus de détails.

note: type: Plain text
en: git-clean - Remove untracked files from the working tree
fr: git-clean - Supprime les fichiers non suivis de l'arbre de travail

note: type: Plain text
en: 'git clean' [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...
fr: 'git clean' [-d] [-f] [-i] [-n] [-q] [-e <motif>] [-x | -X] [--] <chemins>...

note: type: Plain text
en: Cleans the working tree by recursively removing files that are not under version control, starting from the current directory.
fr: Nettoie l'arbre de travail en supprimant récursivement les fichiers qui ne sont pas sous contrôle de version, en commençant par le répertoire courant.

note: type: Plain text
en: Normally, only files unknown to Git are removed, but if the `-x` option is specified, ignored files are also removed. This can, for example, be useful to remove all build products.
fr: Normalement, seuls les fichiers inconnus de Git sont supprimés, mais si l'option `-x` est spécifiée, les fichiers ignorés sont également supprimés. Cela peut, par exemple, être utile pour supprimer tous les produits de construction.

note: type: Plain text
en: If any optional `<path>...` arguments are given, only those paths are affected.
fr: Si des arguments optionnels `<chemin>...` sont donnés, seuls ces chemins sont affectés.

note: type: Plain text
en: Normally, when no <path> is specified, git clean will not recurse into untracked directories to avoid removing too much.  Specify -d to have it recurse into such directories as well.  If any paths are specified, -d is irrelevant; all untracked files matching the specified paths (with exceptions for nested git directories mentioned under `--force`) will be removed.
fr: Normalement, lorsque aucun <chemin> n'est spécifié, git clean ne fera pas de récursion dans les répertoires non suivis pour éviter de supprimer trop de choses.  Spécifiez -d pour qu'il fasse une récursion dans de tels répertoires également.  Si des chemins sont spécifiés, -d n'est pas pertinent ; tous les fichiers non suivis correspondant aux chemins spécifiés (avec des exceptions pour les répertoires git imbriqués mentionnés sous `--force`) seront supprimés.

note: type: Plain text
en: If the Git configuration variable clean.requireForce is not set to false, 'git clean' will refuse to delete files or directories unless given -f or -i.  Git will refuse to modify untracked nested git repositories (directories with a .git subdirectory)  unless a second -f is given.
fr: Si la variable de configuration de Git clean.requireForce n'est pas définie à false, 'git clean' refusera de supprimer des fichiers ou des répertoires à moins qu'on lui fournisse -f ou -i.  Git refusera de modifier les dépôts git imbriqués non suivis (répertoires avec un sous-répertoire .git) à moins qu'un second -f soit fourni.

note: type: Plain text
en: Show what would be done and clean files interactively. See ``Interactive mode'' for details.
fr: Montrer ce qui serait fait et nettoyer les fichiers de manière interactive. Voir "Mode interactif" pour plus de détails.

note: type: Plain text
en: Don't actually remove anything, just show what would be done.
fr: Ne rien supprimer effectivement, montrer juste ce qui serait fait.

note: type: Plain text
en: Be quiet, only report errors, but not the files that are successfully removed.
fr: Mode silencieux, ne signaler que les erreurs, mais pas les fichiers qui ont été supprimés avec succès.

note: type: Labeled list
en: -e <pattern>
fr: -e <motif>

note: type: Labeled list
en: --exclude=<pattern>
fr: --exclude=<motif>

note: type: Plain text
en: Use the given exclude pattern in addition to the standard ignore rules (see linkgit:gitignore[5]).
fr: Utiliser le motif d'exclusion donné en plus des règles d'ignorance standard (voir linkgit:gitignore[5]).

note: type: Plain text
en: Don't use the standard ignore rules (see linkgit:gitignore[5]), but still use the ignore rules given with `-e` options from the command line.  This allows removing all untracked files, including build products.  This can be used (possibly in conjunction with 'git restore' or 'git reset') to create a pristine working directory to test a clean build.
fr: Ne pas utiliser les règles d'ignorance standard (voir linkgit:gitignore[5]), mais utiliser quand même les règles d'ignorance données avec les options `-e` de la ligne de commande.  Cela permet de supprimer tous les fichiers non suivis, y compris les produits de construction.  Ceci peut être utilisé (éventuellement en conjonction avec 'git restore' ou 'git reset') pour créer un répertoire de travail vierge pour tester une construction propre.

note: type: Plain text
en: Remove only files ignored by Git.  This may be useful to rebuild everything from scratch, but keep manually created files.
fr: Supprimer uniquement les fichiers ignorés par Git.  Cela peut être utile pour tout reconstruire à partir de zéro, mais conserver les fichiers créés manuellement.

note: type: Title -
en: Interactive mode
fr: Mode interactif

note: type: Plain text
en: When the command enters the interactive mode, it shows the files and directories to be cleaned, and goes into its interactive command loop.
fr: Quand la commande entre en mode interactif, elle affiche les fichiers et répertoires à supprimer, puis entre en boucle de commande interactive.

note: type: Plain text
en: You also could say `c` or `clean` above as long as the choice is unique.
fr: Vous pouvez indiquer `c` ou `clean` ci-dessus, à condition que le choix soit unique.

note: type: Plain text
en: The main command loop has 6 subcommands.
fr: La boucle de commande principale propose 6 sous-commandes.

note: type: Plain text
en: Start cleaning files and directories, and then quit.
fr: Commencer à nettoyer les fichiers et les répertoires, puis quitter.

note: type: Labeled list
en: filter by pattern
fr: filtrer par motif

note: type: Plain text
en: This shows the files and directories to be deleted and issues an "Input ignore patterns>>" prompt. You can input space-separated patterns to exclude files and directories from deletion.  E.g. "*.c *.h" will excludes files end with ".c" and ".h" from deletion. When you are satisfied with the filtered result, press ENTER (empty) back to the main menu.
fr: Cette commande affiche les fichiers et répertoires à supprimer et émet une invite "Input ignore patterns>>". Vous pouvez saisir des motifs séparés par des espaces pour exclure les fichiers et les répertoires de la suppression.  Par exemple, "*.c *.h" exclura de la suppression les fichiers se terminant par ".c" et ".h". Lorsque vous êtes satisfait du résultat filtré, appuyez sur ENTER (vide) pour revenir au menu principal.

note: type: Labeled list
en: select by numbers
fr: sélectionner par numéros

note: type: Plain text
en: This shows the files and directories to be deleted and issues an "Select items to delete>>" prompt. When the prompt ends with double '>>' like this, you can make more than one selection, concatenated with whitespace or comma.  Also you can say ranges.  E.g. "2-5 7,9" to choose 2,3,4,5,7,9 from the list.  If the second number in a range is omitted, all remaining items are selected.  E.g. "7-" to choose 7,8,9 from the list.  You can say '*' to choose everything.  Also when you are satisfied with the filtered result, press ENTER (empty) back to the main menu.
fr: Affiche les fichiers et les répertoires à supprimer et un prompt "Slect items to delete>>". Quand le prompt se termine par un double '>', comme ceci, vous pouvez sélectionner plus d'une option, concaténées avec des espaces ou des virgules. Vous pouvez aussi indiquer des intervalles.  Par exemple "2-5 7,9" pour choisir 2, 3, 4, 5, 7 et 9 dans la liste. Si le second nombre d'un intervalle est absent, tous les items restants sont sélectionnés. Par ex. "7-" choisit 7, 8 et 9 dans la liste. Vous pouvez indiquer '*' pour tout sélectionner. Enfin, quand le resultat filtré est satisfaisant, pressez ENTRÉE (vide) pour retourner au menu principal.

note: type: Labeled list
en: ask each
fr: demander pour chacun

note: type: Plain text
en: This will start to clean, and you must confirm one by one in order to delete items. Please note that this action is not as efficient as the above two actions.
fr: Cela va commencer à nettoyer, et vous devez confirmer un par un afin de supprimer les éléments. Veuillez noter que cette action n'est pas aussi efficace que les deux actions précédentes.

note: type: Labeled list
en: quit
fr: quitter

note: type: Plain text
en: This lets you quit without do cleaning.
fr: Cela vous permet d'arrêter sans faire le ménage.

note: type: Labeled list
en: help
fr: aide

note: type: Plain text
en: Show brief usage of interactive git-clean.
fr: Afficher une brève utilisation de git-clean interactif.

note: type: Plain text
en: git-clone - Clone a repository into a new directory
fr: git-clone - Clone un dépôt dans un nouveau répertoire

note: type: Plain text
en: 'git clone' [--template=<template_directory>]
    	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
    	  [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
    	  [--dissociate] [--separate-git-dir <git dir>]
    	  [--depth <depth>] [--[no-]single-branch] [--no-tags]
    	  [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
    	  [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--[no-]reject-shallow]
    	  [--filter=<filter>] [--] <repository>
    	  [<directory>]
fr: 'git clone' [--template=<répertoire_de_modèles>]
    	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
    	  [-o <nom>] [-b <nom>] [-u <upload-pack>] [--reference <dépôt>]
    	  [--dissociate] [--separate-git-dir <répertoire git>]
    	  [--depth <profondeur>] [--[no-]single-branch] [--no-tags]
    	  [--recurse-submodules[=<spéc.de chemin>]] [--[no-]shallow-submodules]
    	  [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--[no-]reject-shallow]
    	  [--filter=<filter>] [--] <dépôt>
    	  [<répertoire>]

note: type: Plain text
en: Clones a repository into a newly created directory, creates remote-tracking branches for each branch in the cloned repository (visible using `git branch --remotes`), and creates and checks out an initial branch that is forked from the cloned repository's currently active branch.
fr: Clone un dépôt dans un répertoire nouvellement créé, crée une branche de suivi à distance pour chaque branche du dépôt cloné (visible en utilisant `git branch --remotes`) et crée et extrait une branche initiale qui est dupliquée depuis la branche active actuelle du dépôt cloné.

note: type: Plain text
en: After the clone, a plain `git fetch` without arguments will update all the remote-tracking branches, and a `git pull` without arguments will in addition merge the remote master branch into the current master branch, if any (this is untrue when "--single-branch" is given; see below).
fr: Après clonage, un simple `git fetch` sans argument va mettre à jour toutes les branches de suivi à distance, et `git pull` sans argument va en plus fusionner la branche master distante dans la branche master actuelle, si elle existe (ceci est inexact quand "--single-branch" est indiqué ; voir ci-dessous).

note: type: Plain text
en: This default configuration is achieved by creating references to the remote branch heads under `refs/remotes/origin` and by initializing `remote.origin.url` and `remote.origin.fetch` configuration variables.
fr: Cette configuration par défaut est réalisée en créant des références aux sommets des branches distantes sous `refs/remotes/origin` et en initialisant les variables de configuration `remote.origin.url` et `remote.origin.fetch`.

note: type: Plain text
en: When the repository to clone from is on a local machine, this flag bypasses the normal "Git aware" transport mechanism and clones the repository by making a copy of HEAD and everything under objects and refs directories.  The files under `.git/objects/` directory are hardlinked to save space when possible.
fr: Quand le dépôt à cloner est sur la machine locale, cette option court-circuite les mécanismes de transport « spécial Git » normaux et clone le dépôt en faisant une copie de HEAD et de tout ce qu'il y a dans les répertoires objects et refs. Les fichiers sous le répertoire `.git/objects/` sont liés physiquement si possible pour économiser l'espace disque.

note: type: Plain text
en: If the repository is specified as a local path (e.g., `/path/to/repo`), this is the default, and --local is essentially a no-op.  If the repository is specified as a URL, then this flag is ignored (and we never use the local optimizations).  Specifying `--no-local` will override the default when `/path/to/repo` is given, using the regular Git transport instead.
fr: Si le dépôt est spécifié comme un chemin local (par exemple `/chemin/vers/le/dépôt`), c'est le comportement par défaut et --local ne sert à rien. Si le dépôt est spécifié par une URL, alors ce drapeau est ignoré (et l'optimisation du fait de localité n'est jamais utilisée). Spécifier `--no-local` permet de surcharger le comportement par défaut quand la forme `/chemin/vers/le/dépôt` est utilisée, et provoque l'utilisation de transport Git normal à la place.

note: type: Plain text
en: *NOTE*: this operation can race with concurrent modification to the
    source repository, similar to running `cp -r src dst` while modifying
    `src`.
fr: *NOTE* : cette opération peut se dérouler avec une modification simultanée du
    dépôt source, similaire à l’exécution de `cp-r src dst` tout en modifiant
    `src`.

note: type: Plain text
en: Force the cloning process from a repository on a local filesystem to copy the files under the `.git/objects` directory instead of using hardlinks. This may be desirable if you are trying to make a back-up of your repository.
fr: Forcer le processus de clonage depuis un dépôt sur un système de fichier local à copier les fichiers sous le répertoire `.git\objects` au lieu d'utiliser des liens physiques. Ceci peut être voulu si vous souhaitez faire une copie de sauvegarde de votre dépôt.

note: type: Plain text
en: When the repository to clone is on the local machine, instead of using hard links, automatically setup `.git/objects/info/alternates` to share the objects with the source repository.  The resulting repository starts out without any object of its own.
fr: Quand le dépôt à cloner est sur la machine locale, au lieu d'utiliser des liens physiques, créer automatiquement `.git/objects/info/alternates` pour partager les objets du dépôt source. Le dépôt résultant démarre sans aucun objet qui lui soit propre.

note: type: Plain text
en: *NOTE*: this is a possibly dangerous operation; do *not* use
    it unless you understand what it does. If you clone your
    repository using this option and then delete branches (or use any
    other Git command that makes any existing commit unreferenced) in the
    source repository, some objects may become unreferenced (or dangling).
    These objects may be removed by normal Git operations (such as `git commit`)
    which automatically call `git maintenance run --auto`. (See
    linkgit:git-maintenance[1].) If these objects are removed and were referenced
    by the cloned repository, then the cloned repository will become corrupt.
fr: *NOTE* : c'est une opération potentiellement dangereuse ; *ne* l'utilisez *pas*
    à moins de comprendre ce qu'elle fait. Si vous clonez votre dépôt en utilisant
    cette option puis que vous supprimez des branches (ou utilisez toute autre
    commande Git qui élimine les références sur un commit existant) dans le dépôt
    source, certains objets peuvent ne plus être référencés (ou esseulés).
    Ces objets pourraient être supprimés lors d'opérations normales de Git (telles
    que `git commit`) qui appellent automatiquement `git maintenance --auto`.
     (Voir linkgit:git-maintenance[1].) Si ces objets sont supprimés et qu'ils étaient
    référencés dans un dépôt cloné, alors le dépôt cloné sera corrompu.

note: type: Plain text
en: Note that running `git repack` without the `--local` option in a repository cloned with `--shared` will copy objects from the source repository into a pack in the cloned repository, removing the disk space savings of `clone --shared`.  It is safe, however, to run `git gc`, which uses the `--local` option by default.
fr: Notez que lancer `git repack` sans l'option `--local` dans un dépôt cloné avec `--shared` va copier les objets depuis le dépôt source dans un paquet dans le répertoire cloné, éliminant de ce fait les économies d'espace disque de `clone --shared`. Par contre, il est possible de lancer `git gc`, qui utilise l'option `--local` par défaut.

note: type: Plain text
en: If you want to break the dependency of a repository cloned with `--shared` on its source repository, you can simply run `git repack -a` to copy all objects from the source repository into a pack in the cloned repository.
fr: Si vous souhaitez casser la dépendance d'un dépôt cloné avec `--shared` à son dépôt source, vous pouvez simplement lancer `git repack -a` pour copier tous les objets depuis le dépôt source dans un paquet dans le dépôt cloné.

note: type: Labeled list
en: --reference[-if-able] <repository>
fr: --reference[-if-able] <dépôt>

note: type: Plain text
en: If the reference repository is on the local machine, automatically setup `.git/objects/info/alternates` to obtain objects from the reference repository.  Using an already existing repository as an alternate will require fewer objects to be copied from the repository being cloned, reducing network and local storage costs.  When using the `--reference-if-able`, a non existing directory is skipped with a warning instead of aborting the clone.
fr: Si le dépôt référence est sur la machine locale, créer automatiquement `.git/objects/info/alternates` pour obtenir les objets depuis le dépôt référence. L'utilisation d'un dépôt déjà existant comme alternative nécessitera moins d'objets à copier depuis le dépôt à cloner, limitant les coûts de réseau et de stockage local. Avec l'utilisation de `--reference-if-able`, un répertoire inexistant est ignoré avec un message d'avertissement au lieu de faire échouer le clonage.

note: type: Plain text
en: *NOTE*: see the NOTE for the `--shared` option, and also the
    `--dissociate` option.
fr: *NOTE* : voir la NOTE pour l'option `--shared`, et aussi
    l'option `--dissociate`.

note: type: Plain text
en: Borrow the objects from reference repositories specified with the `--reference` options only to reduce network transfer, and stop borrowing from them after a clone is made by making necessary local copies of borrowed objects.  This option can also be used when cloning locally from a repository that already borrows objects from another repository--the new repository will borrow objects from the same repository, and this option can be used to stop the borrowing.
fr: Emprunter les objets des dépôts référence spécifiés avec les options `--reference` seulement pour réduire les transferts réseau, et arrêter de les emprunter après la création d'un clone en créant les copies locales nécessaires des objets empruntés. Cette option peut aussi être utilisée lors d'un clonage local depuis un dépôt qui emprunte déjà des objets à un autre dépôt -- le nouveau dépôt va emprunter des objets au même dépôt, et cette option peut être utilisée pour arrêter l'emprunt.

note: type: Plain text
en: Operate quietly.  Progress is not reported to the standard error stream.
fr: Mode silencieux. L'avancement n'est pas affiché sur le flux d'erreur standard.

note: type: Plain text
en: Run verbosely. Does not affect the reporting of progress status to the standard error stream.
fr: Mode verbeux. N'agit pas sur l'affichage de l'état d'avancement sur le flux d'erreur standard.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag forces progress status even if the standard error stream is not directed to a terminal.
fr: L'état d'avancement est affiché sur la sortie d'erreur standard quand elle est attachée à un terminal, à moins que `--quiet` 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.

note: type: Plain text
en: No checkout of HEAD is performed after the clone is complete.
fr: Aucune extraction de HEAD n'est effectuée après la fin du clonage.

note: type: Plain text
en: Fail if the source repository is a shallow repository.  The 'clone.rejectShallow' configuration variable can be used to specify the default.
fr: Échouer si le dépôt source est un dépôt superficiel.  La variable de configuration 'clone.rejectShallow' peut être utilisée pour spécifier la valeur par défaut.

note: type: Plain text
en: Make a 'bare' Git repository.  That is, instead of creating `<directory>` and placing the administrative files in `<directory>/.git`, make the `<directory>` itself the `$GIT_DIR`. This obviously implies the `--no-checkout` because there is nowhere to check out the working tree.  Also the branch heads at the remote are copied directly to corresponding local branch heads, without mapping them to `refs/remotes/origin/`.  When this option is used, neither remote-tracking branches nor the related configuration variables are created.
fr: Créer un dépôt Git « nu ». Cela signifie qu'au lieu de créer `<répertoire>` et de placer les fichiers administratifs dans `<répertoire>/.git`, faire de `<répertoire>` lui-même le `$GIT_DIR`. Cela implique évidemment l'option `--no-checkout` parce qu'il n'y a nulle part où extraire l'arbre de travail. De plus, les têtes de branches distantes sont également copiées directement dans les têtes de branches locales correspondantes, sans les préfixer de `refs/remotes/origin/`. Lorsque cette option est utilisée, ni les branches de suivi à distance ni les variables de configuration s'y rattachant ne sont créées.

note: type: Plain text
en: Initialize the sparse-checkout file so the working directory starts with only the files in the root of the repository. The sparse-checkout file can be modified to grow the working directory as needed.
fr: Initialiser le fichier d'extraction partielle pour que le répertoire de travail ne commence qu'avec les fichiers de la racine du dépôt. Le fichier d'extraction partielle peut être modifié pour agrandir le répertoire de travail selon les besoins.

note: type: Labeled list
en: --filter=<filter-spec>
fr: --filter=<spéc. du filtre>

note: type: Plain text
en: Use the partial clone feature and request that the server sends a subset of reachable objects according to a given object filter.  When using `--filter`, the supplied `<filter-spec>` is used for the partial clone filter. For example, `--filter=blob:none` will filter out all blobs (file contents) until needed by Git. Also, `--filter=blob:limit=<size>` will filter out all blobs of size at least `<size>`. For more details on filter specifications, see the `--filter` option in linkgit:git-rev-list[1].
fr: Utiliser la fonction de clonage partiel et demander que le serveur envoie un sous-ensemble d'objets accessibles selon un filtre d'objets donné.  Lorsque l'on utilise `--filter`, le `<spéc-de-filtre>` fourni est utilisé pour le filtre de clonage partiel. Par exemple, `--filter=blob:none` filtrera tous les blobs (contenu des fichiers) jusqu'à ce que Git en ait besoin. De même, `--filter=blob:limit=<taille>` filtrera tous les blobs de taille au moins égale à `<taille>`. Pour plus de détails sur les spécifications de filtre, voir l'option `--filter` dans linkgit:git-rev-list[1].

note: type: Plain text
en: Set up a mirror of the source repository.  This implies `--bare`.  Compared to `--bare`, `--mirror` not only maps local branches of the source to local branches of the target, it maps all refs (including remote-tracking branches, notes etc.) and sets up a refspec configuration such that all these refs are overwritten by a `git remote update` in the target repository.
fr: Construire un miroir du dépôt source. Ceci implique `--bare`. Par rapport à `--bare`, `--mirror` fait correspondre non seulement les branches locales de la source sur les branches locales de la cible, mais également toutes les références (y compris les branches de suivi à distance, les notes, etc.) et elle définit une configuration de refspec telle que toutes ces références sont réécrites par un `git remote update` dans le dépôt cible.

note: type: Labeled list
en: -o <name>
fr: -o <nom>

note: type: Labeled list
en: --origin <name>
fr: --origin <nom>

note: type: Plain text
en: Instead of using the remote name `origin` to keep track of the upstream repository, use `<name>`.  Overrides `clone.defaultRemoteName` from the config.
fr: Au lieu d'utiliser le nom de distant `origin` pour suivre le dépôt amont, utiliser `<nom>`. Remplace `clone.defaultRemoteName` dans la configuration.

note: type: Labeled list
en: -b <name>
fr: -b <nom>

note: type: Labeled list
en: --branch <name>
fr: --branch <nom>

note: type: Plain text
en: Instead of pointing the newly created HEAD to the branch pointed to by the cloned repository's HEAD, point to `<name>` branch instead. In a non-bare repository, this is the branch that will be checked out.  `--branch` can also take tags and detaches the HEAD at that commit in the resulting repository.
fr: Au lieu de pointer la HEAD nouvellement créée sur la branche pointée par la HEAD du dépôt cloné, pointer plutôt sur la branche `<nom>`. Dans un dépôt non-nu, c'est la branche qui sera extraite. `--branch` accepte aussi des étiquettes et détache alors la HEAD à ce commit dans le dépôt résultant.

note: type: Plain text
en: When given, and the repository to clone from is accessed via ssh, this specifies a non-default path for the command run on the other end.
fr: Quand cette option est indiquée et que le dépôt à cloner est accédé via ssh, ceci spécifie un chemin différent de celui par défaut pour la commande lancée sur l'hôte distant.

note: type: Labeled list
en: --template=<template_directory>
fr: --template=<répertoire_de_modèles>

note: type: Plain text
en: Specify the directory from which templates will be used; (See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].)
fr: Spécifier le répertoire depuis lequel les modèles vont être tirés ; (voir la section « RÉPERTOIRE DE MODÈLES » de linkgit:git-init[1].)

note: type: Labeled list
en: -c <key>=<value>
fr: -c <clé>=<valeur>

note: type: Labeled list
en: --config <key>=<value>
fr: --config <clé>=<valeur>

note: type: Plain text
en: Set a configuration variable in the newly-created repository; this takes effect immediately after the repository is initialized, but before the remote history is fetched or any files checked out.  The key is in the same format as expected by linkgit:git-config[1] (e.g., `core.eol=true`). If multiple values are given for the same key, each value will be written to the config file. This makes it safe, for example, to add additional fetch refspecs to the origin remote.
fr: Définir une variable de configuration dans le dépôt nouvellement créé ; ceci prend effet immédiatement après que le dépôt est initialisé, mais avant que l'historique distant ne soit récupéré ou qu'un fichier soit extrait. La clé est dans le même format qu'attendu par linkgit:git-config[1] (par exemple, `core.eol=true`). Si des valeurs multiples sont fournies pour la même clé, chaque valeur sera écrite dans le fichier de configuration. Ceci sécurise, par exemple, l'ajout de spécificateurs de référence de récupération supplémentaires pour le dépôt distant d'origine.

note: type: Plain text
en: Due to limitations of the current implementation, some configuration variables do not take effect until after the initial fetch and checkout.  Configuration variables known to not take effect are: `remote.<name>.mirror` and `remote.<name>.tagOpt`.  Use the corresponding `--mirror` and `--no-tags` options instead.
fr: Du fait de limitations de l'implémentation actuelle, certaines variables de configuration ne prennent effet qu'après la première récupération ou la première extraction. Les variables de configuration connues pour ne pas prendre effet sont : `remote.<nom>.mirror` et `remote.<nom>.tagOpt`. Utilisez les options correspondantes `--mirror` et `--no-tags` à la place.

note: type: Labeled list
en: --depth <depth>
fr: --depth <profondeur>

note: type: Plain text
en: Create a 'shallow' clone with a history truncated to the specified number of commits. Implies `--single-branch` unless `--no-single-branch` is given to fetch the histories near the tips of all branches. If you want to clone submodules shallowly, also pass `--shallow-submodules`.
fr: Créer un clone « superficiel » avec un historique tronqué au nombre spécifié de commits. Implique `--single-branch` à moins que `--no-single-branch` ne soit fourni pour récupérer les historiques proches des sommets de toutes les branches. Pour cloner des sous-modules de manière superficielle, passer aussi `--shallow-submodules`.

note: type: Plain text
en: Create a shallow clone with a history after the specified time.
fr: Créer un clone superficiel avec un historique après le temps spécifié.

note: type: Plain text
en: Create a shallow clone with a history, excluding commits reachable from a specified remote branch or tag.  This option can be specified multiple times.
fr: Créer un clone superficiel avec un historique, en excluant les commits joignables depuis une branche distante spécifiée ou une étiquette. Cette option peut être spécifiée plusieurs fois.

note: type: Plain text
en: Clone only the history leading to the tip of a single branch, either specified by the `--branch` option or the primary branch remote's `HEAD` points at.  Further fetches into the resulting repository will only update the remote-tracking branch for the branch this option was used for the initial cloning.  If the HEAD at the remote did not point at any branch when `--single-branch` clone was made, no remote-tracking branch is created.
fr: Cloner uniquement l'historique menant au sommet d'une seule branche, soit spécifiée par l'option `--branch`, soit la branche primaire sur laquelle la `HEAD` du distant pointe. Des récupérations subséquentes dans le dépôt résultant ne mettront à jour que la branche de suivi à distance de la branche pour laquelle cette option a été utilisée lors du clonage initial. Si la HEAD du dépôt distant ne pointait sur aucune branche quand le clonage `--single-branch` a été fait, aucune branche de suivi à distance n'est créée.

note: type: Plain text
en: Don't clone any tags, and set `remote.<remote>.tagOpt=--no-tags` in the config, ensuring that future `git pull` and `git fetch` operations won't follow any tags. Subsequent explicit tag fetches will still work, (see linkgit:git-fetch[1]).
fr: Ne cloner aucune étiquette et positionner `remote.<distant>.tagOpt=--no-tags` en configuration, de sorte que les futures opérations `git pull` et `git fetch` ne tireront aucune étiquette. Les récupérations explicites d'étiquette fonctionneront toujours (voir linkgit:git-fetch[1]).

note: type: Plain text
en: Can be used in conjunction with `--single-branch` to clone and maintain a branch with no references other than a single cloned branch. This is useful e.g. to maintain minimal clones of the default branch of some repository for search indexing.
fr: Peut être utilisé en conjonction avec `--single-branch` pour cloner et maintenir une branche sans autre référence qu'une unique branche clonée. C'est utile pour, par exemple, maintenir un minimum de clones de la branche par défaut d'un dépôt pour l'indexation de la recherche.

note: type: Labeled list
en: --recurse-submodules[=<pathspec>]
fr: --recurse-submodules[=<spéc de chemin>]

note: type: Plain text
en: After the clone is created, initialize and clone submodules within based on the provided pathspec.  If no pathspec is provided, all submodules are initialized and cloned.  This option can be given multiple times for pathspecs consisting of multiple entries.  The resulting clone has `submodule.active` set to the provided pathspec, or "." (meaning all submodules) if no pathspec is provided.
fr: Après création du clone, initialiser et cloner les sous-modules inclus à partir du spécificateur de chemin fourni. Si aucun spécificateur de chemin n'est fourni, tous les sous-modules sont initialisés et clonés. Cette option peut être spécifiée plus d'une fois pour des spécificateurs de chemins correspondant à des entrées différentes. Le clone résultant a la configuration `submodule.active` réglée sur le spécificateur de chemin fourni ou "." (qui signifie tous les sous-modules) si aucun spécificateur de chemin n'est fourni.

note: type: Plain text
en: Submodules are initialized and cloned using their default settings. This is equivalent to running `git submodule update --init --recursive <pathspec>` immediately after the clone is finished. This option is ignored if the cloned repository does not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`, or `--mirror` is given)
fr: Les sous-modules sont initialisés et clonés en utilisant leurs réglages par défaut. C'est équivalent à lancer `git submodule update --init --recursive <spéc de chemin>` immédiatement après la fin du clonage. Cette option est ignorée si le dépôt cloné n'a pas d'arbre de travail/d'extraction (c'est-à-dire si `--no-checkout`/`-n`, `--bare`, ou `--mirror` est fourni)

note: type: Plain text
en: All submodules which are cloned will be shallow with a depth of 1.
fr: Tous les sous-modules qui sont clonés seront superficiels avec une profondeur de 1.

note: type: Plain text
en: All submodules which are cloned will use the status of the submodule's remote-tracking branch to update the submodule, rather than the superproject's recorded SHA-1. Equivalent to passing `--remote` to `git submodule update`.
fr: Tous les sous-modules clonés utiliseront l'état de la branche de suivi à distance du sous-module pour mettre à jour le sous-module, plutôt que le SHA-1 enregistré par le superprojet. Équivalent à passer `--remote` à `git submodule update`.

note: type: Labeled list
en: --separate-git-dir=<git dir>
fr: --separate-git-dir=<répertoire git>

note: type: Plain text
en: Instead of placing the cloned repository where it is supposed to be, place the cloned repository at the specified directory, then make a filesystem-agnostic Git symbolic link to there.  The result is Git repository can be separated from working tree.
fr: Au lieu de placer le dépôt clone là où il est supposé être, placer le dépôt clone dans le répertoire spécifié, puis créer un lien symbolique Git indépendant du système de fichiers. Le résultat est un dépôt Git qui est séparé de son arbre de travail.

note: type: Plain text
en: The number of submodules fetched at the same time.  Defaults to the `submodule.fetchJobs` option.
fr: Le nombre de sous-modules récupérés en même temps.  Par défaut, l'option `submodule.fetchJobs`.

note: type: Labeled list
en: <repository>
fr: <dépôt>

note: type: Plain text
en: The (possibly remote) repository to clone from.  See the <<URLS,GIT URLS>> section below for more information on specifying repositories.
fr: Le dépôt (éventuellement distant) depuis lequel cloner. Voir les sections <<URLS, URL GIT>> ci-dessous pour plus d'information sur la spécification de dépôts.

note: type: Labeled list
en: <directory>
fr: <répertoire>

note: type: Plain text
en: The name of a new directory to clone into.  The "humanish" part of the source repository is used if no directory is explicitly given (`repo` for `/path/to/repo.git` and `foo` for `host.xz:foo/.git`).  Cloning into an existing directory is only allowed if the directory is empty.
fr: Le nom du nouveau répertoire dans lequel cloner. La partie « humaine » du dépôt source est utilisée si aucun répertoire n'est fourni explicitement (`dépôt` pour `/chemin/vers/un/dépôt.git` et `toto` pour `hôte.xz:toto/.git`). Cloner dans un répertoire existant n'est permis que si le répertoire en question est vide.

note: type: Plain text
en: Clone from upstream:
fr: Cloner depuis l'amont :

note: type: delimited block -
en: $ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux
    $ cd my-linux
    $ make
fr: $ git clone git://git.kernel.org/pub/scm/.../linux.git mon-linux
    $ cd mon-linux
    $ make

note: type: Plain text
en: Make a local clone that borrows from the current directory, without checking things out:
fr: Créer un clone local qui emprunte depuis le répertoire actuel, sans rien extraire :

note: type: delimited block -
en: $ git clone -l -s -n . ../copy
    $ cd ../copy
    $ git show-branch
fr: $ git clone -l -s -n . ../copie
    $ cd ../copie
    $ git show-branch

note: type: Plain text
en: Clone from upstream while borrowing from an existing local directory:
fr: Cloner depuis l'amont tout en empruntant depuis une répertoire local existant :

note: type: delimited block -
en: $ git clone --reference /git/linux.git \
    	git://git.kernel.org/pub/scm/.../linux.git \
    	my-linux
    $ cd my-linux
fr: $ git clone --reference /git/linux.git \
    	git://git.kernel.org/pub/scm/.../linux.git \
    	mon-linux
    $ cd mon-linux

note: type: Plain text
en: Create a bare repository to publish your changes to the public:
fr: Créer un dépôt nu pour publier les modifications :

note: type: Plain text
en: git-column - Display data in columns
fr: git-column - Affiche les données en colonnes

note: type: Plain text
en: 'git column' [--command=<name>] [--[raw-]mode=<mode>] [--width=<width>]
    	     [--indent=<string>] [--nl=<string>] [--padding=<n>]
fr: git column' [--commande=<nom>] [--[raw-]mode=<mode>] [--width=<largeur>]
    	     [--indent=<chaîne>] [--nl=<chaîne>] [--padding=<n>]

note: type: Plain text
en: This command formats the lines of its standard input into a table with multiple columns. Each input line occupies one cell of the table. It is used internally by other git commands to format output into columns.
fr: Cette commande formate les lignes de son entrée standard dans un tableau à colonnes multiples. Chaque ligne d'entrée occupe une cellule du tableau. Elle est utilisée en interne par d'autres commandes git pour formater la sortie en colonnes.

note: type: Labeled list
en: --command=<name>
fr: --command=<nom>

note: type: Plain text
en: Look up layout mode using configuration variable column.<name> and column.ui.
fr: Rechercher le mode de mise en page en utilisant la variable de configuration column.<nom> et column.ui.

note: type: Plain text
en: Specify layout mode. See configuration variable column.ui for option syntax in linkgit:git-config[1].
fr: Spécifier le mode de mise en page. Voir la variable de configuration column.ui pour la syntaxe des options dans linkgit:git-config[1].

note: type: Plain text
en: Same as --mode but take mode encoded as a number. This is mainly used by other commands that have already parsed layout mode.
fr: Identique à --mode mais prendre le mode encodé comme un nombre. Ceci est principalement utilisé par d'autres commandes qui ont déjà analysé le mode de disposition.

note: type: Labeled list
en: --width=<width>
fr: --width=<largeur>

note: type: Plain text
en: Specify the terminal width. By default 'git column' will detect the terminal width, or fall back to 80 if it is unable to do so.
fr: Spécifier la largeur du terminal. Par défaut, 'git column' détectera la largeur du terminal, ou reviendra à 80 s'il ne peut pas le faire.

note: type: Labeled list
en: --indent=<string>
fr: --indent=<chaîne>

note: type: Plain text
en: String to be printed at the beginning of each line.
fr: Chaîne à afficher au début de chaque ligne.

note: type: Plain text
en: String to be printed at the end of each line, including newline character.
fr: Chaîne à afficher à la fin de chaque ligne, y compris le caractère de nouvelle ligne.

note: type: Plain text
en: The number of spaces between columns. One space by default.
fr: Nombre d’espaces entre les colonnes. Un espace par défaut.

note: type: Plain text
en: Format data by columns:
fr: Mettre en forme les données par colonnes :

note: type: Plain text
en: Format data by rows:
fr: Mettre en forme les données par lignes :

note: type: Plain text
en: List some tags in a table with unequal column widths:
fr: Répertorier certaines étiquettes dans un tableau avec des largeurs de colonne inégales :

note: type: Plain text
en: git-commit-tree - Create a new commit object
fr: git-commit - Crée un nouvel objet commit

note: type: Plain text
en: 'git commit-tree' <tree> [(-p <parent>)...]
    'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]
    		  [(-F <file>)...] <tree>
fr: 'git commit-tree' <arbre> [(-p <parent>)...]
    'git commit-tree' [(-p <parent>)...] [-S[<id-clé>]] [(-m <message>)...]
    		  [(-F <fichier>)...] <arbre>

note: type: Plain text
en: This is usually not what an end user wants to run directly.  See linkgit:git-commit[1] instead.
fr: Ce n'est généralement pas ce qu'un utilisateur final veut exécuter directement.  Voir linkgit:git-commit[1] à la place.

note: type: Plain text
en: Creates a new commit object based on the provided tree object and emits the new commit object id on stdout. The log message is read from the standard input, unless `-m` or `-F` options are given.
fr: Crée un nouvel objet commit basé sur l'objet arbre fourni et émet l'identifiant du nouvel objet commit sur stdout. Le message de journal est lu depuis l'entrée standard, à moins que les options `-m` ou `-F` soient données.

note: type: Plain text
en: The `-m` and `-F` options can be given any number of times, in any order. The commit log message will be composed in the order in which the options are given.
fr: Les options `-m` et `-F` peuvent être données plus d'une fois, dans n'importe quel ordre. Le message du journal de livraison sera composé dans l'ordre dans lequel les options sont données.

note: type: Plain text
en: A commit object may have any number of parents. With exactly one parent, it is an ordinary commit. Having more than one parent makes the commit a merge between several lines of history. Initial (root)  commits have no parents.
fr: Un objet commit peut avoir un nombre quelconque de parents. Avec exactement un parent, c'est un commit ordinaire. Avoir plus d'un parent fait du commit une fusion entre plusieurs lignes d'historique. Les commits initiaux (racine) n'ont pas de parents.

note: type: Plain text
en: While a tree represents a particular directory state of a working directory, a commit represents that state in "time", and explains how to get there.
fr: Alors qu'un arbre représente un état particulier d'un répertoire de travail, un commit représente cet état dans le "temps", et explique comment y arriver.

note: type: Plain text
en: Normally a commit would identify a new "HEAD" state, and while Git doesn't care where you save the note about that state, in practice we tend to just write the result to the file that is pointed at by `.git/HEAD`, so that we can always see what the last committed state was.
fr: Normalement, un commit devrait identifier un nouvel état "HEAD", et bien que Git ne se soucie pas de l'endroit où vous enregistrez la note sur cet état, en pratique nous avons tendance à simplement écrire le résultat dans le fichier qui est pointé par `.git/HEAD`, de sorte que nous pouvons toujours voir quel était le dernier état validé.

note: type: Labeled list
en: <tree>
fr: <arbre>

note: type: Plain text
en: An existing tree object.
fr: Un objet d'arbre existant.

note: type: Plain text
en: Each `-p` indicates the id of a parent commit object.
fr: Chaque `-p` indique l'id d'un objet commit parent.

note: type: Plain text
en: A paragraph in the commit log message. This can be given more than once and each <message> becomes its own paragraph.
fr: Un paragraphe dans le message du journal de validation. Ceci peut être donné plus d'une fois et chaque <message> devient son propre paragraphe.

note: type: Labeled list
en: -F <file>
fr: -F <fichier>

note: type: Plain text
en: Read the commit log message from the given file. Use `-` to read from the standard input. This can be given more than once and the content of each file becomes its own paragraph.
fr: Lire le message de validation depuis le fichier indiqué. Utilisez '-' pour lire le message depuis l'entrée standard. Ceci peut être indiqué plusieurs fois et le contenu de chaque fichier devient un paragraphe différent.

note: type: Plain text
en: GPG-sign commits. The `keyid` argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand a `--gpg-sign` option given earlier on the command line.
fr: Signer les commits avec GPG. L'argument `idclé` est optionnel avec par défaut l'identité du validateur ; si spécifiée, elle doit être collée à l'option sans aucun espace. `--no-gpg-sign` est utile pour annuler l'effet de la variable de configuration `commit.gpgSign` ainsi que tout `--gpg-sign` précédent.

note: type: Title -
en: Commit Information
fr: Information de validation

note: type: Plain text
en: A commit encapsulates:
fr: Un commit encapsule :

note: type: Plain text
en: all parent object ids
fr: tous les identifiants des objets parents

note: type: Plain text
en: author name, email and date
fr: nom de l'auteur, courriel et date

note: type: Plain text
en: committer name and email and the commit time.
fr: le nom et l'adresse électronique du validateur et la date du commit.

note: type: Plain text
en: A commit comment is read from stdin. If a changelog entry is not provided via "<" redirection, 'git commit-tree' will just wait for one to be entered and terminated with ^D.
fr: Un commentaire de validation est lu à partir de stdin. Si une entrée de changelog n’est pas fournie via la redirection « < », 'git commit-tree' attendra simplement qu’une entrée soit entrée et terminée par ^D.

note: type: Title -
en: FILES
fr: FICHIERS

note: type: Plain text
en: git-commit - Record changes to the repository
fr: git-commit - Enregistrer les modifications dans le dépôt

note: type: Plain text
en: 'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
    	   [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|reword):]<commit>)]
    	   [-F <file> | -m <msg>] [--reset-author] [--allow-empty]
    	   [--allow-empty-message] [--no-verify] [-e] [--author=<author>]
    	   [--date=<date>] [--cleanup=<mode>] [--[no-]status]
    	   [-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	   [(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]
    	   [--] [<pathspec>...]
fr: 'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend]
    	   [--dry-run] [(-c | -C | -squash) <commit>] | --fixup [(amend|reword):]<commit>)]
    	   [-F <fichier> | -m <msg>] [--reset-author] [--allow-empty]
    	   [--allow-empty-message] [--no-verify] [-e] [--author=<auteur>]
    	   [--date=<date>] [--cleanup=<mode>] [--[no-]status]
    	   [-i | -o] [--pathspec-from-file=<fichier> [--pathspec-file-nul]]
    	   [(--trailer <token>[(=|:)<valeur>])...] [-S[<idclé>]] 
    	[--] [<spec-de-chemin>...]

note: type: Plain text
en: Create a new commit containing the current contents of the index and the given log message describing the changes. The new commit is a direct child of HEAD, usually the tip of the current branch, and the branch is updated to point to it (unless no branch is associated with the working tree, in which case HEAD is "detached" as described in linkgit:git-checkout[1]).
fr: Crée un nouveau commit contenant le contenu actuel de l'index et avec le message de validation décrivant la modification. Le nouveau commit est un fils direct de HEAD, habituellement au sommet de la branche actuelle et la branche est mise à jour pour pointer dessus (à moins qu'aucune branche ne soit associée avec l'arbre de travail actuel, auquel cas HEAD est « détachée » comme décrit dans linkgit:git-checkout[1]).

note: type: Plain text
en: The content to be committed can be specified in several ways:
fr: Le contenu à valider peut être spécifié de différentes manières :

note: type: Plain text
en: by using linkgit:git-add[1] to incrementally "add" changes to the index before using the 'commit' command (Note: even modified files must be "added");
fr: en utilisant linkgit:git-add[1] pour « ajouter » de manière incrémentale des modifications à l'index avant d'utiliser la commande 'commit' (Note : les fichiers doivent être « ajoutés » pour faire partie du commit, même s'ils ont été modifiés);

note: type: Plain text
en: by using linkgit:git-rm[1] to remove files from the working tree and the index, again before using the 'commit' command;
fr: en utilisant linkgit:git-rm[1] pour supprimer des fichiers de l'arbre de travail et de l'index, encore une fois avant d'utiliser la commande 'commit';

note: type: Plain text
en: by listing files as arguments to the 'commit' command (without --interactive or --patch switch), in which case the commit will ignore changes staged in the index, and instead record the current content of the listed files (which must already be known to Git);
fr: en listant les fichiers comme arguments de la commande 'commit' (sans les options --interactive ou --patch), auquel cas la validation ignorera les modifications indexées et enregistrera plutôt le contenu actuel des fichiers listés (qui doivent être déjà connus de Git);

note: type: Plain text
en: by using the -a switch with the 'commit' command to automatically "add" changes from all known files (i.e. all files that are already listed in the index) and to automatically "rm" files in the index that have been removed from the working tree, and then perform the actual commit;
fr: en utilisant l'option -a avec la commande 'commit' pour « ajouter » automatiquement les modifications de tous les fichiers connus (c'est-à-dire les fichiers déjà listés dans l'index) et supprimer ('rm') automatiquement les fichiers de l'index qui ont été supprimés dans l'arbre de travail, puis d'effectuer la validation ;

note: type: Plain text
en: by using the --interactive or --patch switches with the 'commit' command to decide one by one which files or hunks should be part of the commit in addition to contents in the index, before finalizing the operation. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate these modes.
fr: en utilisant les options --interactive ou --patch avec la commande 'commit' pour choisir quels fichiers ou sections de fichier doivent être inclus dans le commit en plus de l'index, avant finalisation de l'opération. Référez-vous à la section « Mode interactif » de linkgit:git-add[1] pour la description de ces modes.

note: type: Plain text
en: The `--dry-run` option can be used to obtain a summary of what is included by any of the above for the next commit by giving the same set of parameters (options and paths).
fr: L'option `--dry-run` peut être utilisée pour obtenir un résumé de ce qui sera inclus par une des commandes ci-dessus pour la prochaine validation en fournissant le même jeu de paramètres (options et chemins).

note: type: Plain text
en: If you make a commit and then find a mistake immediately after that, you can recover from it with 'git reset'.
fr: Si vous validez et trouvez une erreur immédiatement après, vous pouvez annuler la validation avec 'git reset'.

note: type: Plain text
en: Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.
fr: Indiquer à la commande d'indexer automatiquement les fichiers qui ont été modifiés ou supprimés, mais les nouveaux fichiers dont vous n'avez pas signalé la présence à Git ne sont pas affectés.

note: type: Plain text
en: Use the interactive patch selection interface to choose which changes to commit. See linkgit:git-add[1] for details.
fr: Utiliser la sélection interactive de correctif pour choisir quelles modifications valider. Référez-vous à linkgit:git-add[1] pour plus de détails.

note: type: Plain text
en: Take an existing commit object, and reuse the log message and the authorship information (including the timestamp)  when creating the commit.
fr: Prendre un objet commit existant et réutiliser son message de validation et son information d'auteur (y compris l'horodatage) pour la création du commit.

note: type: Plain text
en: Like '-C', but with `-c` the editor is invoked, so that the user can further edit the commit message.
fr: Comme '-C', mais avec '-c', l'éditeur est appelé pour permettre à l'utilisateur de modifier le message de validation.

note: type: Plain text
en: Create a new commit which "fixes up" `<commit>` when applied with `git rebase --autosquash`. Plain `--fixup=<commit>` creates a "fixup!" commit which changes the content of `<commit>` but leaves its log message untouched. `--fixup=amend:<commit>` is similar but creates an "amend!" commit which also replaces the log message of `<commit>` with the log message of the "amend!" commit.  `--fixup=reword:<commit>` creates an "amend!" commit which replaces the log message of `<commit>` with its own log message but makes no changes to the content of `<commit>`.
fr: Créer un nouveau commit qui « répare » `<commit>` quand il est appliqué avec `git rebase --autosquash``. Un simple `--fixup=<commit>` crée un commit "fixup !" qui change le contenu de `<commit>` mais laisse son message de validation inchangé. `-fixup=amend:<commit>` est similaire mais crée un commit "amend !" qui remplace aussi le message de validation de `<commit>` par le message de validation du commit "amend !".  `--fixup=reword:<commit>` crée un commit "amend !" qui remplace le message de validation de `<commit>` par son propre message de log mais ne fait aucun changement au contenu de `<commit>`.

note: type: Plain text
en: The commit created by plain `--fixup=<commit>` has a subject composed of "fixup!" followed by the subject line from <commit>, and is recognized specially by `git rebase --autosquash`. The `-m` option may be used to supplement the log message of the created commit, but the additional commentary will be thrown away once the "fixup!" commit is squashed into `<commit>` by `git rebase --autosquash`.
fr: Le commit créé par le simple `--fixup=<commit>` a un sujet composé de "fixup !" suivi de la ligne de sujet de <commit>, et est reconnu spécialement par `git rebase --autosquash`. L'option `-m` peut être utilisée pour compléter le message du journal du commit créé, mais le commentaire supplémentaire sera jeté une fois que le commit "fixup !" sera écrasé dans `<commit>` par `git rebase --autosquash`.

note: type: Plain text
en: The commit created by `--fixup=amend:<commit>` is similar but its subject is instead prefixed with "amend!". The log message of <commit> is copied into the log message of the "amend!" commit and opened in an editor so it can be refined. When `git rebase --autosquash` squashes the "amend!" commit into `<commit>`, the log message of `<commit>` is replaced by the refined log message from the "amend!" commit. It is an error for the "amend!" commit's log message to be empty unless `--allow-empty-message` is specified.
fr: Le commit créé par `--fixup=amend:<commit>` est similaire mais son sujet est à la place préfixé par "amend !". Le message de validation de <commit> est copié dans le message de validation du commit "amend !" et ouvert dans un éditeur afin qu'il puisse être affiné. Lorsque `git rebase --autosquash` écrase le commit "amend !" dans `<commit>`, le message de validation de `<commit>` est remplacé par le message de validation raffiné du commit "amend !". C'est une erreur si le message du journal du commit "amend !" est vide, à moins que `--allow-empty-message` soit spécifié.

note: type: Plain text
en: `--fixup=reword:<commit>` is shorthand for `--fixup=amend:<commit> --only`. It creates an "amend!" commit with only a log message (ignoring any changes staged in the index). When squashed by `git rebase --autosquash`, it replaces the log message of `<commit>` without making any other changes.
fr: `--fixup=reword:<commit>` est un raccourci pour `--fixup=amend:<commit> --only`. Il crée un commit "amend !" qui touche seulement au message de validation (en ignorant les changements mis en place dans l'index). Lorsqu'il est écrasé par `git rebase --autosquash`, il remplace le message du validation de `<commit>` sans faire d'autres changements.

note: type: Plain text
en: Neither "fixup!" nor "amend!" commits change authorship of `<commit>` when applied by `git rebase --autosquash`.  See linkgit:git-rebase[1] for details.
fr: Ni les commits "fixup !" ni les commits "amend !" ne changent la paternité de `<commit>` quand ils sont appliqués par `git rebase --autosquash`.  Voir linkgit:git-rebase[1] pour plus de détails.

note: type: Plain text
en: Construct a commit message for use with `rebase --autosquash`.  The commit message subject line is taken from the specified commit with a prefix of "squash! ".  Can be used with additional commit message options (`-m`/`-c`/`-C`/`-F`). See linkgit:git-rebase[1] for details.
fr: Construire un message de validation pour une utilisation avec `rebase --autosquash`. La ligne de titre du message de validation est tirée du commit spécifié préfixée par « squash! ». Peut être utilisée avec d'autres options de 'commit' (`-m`/`-c`/`-C`/`-F`). Référez-vous à linkgit:git-rebase[1] pour plus de détails.

note: type: Plain text
en: When used with -C/-c/--amend options, or when committing after a conflicting cherry-pick, declare that the authorship of the resulting commit now belongs to the committer. This also renews the author timestamp.
fr: Utilisé avec les options -C/-c/--amend ou lors de validation après un picorage conflictuel, déclarer que la paternité du commit résultant appartient à présent au validateur avec un horodatage mis à jour.

note: type: Plain text
en: When doing a dry-run, give the output in the short-format. See linkgit:git-status[1] for details. Implies `--dry-run`.
fr: Seulement avec '--dry-run', fournir la sortie en format court. Voir linkgit:git-status[1] pour plus de détails.

note: type: Plain text
en: Show the branch and tracking info even in short-format.
fr: Montrer la branche et l'information de suivi, y compris en format court.

note: type: Plain text
en: When doing a dry-run, give the output in a porcelain-ready format. See linkgit:git-status[1] for details. Implies `--dry-run`.
fr: Seulement avec '--dry-run', donner la sortie en format compatible porcelaine. Voir linkgit:git-status[1] pour plus de détails.

note: type: Plain text
en: When doing a dry-run, give the output in the long-format.  Implies `--dry-run`.
fr: Avec '--dry-run', donner la sortie en format long. Implique `--dry-run`.

note: type: Plain text
en: When showing `short` or `porcelain` status output, print the filename verbatim and terminate the entries with NUL, instead of LF.  If no format is given, implies the `--porcelain` output format.  Without the `-z` option, filenames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
fr: Avec les sorties de statut `short` ou `porcelain`, afficher le nom du fichier textuellement et terminer par NUL, au lieu de LF. Si aucun format n'est spécifié, implique le format de sortie `--porcelain`. Sans l'option `-z`, les noms de fichier contenant des caractères « inhabituels » sont indiqués selon la variable de configuration `core.quotePath` (voir linkgit:git-config[1]).

note: type: Labeled list
en: --file=<file>
fr: --file=<fichier>

note: type: Plain text
en: Take the commit message from the given file.  Use '-' to read the message from the standard input.
fr: Prendre le message de validation depuis le fichier indiqué. Utilisez '-' pour lire le message depuis l'entrée standard.

note: type: Labeled list
en: --author=<author>
fr: --author=<auteur>

note: type: Plain text
en: Override the commit author. Specify an explicit author using the standard `A U Thor <author@example.com>` format. Otherwise <author> is assumed to be a pattern and is used to search for an existing commit by that author (i.e. rev-list --all -i --author=<author>); the commit author is then copied from the first such commit found.
fr: Surcharger l'auteur du commit. Spécifier un auteur explicite avec le format standard `Prénom Nom <auteur@exemple.com>`. Sinon <auteur> est considéré comme un patron utilisé pour chercher un commit existant par cet auteur (c-à-d rev-list --all -i --author=<auteur>) ; l'auteur du commit est alors copié depuis le premier commit trouvé.

note: type: Plain text
en: Override the author date used in the commit.
fr: Surcharger la date d'auteur utilisée dans le commit.

note: type: Plain text
en: Use the given <msg> as the commit message.  If multiple `-m` options are given, their values are concatenated as separate paragraphs.
fr: Utiliser le <msg> fourni comme message de validation. Si plusieurs options `-m` sont fournies, leurs valeurs sont concaténées comme paragraphes séparés.

note: type: Plain text
en: The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.
fr: L'option `-m` est incompatible avec `-c`, `-C` ou `-F`.

note: type: Labeled list
en: -t <file>
fr: -t <fichier>

note: type: Labeled list
en: --template=<file>
fr: --template=<fichier>

note: type: Plain text
en: When editing the commit message, start the editor with the contents in the given file.  The `commit.template` configuration variable is often used to give this option implicitly to the command.  This mechanism can be used by projects that want to guide participants with some hints on what to write in the message in what order.  If the user exits the editor without editing the message, the commit is aborted.  This has no effect when a message is given by other means, e.g. with the `-m` or `-F` options.
fr: À l'édition du message de validation, démarrer l'éditeur avec le contenu du fichier indiqué. La variable de configuration `commit.template` est souvent utilisée pour fournir implicitement cette option à la commande. Ce mécanisme peut être utilisé par les projets qui souhaitent guider les collaborateurs avec une aide sur ce qu'il faut écrire dans le message et dans quel ordre. Si l'utilisateur sort de l'éditeur sans changer le message, la validation est annulée. Ceci n'a aucun effet quand un message est fourni par un autre moyen, par exemple par les options `-m` ou `-F`.

note: type: Labeled list
en: --trailer <token>[(=|:)<value>]
fr: --trailer <jeton>[(=| :)<valeur>]

note: type: Plain text
en: Specify a (<token>, <value>) pair that should be applied as a trailer. (e.g. `git commit --trailer "Signed-off-by:C O Mitter \ <committer@example.com>" --trailer "Helped-by:C O Mitter \ <committer@example.com>"` will add the "Signed-off-by" trailer and the "Helped-by" trailer to the commit message.)  The `trailer.*` configuration variables (linkgit:git-interpret-trailers[1]) can be used to define if a duplicated trailer is omitted, where in the run of trailers each trailer would appear, and other details.
fr: Spécifier une paire (<jeton>, <valeur>) qui doit être appliquée comme une ligne terminale (par exemple, `git commit --trailer "Signed-off-by:C O Mitter \ <committer@example.com>" --trailer "Helped-by:C O Mitter \ <committer@example.com>"` ajoutera la ligne terminale "Signed-off-by" et la ligne terminale "Helped-by" au message de validation). Les variables de configuration `trailer.*` (linkgit:git-interpret-trailers[1]) peuvent être utilisées pour définir si une ligne terminale dupliquée est omise, ou où chaque ligne terminale apparaîtrait dans la série de lignes terminales, et d'autres détails.

note: type: Plain text
en: This option bypasses the pre-commit and commit-msg hooks.  See also linkgit:githooks[5].
fr: Cette option court-circuite les crochets pre-commit et commit-msg. Voir aussi linkgit:githooks[5].

note: type: Plain text
en: Usually recording a commit that has the exact same tree as its sole parent commit is a mistake, and the command prevents you from making such a commit.  This option bypasses the safety, and is primarily for use by foreign SCM interface scripts.
fr: En général, enregistrer un commit qui pointe sur la même version que son unique parent est une erreur et la commande vous empêche de créer un tel commit. Cette option court-circuite cette sécurité et sert principalement dans les scripts d'interface avec d'autres SCM (_Software Configuration Management_, gestion de configuration logicielle).

note: type: Plain text
en: Like --allow-empty this command is primarily for use by foreign SCM interface scripts. It allows you to create a commit with an empty commit message without using plumbing commands like linkgit:git-commit-tree[1].
fr: Comme --allow-empty, cette commande est principalement utilisée par les scripts d'interface avec d'autres SCM (_Software Configuration Management_, gestion de configuration logicielle). Elle vous permet de créer un commit avec un message vide sans utiliser de commande de plomberie telle que linkgit:git-commit-tree[1].

note: type: Plain text
en: This option determines how the supplied commit message should be cleaned up before committing.  The '<mode>' can be `strip`, `whitespace`, `verbatim`, `scissors` or `default`.
fr: Cette option détermine comment le message de validation fourni doit être nettoyé avant la validation. Le '<mode>' peut être `strip`, `whitespace`, `verbatim`, `scissors` ou `default`.

note: type: Plain text
en: Strip leading and trailing empty lines, trailing whitespace, commentary and collapse consecutive empty lines.
fr: Supprimer les lignes vides de début et de fin, les espaces, les commentaires et réduire les lignes vides consécutives à une seule.

note: type: Plain text
en: Same as `strip` except #commentary is not removed.
fr: Identique à `strip` sauf que les #commentaires ne sont pas supprimés.

note: type: Plain text
en: Do not change the message at all.
fr: Laisser le message inchangé.

note: type: Plain text
en: Same as `whitespace` except that everything from (and including)  the line found below is truncated, if the message is to be edited.  "`#`" can be customized with core.commentChar.
fr: Identique à `whitespace`, à l'exception que tout à partir de la ligne ci-dessous (incluse) sera éliminé si le message est édité. "`#`" peut être personnalisé grâce à core.commentChar.

note: type: Plain text
en: Same as `strip` if the message is to be edited.  Otherwise `whitespace`.
fr: Identique à `strip` si le messages est édité. Sinon `whitespace`.

note: type: Plain text
en: The default can be changed by the `commit.cleanup` configuration variable (see linkgit:git-config[1]).
fr: La valeur par défaut peut être modifiée par la variable de configuration `commit.cleanup` (voir linkgit:git-config[1]).

note: type: Plain text
en: The message taken from file with `-F`, command line with `-m`, and from commit object with `-C` are usually used as the commit log message unmodified. This option lets you further edit the message taken from these sources.
fr: Le message tiré d'un fichier avec `-F`, ou de la ligne de commande avec `-m`, ou depuis un objet commit avec `-C` est généralement utilisé sans modification. Cette option permet d'éditer au passage le message tiré de ces sources.

note: type: Plain text
en: Use the selected commit message without launching an editor.  For example, `git commit --amend --no-edit` amends a commit without changing its commit message.
fr: Utiliser le message de validation sélectionné sans lancer d'éditeur. Par exemple, `git commit --amend --no-edit` corrige un commit sans changer son message de validation.

note: type: Plain text
en: Replace the tip of the current branch by creating a new commit. The recorded tree is prepared as usual (including the effect of the `-i` and `-o` options and explicit pathspec), and the message from the original commit is used as the starting point, instead of an empty message, when no other message is specified from the command line via options such as `-m`, `-F`, `-c`, etc.  The new commit has the same parents and author as the current one (the `--reset-author` option can countermand this).
fr: Remplacer le sommet de la branche actuelle en créant un nouveau commit. L'arbre enregistré est préparé comme d'habitude (incluant l'effet des options `-i` et `-o` et les spécificateurs explicites de chemin) et le message du commit originel est utilisé comme point de départ au lieu d'un message vide, quand aucun autre message n'est spécifié à la ligne de commande via des options telles que `-m`, `-F`, `-c`, etc. Le nouveau commit a les mêmes parents et auteur que l'originel (l'option `--reset-author` peut modifier l'auteur).

note: type: Plain text
en: It is a rough equivalent for:
fr: C'est un équivalent grossier de :

note: type: delimited block -
en: 	$ git reset --soft HEAD^
    	$ ... do something else to come up with the right tree ...
    	$ git commit -c ORIG_HEAD
fr: 	$ git reset --soft HEAD^
    	$ ... faire autre chose pour obtenir l'arbre correct ...
    	$ git commit -c ORIG_HEAD

note: type: Plain text
en: but can be used to amend a merge commit.
fr: mais peut être utilisé pour corriger un commit de fusion.

note: type: Plain text
en: You should understand the implications of rewriting history if you amend a commit that has already been published.  (See the "RECOVERING FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
fr: Vous devriez comprendre les implications d'une réécriture de l'historique si vous modifiez un commit qui a déjà été publié. (Voir la section « RATTRAPPER UN REBASAGE AMONT » dans linkgit:git-rebase[1].)

note: type: Plain text
en: Bypass the post-rewrite hook.
fr: Court-circuiter le crochet post-rewrite.

note: type: Plain text
en: Before making a commit out of staged contents so far, stage the contents of paths given on the command line as well.  This is usually not what you want unless you are concluding a conflicted merge.
fr: Avant de créer un commit à partir du contenu indexé jusqu'à présent, indexer aussi les contenus des chemins fournis sur la ligne de commande. Cela n'est habituellement pas ce que vous souhaitez, à part si vous terminez une fusion conflictuelle.

note: type: Plain text
en: Make a commit by taking the updated working tree contents of the paths specified on the command line, disregarding any contents that have been staged for other paths. This is the default mode of operation of 'git commit' if any paths are given on the command line, in which case this option can be omitted.  If this option is specified together with `--amend`, then no paths need to be specified, which can be used to amend the last commit without committing changes that have already been staged. If used together with `--allow-empty` paths are also not required, and an empty commit will be created.
fr: Réaliser une validation en prenant le contenu de l'arbre de travail des chemins spécifiés sur la ligne de commande, en ignorant tout contenu d'autres chemins déjà indexé. C'est le mode d'opération par défaut de 'git commit' si des chemins sont fournis sur la ligne de commande, auquel cas l'option peut être omise. Si cette option est spécifiée en même temps que `--amend`, alors il n'est pas nécessaire de spécifier des chemins, ce qui peut être utile pour corriger le dernier commit sans valider les modifications qui ont déjà été indexées. Si utilisé avec `--allow-empty`, les chemins ne sont pas nécessaires non plus et un commit vide sera créé.

note: type: Plain text
en: Show untracked files.
fr: Montrer les fichiers non-suivis.

note: type: Plain text
en: The mode parameter is optional (defaults to 'all'), and is used to specify the handling of untracked files; when -u is not used, the default is 'normal', i.e. show untracked files and directories.
fr: Le paramètre de mode est optionnel (par défaut, 'all') et sert à spécifier la gestion des fichiers non suivis ; quand -u n'est pas utilisé, le mode par défaut est 'normal', c'est-à-dire montrer les fichiers et les dossiers non-suivis.

note: type: Plain text
en: The possible options are:
fr: Les options possibles sont :

note: type: Plain text
en: 'no'     - Show no untracked files
fr: 'no'     - Ne montrer aucun fichier non-suivi

note: type: Plain text
en: 'normal' - Shows untracked files and directories
fr: 'normal' - Montrer les fichiers non-suivis et les dossiers dont le contenu est non-suivi

note: type: Plain text
en: 'all'    - Also shows individual files in untracked directories.
fr: 'all'    - Montrer aussi les fichiers dans les dossiers dont le contenu n'est pas suivi.

note: type: Plain text
en: The default can be changed using the status.showUntrackedFiles configuration variable documented in linkgit:git-config[1].
fr: La valeur par défaut est contenue dans la variable de configuration status.showUntrackedFiles documentée dans linkgit:git-config[1].

note: type: Plain text
en: Show unified diff between the HEAD commit and what would be committed at the bottom of the commit message template to help the user describe the commit by reminding what changes the commit has.  Note that this diff output doesn't have its lines prefixed with '#'. This diff will not be a part of the commit message. See the `commit.verbose` configuration variable in linkgit:git-config[1].
fr: Afficher en bas du modèle de message de validation un diff unifié entre le commit HEAD et ce qui serait validé pour aider l'utilisateur à décrire le commit en lui rappelant les modifications qui seront validées. Veuillez noter que cette sortie de diff n'est pas préfixée par des '#'. Elle ne fera pas pour autant partie du message de validation. Référez-vous à la variable de configuration `commit.verbose` dans linkgit:git-config[1].

note: type: Plain text
en: If specified twice, show in addition the unified diff between what would be committed and the worktree files, i.e. the unstaged changes to tracked files.
fr: Si spécifié deux fois, afficher en plus le diff unifié entre ce qui serait validé et les fichiers de l'arbre de travail, c'est-à-dire les modifications non-indexées des fichiers suivis.

note: type: Plain text
en: Suppress commit summary message.
fr: Supprimer le message de résumé de commit.

note: type: Plain text
en: Do not create a commit, but show a list of paths that are to be committed, paths with local changes that will be left uncommitted and paths that are untracked.
fr: Ne pas créer de commit, mais montrer une liste des chemins qui seront validés, une de ceux contenant des modifications locales et qui ne seront pas validés, et une de ceux non-suivis.

note: type: Plain text
en: Include the output of linkgit:git-status[1] in the commit message template when using an editor to prepare the commit message.  Defaults to on, but can be used to override configuration variable commit.status.
fr: Inclure la sortie de linkgit:git-status[1] dans le modèle de message de validation lors de l'utilisation d'un éditeur pour préparer le message de validation. Activé par défaut, mais peut surcharger la variable de configuration commit.status.

note: type: Plain text
en: Do not include the output of linkgit:git-status[1] in the commit message template when using an editor to prepare the default commit message.
fr: Ne pas inclure la sortie de linkgit:git-status[1] dans le modèle de message de validation lors de l'utilisation d'un éditeur pour préparer le message de validation par défaut.

note: type: Plain text
en: When pathspec is given on the command line, commit the contents of the files that match the pathspec without recording the changes already added to the index. The contents of these files are also staged for the next commit on top of what have been staged before.
fr: Quand un spécifcateur de chemins est fourni sur la ligne de commande, valider le contenu des fichiers correspondants, sans enregistrer les modifications déjà indexées. Le contenu de ces fichiers est aussi indexé pour le commit suivant par-dessus ce qui a été indexé auparavant.

note: type: Plain text
en: When recording your own work, the contents of modified files in your working tree are temporarily stored to a staging area called the "index" with 'git add'.  A file can be reverted back, only in the index but not in the working tree, to that of the last commit with `git restore --staged <file>`, which effectively reverts 'git add' and prevents the changes to this file from participating in the next commit.  After building the state to be committed incrementally with these commands, `git commit` (without any pathname parameter) is used to record what has been staged so far.  This is the most basic form of the command.  An example:
fr: Lors de l'enregistrement de votre propre travail, le contenu des fichiers modifiés dans votre arbre de travail est temporairement stocké au moyen de `git add` dans une zone de stockage intermédiaire appelée « l'index ». Un fichier peut n'être ramené à son contenu correspondant au dernier commit seulement dans l'index mais pas dans l'arbre de travail grâce à `git restore --staged <fichier>`, ce qui inverse effectivement le 'git add' et empêche les modifications de ce fichier de participer à la prochaine validation. Après avoir construit l'état à valider de manière incrémentale avec ces commandes, `git commit` (sans aucun nom de chemin en paramètre) sert à enregistrer ce qui a été préparé jusqu'ici. C'est la forme la plus simple de la commande. Par exemple :

note: type: Plain text
en: Instead of staging files after each individual change, you can tell `git commit` to notice the changes to the files whose contents are tracked in your working tree and do corresponding `git add` and `git rm` for you.  That is, this example does the same as the earlier example if there is no other change in your working tree:
fr: Au lieu d'indexer les fichiers après chaque modification individuelle, vous pouvez ordonner à `git commit` d'inspecter les modifications des fichiers dont le contenu est déjà suivi dans votre arbre de travail et de réaliser les `git add` et `git rm` correspondant pour vous. De fait, l'exemple suivant fait la même chose que l'exemple précédent si aucune autre modification n'a eu lieu dans votre arbre de travail :

note: type: Plain text
en: The command `git commit -a` first looks at your working tree, notices that you have modified hello.c and removed goodbye.c, and performs necessary `git add` and `git rm` for you.
fr: La commande `git commit -a` inspecte votre arbre de travail, remarque que vous avez modifié hello.c et supprimé goodbye.c, puis réalise les `git add` et `git rm` nécessaires pour vous.

note: type: Plain text
en: After staging changes to many files, you can alter the order the changes are recorded in, by giving pathnames to `git commit`.  When pathnames are given, the command makes a commit that only records the changes made to the named paths:
fr: Après l'indexation des modifications de nombreux fichiers, vous pouvez modifier l'ordre dans lequel les modifications sont enregistrées, en fournissant des chemins à `git commit`. Quand ces chemins sont fournis, la commande crée un commit qui n'enregistre que les modifications des chemins indiqués :

note: type: Plain text
en: This makes a commit that records the modification to `Makefile`.  The changes staged for `hello.c` and `hello.h` are not included in the resulting commit.  However, their changes are not lost -- they are still staged and merely held back.  After the above sequence, if you do:
fr: Ceci crée un commit qui enregistre les modifications de `Makefile`. Les modifications indexées pour `hello.c` et `hello.h` ne sont pas incluses dans le commit résultant. Cependant, leurs modifications ne sont pas perdues -- elles sont toujours indexées et simplement suspendues. Après la séquence ci-dessus, si vous faites :

note: type: Plain text
en: this second commit would record the changes to `hello.c` and `hello.h` as expected.
fr: cette seconde validation enregistrerait les modifications de `hello.c` et `hello.h` comme attendu.

note: type: Plain text
en: After a merge (initiated by 'git merge' or 'git pull') stops because of conflicts, cleanly merged paths are already staged to be committed for you, and paths that conflicted are left in unmerged state.  You would have to first check which paths are conflicting with 'git status' and after fixing them manually in your working tree, you would stage the result as usual with 'git add':
fr: Après l'arrêt d'une fusion (commencée avec `git merge` ou `git pull`) pour cause de conflit, les chemins fusionnés proprement sont déjà indexés pour vous, et les chemins en conflit sont laissés dans un état non-fusionné. Vous auriez à chercher d'abord les chemins en conflit avec `git status` et après les avoir corrigés manuellement dans votre copie de travail, vous les indexeriez comme d'habitude avec `git add` :

note: type: delimited block -
en: $ git status | grep unmerged
    unmerged: hello.c
    $ edit hello.c
    $ git add hello.c
fr: $ git status | grep non-fusionné
    non-fusionné : hello.c
    $ edit hello.c
    $ git add hello.c

note: type: Plain text
en: After resolving conflicts and staging the result, `git ls-files -u` would stop mentioning the conflicted path.  When you are done, run `git commit` to finally record the merge:
fr: Après avoir résolu les conflits et indexé le résultat, `git ls-files -u` arrêterait de mentionner les chemins en conflit. Quand vous avez terminé, lancez `git commit` pour finaliser la validation de la fusion :

note: type: Plain text
en: As with the case to record your own changes, you can use `-a` option to save typing.  One difference is that during a merge resolution, you cannot use `git commit` with pathnames to alter the order the changes are committed, because the merge should be recorded as a single commit.  In fact, the command refuses to run when given pathnames (but see `-i` option).
fr: Comme dans le cas de la validation de vos propres modifications, vous pouvez utiliser l'option `-a` pour vous épargner de la frappe. Une différence est que pendant la résolution de fusion, vous ne pouvez pas utiliser `git commit` avec des noms de chemin pour changer l'ordre des modifications à valider, parce que la fusion doit être enregistrée comme un commit unique. En fait, la commande refuse d'être lancée avec des noms de chemin (voir par contre l'option `-i`).

note: type: Title -
en: COMMIT INFORMATION
fr: INFORMATION DE VALIDATION

note: type: Plain text
en: Author and committer information is taken from the following environment variables, if set:
fr: Les informations sur les auteurs et les validateurs sont tirées des variables d'environnement suivantes, si elles sont définies :

note: type: Plain text
en: (nb "<", ">" and "\n"s are stripped)
fr: (nota bene "<", ">" et "\n"s sont supprimés)

note: type: Plain text
en: The author and committer names are by convention some form of a personal name (that is, the name by which other humans refer to you), although Git does not enforce or require any particular form. Arbitrary Unicode may be used, subject to the constraints listed above. This name has no effect on authentication; for that, see the `credential.username` variable in linkgit:git-config[1].
fr: Les noms de l'auteur et du validateur sont par convention une forme de nom personnel (c'est-à-dire le nom par lequel les autres humains vous désignent), bien que Git n'impose ou n'exige aucune forme particulière. N'importe quel unicode peut être utilisé, sous réserve des contraintes énumérées ci-dessus. Ce nom n'a aucun effet sur l'authentification ; pour cela, voir la variable `credential.username` dans linkgit:git-config[1].

note: type: Plain text
en: In case (some of) these environment variables are not set, the information is taken from the configuration items `user.name` and `user.email`, or, if not present, the environment variable EMAIL, or, if that is not set, system user name and the hostname used for outgoing mail (taken from `/etc/mailname` and falling back to the fully qualified hostname when that file does not exist).
fr: Dans le cas où (certaines de) ces variables d’environnement ne sont pas définies, les informations sont prises à partir des éléments de configuration `user.name` et `user.email`, ou, si elle n’est pas présente, la variable d’environnement EMAIL, ou, si ce n’est pas réglé, le nom d’utilisateur du système et le nom d’hôte utilisé pour le courrier sortant (pris depuis `/etc/mailname` et ou par défaut le nom d’hôte entièrement qualifié lorsque ce fichier n’existe pas).

note: type: Plain text
en: The `author.name` and `committer.name` and their corresponding email options override `user.name` and `user.email` if set and are overridden themselves by the environment variables.
fr: Les options `author.name` et `committer.name` et leurs options de courrier électronique correspondantes remplacent les options `user.name` et `user.email` si elles sont définies et sont elles-mêmes remplacées par les variables d'environnement.

note: type: Plain text
en: The typical usage is to set just the `user.name` and `user.email` variables; the other options are provided for more complex use cases.
fr: L'utilisation typique consiste à définir uniquement les variables `user.name` et `user.email` ; les autres options sont fournies pour les cas d'utilisation plus complexes.

note: type: Plain text
en: Though not required, it's a good idea to begin the commit message with a single short (less than 50 character) line summarizing the change, followed by a blank line and then a more thorough description.  The text up to the first blank line in a commit message is treated as the commit title, and that title is used throughout Git.  For example, linkgit:git-format-patch[1] turns a commit into email, and it uses the title on the Subject line and the rest of the commit in the body.
fr: Bien que ça ne soit pas requis, c'est une bonne pratique de commencer les messages de validation avec une seule ligne courte (moins de 50 caractères) pour résumer la modification, suivie d'une ligne blanche, suivie d'un description plus précise. Le texte jusqu'à la ligne vide du message de validation est traité comme le titre du commit, et ce titre est utilisé extensivement dans Git. Par exemple, linkgit:git-format-patch[1] transforme un commit en courriel et utilise le titre comme sujet et le reste du texte comme corps.

note: type: Title -
en: ENVIRONMENT AND CONFIGURATION VARIABLES
fr: ENVIRONNEMENT ET VARIABLES DE CONFIGURATION

note: type: Plain text
en: The editor used to edit the commit log message will be chosen from the `GIT_EDITOR` environment variable, the core.editor configuration variable, the `VISUAL` environment variable, or the `EDITOR` environment variable (in that order).  See linkgit:git-var[1] for details.
fr: L'éditeur utilisé pour éditer le message de validation sera choisi dans l'ordre de recherche depuis la variable d'environnement `GIT_EDITOR`, puis depuis la variable de configuration `core.editor`, puis depuis la variable d'environnement `VISUAL` ou la variable d'environnement `EDITOR`. Voir linkgit:git-var[1] pour plus de détails.

note: type: Plain text
en: This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, `post-commit` and `post-rewrite` hooks.  See linkgit:githooks[5] for more information.
fr: Cette commande peut lancer les crochets `commit-msg`, `prepare-commit-msg`, `pre-commit`, `post-commit` et `post-rewrite`.  Voir linkgit:githooks[5] pour de plus amples informations.

note: type: Plain text
en: This file contains the commit message of a commit in progress.  If `git commit` exits due to an error before creating a commit, any commit message that has been provided by the user (e.g., in an editor session) will be available in this file, but will be overwritten by the next invocation of `git commit`.
fr: Ce fichier contient le message de validation en cours. Si `git commit` sort à cause d'une erreur avant de créer un commit, tout message de validation fourni par l'utilisateur (par exemple dans une session d'éditeur) sera disponible dans ce fichier, mais sera écrasé par l'invocation suivante de `git commit`.

note: type: Plain text
en: git-config - Get and set repository or global options
fr: git-config - Lire et écrire les options du dépôt et les options globales

note: type: Plain text
en: 'git config' [<file-option>] [--type=<type>] [--fixed-value] [--show-origin] [--show-scope] [-z|--null] name [value [value-pattern]]
    'git config' [<file-option>] [--type=<type>] --add name value
    'git config' [<file-option>] [--type=<type>] [--fixed-value] --replace-all name value [value-pattern]
    'git config' [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get name [value-pattern]
    'git config' [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get-all name [value-pattern]
    'git config' [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] [--name-only] --get-regexp name_regex [value-pattern]
    'git config' [<file-option>] [--type=<type>] [-z|--null] --get-urlmatch name URL
    'git config' [<file-option>] [--fixed-value] --unset name [value-pattern]
    'git config' [<file-option>] [--fixed-value] --unset-all name [value-pattern]
    'git config' [<file-option>] --rename-section old_name new_name
    'git config' [<file-option>] --remove-section name
    'git config' [<file-option>] [--show-origin] [--show-scope] [-z|--null] [--name-only] -l | --list
    'git config' [<file-option>] --get-color name [default]
    'git config' [<file-option>] --get-colorbool name [stdout-is-tty]
    'git config' [<file-option>] -e | --edit
fr: 'git config' [<option-de-fichier>] [--type=<type>] [--fixed-value] [--show-origin] [--show-scope] [-z|--null] <nom> [<valeur> [<motif-de-valeur>]]
    'git config' [<option-de-fichier>] [--type=<type>] --add <nom> <valeur>
    'git config' [<option-de-fichier>] [--type=<type>] [--fixed-value] --replace-all <nom> <valeur> [<motif-de-valeur>]
    'git config' [<option-de-fichier>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get <nom> [<motif-de-valeur>]
    'git config' [<option-de-fichier>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get-all <nom> [<motif-de-valeur>]
    'git config' [<option-de-fichier>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] [--name-only] --get-regexp <regex_de_nom> [<motif-de-valeur>]
    'git config' [<option-de-fichier>] [--type=<type>] [-z|--null] --get-urlmatch <nom> <URL>
    'git config' [<option-de-fichier>] [--fixed-value] --unset <nom> [<motif-de-valeur>]
    'git config' [<option-de-fichier>] [--fixed-value] --unset-all <nom> [<motif-de-valeur>]
    'git config' [<option-de-fichier>] --rename-section <ancien_nom> <nouveau_nom>
    'git config' [<option-de-fichier>] --remove-section <nom>
    'git config' [<option-de-fichier>] [--show-origin] [--show-scope] [-z|--null] [--name-only] -l | --list
    'git config' [<option-de-fichier>] --get-color <nom> [default]
    'git config' [<option-de-fichier>] --get-colorbool <nom> [stdout-is-tty]
    'git config' [<option-de-fichier>] -e | --edit

note: type: Plain text
en: You can query/set/replace/unset options with this command. The name is actually the section and the key separated by a dot, and the value will be escaped.
fr: Vous pouvez interroger/définir/remplacer/annuler les options avec cette commande. Le nom est en fait la section et la clé séparées par un point, et la valeur sera échappée.

note: type: Plain text
en: Multiple lines can be added to an option by using the `--add` option.  If you want to update or unset an option which can occur on multiple lines, a `value-pattern` (which is an extended regular expression, unless the `--fixed-value` option is given) needs to be given.  Only the existing values that match the pattern are updated or unset.  If you want to handle the lines that do *not* match the pattern, just prepend a single exclamation mark in front (see also <<EXAMPLES>>), but note that this only works when the `--fixed-value` option is not in use.
fr: Plusieurs lignes peuvent être ajoutées à une option en utilisant l'option `--add`.  Si vous voulez mettre à jour ou annuler une option qui peut se trouver sur plusieurs lignes, un "motif-de-valeur" (qui est une expression régulière étendue, à moins que l'option "--fixed-value" soit donnée) doit être donné.  Seules les valeurs existantes qui correspondent au motif sont mises à jour ou annulées.  Si vous voulez gérer les lignes qui ne correspondent *pas* au motif, ajoutez simplement un point d'exclamation devant (voir aussi <<EXEMPLES>>), mais notez que cela ne fonctionne que lorsque l'option `--fixed-value` n'est pas utilisée.

note: type: Plain text
en: The `--type=<type>` option instructs 'git config' to ensure that incoming and outgoing values are canonicalize-able under the given <type>.  If no `--type=<type>` is given, no canonicalization will be performed. Callers may unset an existing `--type` specifier with `--no-type`.
fr: L'option `--type=<type>` indique à 'git config' de s'assurer que les valeurs entrantes et sortantes peuvent être canonisées sous le <type> donné.  Si aucun `--type=<type>` n'est donné, aucune canonisation ne sera effectuée. Les appelants peuvent annuler un spécificateur `--type` existant avec `--no-type`.

note: type: Plain text
en: When reading, the values are read from the system, global and repository local configuration files by default, and options `--system`, `--global`, `--local`, `--worktree` and `--file <filename>` can be used to tell the command to read from only that location (see <<FILES>>).
fr: Lors de la lecture, les valeurs sont lues par défaut à partir des fichiers de configuration du système, du globaux à l'utilisateur et locaux au dépôt, et les options '--system', '--global', '--local', '--worktree' et '--file <nom-de-fichier>' peuvent être utilisées pour indiquer à la commande de lire uniquement à partir de chaque emplacement (voir <<FICHIERS>>).

note: type: Plain text
en: When writing, the new value is written to the repository local configuration file by default, and options `--system`, `--global`, `--worktree`, `--file <filename>` can be used to tell the command to write to that location (you can say `--local` but that is the default).
fr: Lors de l'écriture, la nouvelle valeur est écrite dans le fichier de configuration local du référentiel par défaut, et les options `--system`, `--global`, `--worktree`, `--file <fichier>` peuvent être utilisées pour dire à la commande d'écrire à cet endroit (vous pouvez dire `--local` mais c'est la valeur par défaut).

note: type: Plain text
en: This command will fail with non-zero status upon error.  Some exit codes are:
fr: Cette commande échouera avec un statut non nul en cas d'erreur.  Certains codes de sortie sont :

note: type: Plain text
en: The section or key is invalid (ret=1),
fr: La section ou la clé n'est pas valide (ret=1),

note: type: Plain text
en: no section or name was provided (ret=2),
fr: aucune section ou nom n'a été fourni (ret=2),

note: type: Plain text
en: the config file is invalid (ret=3),
fr: le fichier de configuration est invalide (ret=3),

note: type: Plain text
en: the config file cannot be written (ret=4),
fr: le fichier de configuration ne peut pas être écrit (ret=4),

note: type: Plain text
en: you try to unset an option which does not exist (ret=5),
fr: vous essayez d'annuler une option qui n'existe pas (ret=5),

note: type: Plain text
en: you try to unset/set an option for which multiple lines match (ret=5), or
fr: vous essayez de désactiver/définir une option pour laquelle plusieurs lignes correspondent (ret=5), ou

note: type: Plain text
en: you try to use an invalid regexp (ret=6).
fr: vous essayez d'utiliser une expression rationnelle non valide (ret=6).

note: type: Plain text
en: On success, the command returns the exit code 0.
fr: En cas de succès, la commande renvoie le code de sortie 0.

note: type: Plain text
en: Default behavior is to replace at most one line. This replaces all lines matching the key (and optionally the `value-pattern`).
fr: Le comportement par défaut est de remplacer au maximum une ligne. Ceci remplace toutes les lignes correspondant à la clé (et optionnellement au `motif-de-valeur`).

note: type: Plain text
en: Adds a new line to the option without altering any existing values.  This is the same as providing '^$' as the `value-pattern` in `--replace-all`.
fr: Ajoute une nouvelle ligne à l'option sans modifier les valeurs existantes.  C'est la même chose que de fournir '^$' comme `modèle-de-valeur` dans `--replace-all`.

note: type: Plain text
en: Get the value for a given key (optionally filtered by a regex matching the value). Returns error code 1 if the key was not found and the last value if multiple key values were found.
fr: Obtenir la valeur d'une clé donnée (éventuellement filtrée par une regex correspondant à la valeur). Renvoie le code d'erreur 1 si la clé n'a pas été trouvée et la dernière valeur si plusieurs valeurs de clé ont été trouvées.

note: type: Plain text
en: Like get, but returns all values for a multi-valued key.
fr: Comme get, mais renvoie toutes les valeurs pour une clé à valeurs multiples.

note: type: Plain text
en: Like --get-all, but interprets the name as a regular expression and writes out the key names.  Regular expression matching is currently case-sensitive and done against a canonicalized version of the key in which section and variable names are lowercased, but subsection names are not.
fr: Comme --get-all, mais interprèter le nom comme une expression régulière et écrire les noms des clés.  La correspondance des expressions régulières est actuellement sensible à la casse et se fait par rapport à une version canonisée de la clé dans laquelle les noms de sections et de variables sont en minuscules, mais pas les noms de sous-sections.

note: type: Labeled list
en: --get-urlmatch name URL
fr: --get-urlmatch <nom> <URL>

note: type: Plain text
en: When given a two-part name section.key, the value for section.<url>.key whose <url> part matches the best to the given URL is returned (if no such key exists, the value for section.key is used as a fallback).  When given just the section as name, do so for all the keys in the section and list them.  Returns error code 1 if no value is found.
fr: Lorsqu'un nom en deux parties section.clé est donné, la valeur de section.<url>.clé dont la partie <url> correspond le mieux à l'URL donnée est retournée (si une telle clé n'existe pas, la valeur de section.clé est utilisée comme solution de repli).  Lorsqu'on donne juste la section comme nom, le faire pour toutes les clés de la section et les lister.  Renvoie le code d'erreur 1 si aucune valeur n'est trouvée.

note: type: Plain text
en: For writing options: write to global `~/.gitconfig` file rather than the repository `.git/config`, write to `$XDG_CONFIG_HOME/git/config` file if this file exists and the `~/.gitconfig` file doesn't.
fr: Pour l'écriture des options : écrire dans le fichier global `~/.gitconfig` plutôt que dans le `.git/config` du dépôt, écrire dans le fichier `$XDG_CONFIG_HOME/git/config` si ce fichier existe et que le fichier `~/.gitconfig` n'existe pas.

note: type: Plain text
en: For reading options: read only from global `~/.gitconfig` and from `$XDG_CONFIG_HOME/git/config` rather than from all available files.
fr: Pour les options de lecture : lire uniquement depuis le `~/.gitconfig` global et depuis `$XDG_CONFIG_HOME/git/config` plutôt que depuis tous les fichiers disponibles.

note: type: Plain text
en: See also <<FILES>>.
fr: Voir aussi <<FICHIERS>>.

note: type: Plain text
en: For writing options: write to system-wide `$(prefix)/etc/gitconfig` rather than the repository `.git/config`.
fr: Pour l'écriture des options : écrire dans le `$(prefix)/etc/gitconfig` niveau système plutôt que dans le `.git/config` du dépôt.

note: type: Plain text
en: For reading options: read only from system-wide `$(prefix)/etc/gitconfig` rather than from all available files.
fr: Pour la lecture des options : lire seulement à partir de `$(prefix)/etc/gitconfig` niveau système plutôt qu'à partir de tous les fichiers disponibles.

note: type: Plain text
en: For writing options: write to the repository `.git/config` file.  This is the default behavior.
fr: Pour l'écriture des options : écrire dans le fichier `.git/config` du dépôt.  C'est le comportement par défaut.

note: type: Plain text
en: For reading options: read only from the repository `.git/config` rather than from all available files.
fr: Pour la lecture des options : lire uniquement depuis le `.git/config` du dépôt plutôt que depuis tous les fichiers disponibles.

note: type: Plain text
en: Similar to `--local` except that `.git/config.worktree` is read from or written to if `extensions.worktreeConfig` is present. If not it's the same as `--local`.
fr: Similaire à `--local` sauf que `.git/config.worktree` est lu ou écrit si `extensions.worktreeConfig` est présent. Sinon, c'est la même chose que `--local`.

note: type: Labeled list
en: -f config-file
fr: -f <fichier-de-config>

note: type: Labeled list
en: --file config-file
fr: --file <fichier-de-config>

note: type: Plain text
en: For writing options: write to the specified file rather than the repository `.git/config`.
fr: Pour l'écriture des options : écrire dans le fichier spécifié plutôt que dans le `.git/config` du dépôt.

note: type: Plain text
en: For reading options: read only from the specified file rather than from all available files.
fr: Pour la lecture des options : lire uniquement à partir du fichier spécifié plutôt qu'à partir de tous les fichiers disponibles.

note: type: Labeled list
en: --blob blob
fr: --blob <blob>

note: type: Plain text
en: Remove the given section from the configuration file.
fr: Supprimer la section indiquée du fichier de configuration.

note: type: Labeled list
en: --default <value>
fr: --default <valeur>

note: type: Plain text
en: Repository specific configuration file.
fr: Fichier de configuration spécifique au dépôt.

note: type: Title -
en: ENVIRONMENT
fr: ENVIRONNEMENT

note: type: delimited block -
en: ; core variables
    [core]
    	; Don't trust file modes
    	filemode = false
fr: ; variables de base
    [core]
    	; ne pas faire confiance au mode des fichiers
    	filemode = false

note: type: Title -
en: BUGS
fr: BOGUES

note: type: Plain text
en: count: the number of loose objects
fr: compte : le nombre d'objets perdus

note: type: Plain text
en: Print sizes in human readable format
fr: Afficher les tailles dans un format humainement lisible

note: type: Labeled list
en: --socket <path>
fr: --socket <chemin>

note: type: Labeled list
en: --file=<path>
fr: --file=<chemin>

note: type: Title -
en: STORAGE FORMAT
fr: FORMAT DE STOCKAGE

note: type: Plain text
en: Git understands the following attributes:
fr: Git comprend les attributs suivants :

note: type: Plain text
en: Verbose.
fr: Verbeux.

note: type: Plain text
en: git-cvsimport - Salvage your data out of another SCM people love to hate
fr: git-cvsimport - Sauve vos données depuis un autre SCM qu'on aime haïr

note: type: Labeled list
en: <CVS_module>
fr: <module_CVS>

note: type: Plain text
en: The Git repository to import to.  If the directory doesn't exist, it will be created.  Default is the current directory.
fr: Le dépôt Git dans lequel importer.  Si le répertoire n'existe pas, il sera créé.  La valeur par défaut est le répertoire courant.

note: type: Labeled list
en: --base-path <path>
fr: --base-path <chemin>

note: type: Title -
en: OPERATIONS SUPPORTED
fr: OPÉRATIONS SUPPORTÉES

note: type: Plain text
en: git-daemon - A really simple server for Git repositories
fr: git-daemon - un serveur vraiment très simple pour les dépôts Git

note: type: Labeled list
en: --base-path=<path>
fr: --base-path=<chemin>

note: type: Labeled list
en: --user-path=<path>
fr: --user-path=<chemin>

note: type: Labeled list
en: --pid-file=<file>
fr: --pid-file=<fichier>

note: type: Labeled list
en: --access-hook=<path>
fr: --access-hook=<chemin>

note: type: Plain text
en: git-describe - Give an object a human readable name based on an available ref
fr: git-describe - Baptiser un objet avec un nom lisible à partir d'une référence disponible

note: type: Plain text
en: 'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]
    'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]
    'git describe' <blob>
fr: 'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-esque>...]
    'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<marque>]
    'git describe' <blob>

note: type: Plain text
en: The command finds the most recent tag that is reachable from a commit.  If the tag points to the commit, then only the tag is shown.  Otherwise, it suffixes the tag name with the number of additional commits on top of the tagged object and the abbreviated object name of the most recent commit. The result is a "human-readable" object name which can also be used to identify the commit to other git commands.
fr: La commande détecte l'étiquette la plus récente qui est accessible à partir d'un commit.  Si l'étiquette indique le commit, seule l'étiquette s'affiche.  Dans le cas contraire, elle ajoute au nom de l'étiquette le nombre de validations supplémentaires par dessus l'objet étiqueté et le nom d'objet abrégé de la validation la plus récente. Le résultat est un nom d'objet « lisible par l'homme » qui peut également être utilisé pour identifier le commit pour d'autres commandes git.

note: type: Plain text
en: By default (without --all or --tags) `git describe` only shows annotated tags.  For more information about creating annotated tags see the -a and -s options to linkgit:git-tag[1].
fr: Par défaut (sans --all ou --tags) `git describe` n'affiche que des étiquettes annotées.  Pour plus d'informations sur la création d'étiquettes annotées, voir les options -a et -s de linkgit:git-tag[1].

note: type: Plain text
en: If the given object refers to a blob, it will be described as `<commit-ish>:<path>`, such that the blob can be found at `<path>` in the `<commit-ish>`, which itself describes the first commit in which this blob occurs in a reverse revision walk from HEAD.
fr: Si l'objet donné se réfère à un objet blob, il sera décrit comme `<commit-esque>:<chemin>`, de sorte que le blob peut être trouvé à `<chemin>` dans le `<commit-esque>`, qui décrit lui-même le premier commit dans lequel ce blob apparaît dans un parcours inversé de révisions depuis HEAD.

note: type: Labeled list
en: <commit-ish>...
fr: <commit-esque>...

note: type: Plain text
en: Commit-ish object names to describe.  Defaults to HEAD if omitted.
fr: Noms d'objet commit-esque à décrire. Par défaut,HEAD si omis.

note: type: Labeled list
en: --dirty[=<mark>]
fr: --dirty[=<marque>]

note: type: Labeled list
en: --broken[=<mark>]
fr: --broken[=<marque>]

note: type: Plain text
en: Describe the state of the working tree.  When the working tree matches HEAD, the output is the same as "git describe HEAD".  If the working tree has local modification "-dirty" is appended to it.  If a repository is corrupt and Git cannot determine if there is local modification, Git will error out, unless `--broken' is given, which appends the suffix "-broken" instead.
fr: Décrit l'état de l'arbre de travail.  Lorsque l'arbre de travail correspond à HEAD, la sortie est la même que « git describe HEAD ».  Si l'arbre de travail a la modification locale "-dirty" est ajouté.  Si un dépôt est corrompu et Git ne peut pas déterminer s'il y a une modification locale, Git sort en erreur, à moins que «--broken» soit spécifié, ce qui ajoute le suffixe "-broken" à la place.

note: type: Plain text
en: Instead of using only the annotated tags, use any ref found in `refs/` namespace.  This option enables matching any known branch, remote-tracking branch, or lightweight tag.
fr: Au lieu d'utiliser uniquement les étiquettes annotées, utiliser n'importe quelle référence trouvée dans l'espace de nom`refs/`.  Cette option permet de faire correspondre n'importe quelle branche connue, branche de suivi à distance ou étiquette légère.

note: type: Plain text
en: Instead of using only the annotated tags, use any tag found in `refs/tags` namespace.  This option enables matching a lightweight (non-annotated) tag.
fr: Au lieu d'utiliser uniquement les étiquettes annotées, utilisez n'importe quelle étiquette trouvée dans l'espace de noms `refs/tags'.  Cette option permet de faire correspondre une étiquette légère (non annotée).

note: type: Plain text
en: Instead of finding the tag that predates the commit, find the tag that comes after the commit, and thus contains it.  Automatically implies --tags.
fr: Au lieu de trouver l'étiquette antérieure au commit, trouver l'étiquette qui vient après le commit, et la contient ainsi.  Implique automatiquement --tags.

note: type: Plain text
en: Instead of using the default number of hexadecimal digits (which will vary according to the number of objects in the repository with a default of 7) of the abbreviated object name, use <n> digits, or as many digits as needed to form a unique object name. An <n> of 0 will suppress long format, only showing the closest tag.
fr: Au lieu d'utiliser le nombre de chiffres hexadécimaux par défaut (qui varie en fonction du nombre d'objets dans le dépôt avec une valeur par défaut de 7) du nom d'objet abrégé, utiliser <n> chiffres, ou autant de chiffres que nécessaire pour former un nom unique. Un <n> de 0 supprimera le format long, n'affichant que l'étiquette la plus proche.

note: type: Plain text
en: Instead of considering only the 10 most recent tags as candidates to describe the input commit-ish consider up to <n> candidates.  Increasing <n> above 10 will take slightly longer but may produce a more accurate result.  An <n> of 0 will cause only exact matches to be output.
fr: Au lieu de considérer seulement les 10 étiquettes les plus récentes comme des candidates pour décrire l'entrée commit-esque, considérer jusqu'à <n> candidates.  Augmenter <n> au-dessus de 10 prendra un peu plus de temps mais peut produire un résultat plus précis.  Un <n> de 0 n'entraînera l'affichage que des correspondances exactes.

note: type: Plain text
en: Only output exact matches (a tag directly references the supplied commit).  This is a synonym for --candidates=0.
fr: Affiche uniquement les correspondances exactes (une étiquette fait directement référence au commit fourni). Ceci est un synonyme de --candidates=0.

note: type: Plain text
en: Verbosely display information about the searching strategy being employed to standard error.  The tag name will still be printed to standard out.
fr: Affiche  de nombreuses informations sur la stratégie de recherche utilisée sur la sortie d'erreur. Le nom de l'étiquette sera toujours affiché sur la sortie standard.

note: type: Plain text
en: Always output the long format (the tag, the number of commits and the abbreviated commit name) even when it matches a tag.  This is useful when you want to see parts of the commit object name in "describe" output, even when the commit in question happens to be a tagged version.  Instead of just emitting the tag name, it will describe such a commit as v1.2-0-gdeadbee (0th commit since tag v1.2 that points at object deadbee....).
fr: Afficher toujours le format long (l'étiquette, le nombre de commits et le nom de validation abrégé) même lorsqu'il correspond à une étiquette.  Ceci est utile lorsque vous souhaitez voir des parties du nom d'objet commit dans la sortie de « describe », même lorsque le commit en question se trouve être une version étiquetée.  Au lieu de simplement émettre le nom de l'étiquette, il décrira un tel commit comme v1.2-0-gdeadbee (0ème commit depuis l'étiquette v1.2 qui pointe sur l'objet deadbee....).

note: type: Labeled list
en: --match <pattern>
fr: --match <motif>

note: type: Plain text
en: Only consider tags matching the given `glob(7)` pattern, excluding the "refs/tags/" prefix. If used with `--all`, it also considers local branches and remote-tracking references matching the pattern, excluding respectively "refs/heads/" and "refs/remotes/" prefix; references of other types are never considered. If given multiple times, a list of patterns will be accumulated, and tags matching any of the patterns will be considered.  Use `--no-match` to clear and reset the list of patterns.
fr: Ne considérez que les étiquettes correspondant au motif `glob(7)' donné, en excluant le préfixe "refs/tags/". Si utilisé avec `--all', prendre également en compte les branches locales et les références de suivi à distance correspondant au motif, en excluant respectivement les préfixes "refs/heads/" et "refs/remotes/" ; les références d'autres types ne sont jamais considérées. Si donné plusieurs fois, une liste de motifs sera accumulée, et les étiquettes correspondant à l'un des motifs seront prises en compte.  Utiliser `--no-match' pour effacer et réinitialiser la liste des motifs.

note: type: Labeled list
en: --exclude <pattern>
fr: --exclude <motif>

note: type: Plain text
en: Do not consider tags matching the given `glob(7)` pattern, excluding the "refs/tags/" prefix. If used with `--all`, it also does not consider local branches and remote-tracking references matching the pattern, excluding respectively "refs/heads/" and "refs/remotes/" prefix; references of other types are never considered. If given multiple times, a list of patterns will be accumulated and tags matching any of the patterns will be excluded. When combined with --match a tag will be considered when it matches at least one --match pattern and does not match any of the --exclude patterns. Use `--no-exclude` to clear and reset the list of patterns.
fr: Ne pas considérer les étiquettes qui correspondent au modèle `glob(7)' donné, à l'exclusion du préfixe "refs/tags/". Si utilisé avec `--all', ne pas tenir compte non plus des branches locales et des références de suivi à distance correspondant au motif, à l'exclusion respectivement des préfixes "refs/heads/" et "refs/remotes/" ; les références d'autres types ne sont jamais considérées. Si donné plusieurs fois, une liste de motifs sera accumulée et les étiquettes correspondant à l'un ou l'autre de ces motifs seront exclues. Si combiné avec --match, une étiquette sera prise en compte si elle correspond à au moins un motif --match et ne correspond à aucun des motifs --exclude. Utilisez `--no-exclude' pour effacer et réinitialiser la liste des motifs.

note: type: Plain text
en: Show uniquely abbreviated commit object as fallback.
fr: Afficher les objets commits abrégés en dernier recours.

note: type: Plain text
en: Follow only the first parent commit upon seeing a merge commit.  This is useful when you wish to not match tags on branches merged in the history of the target commit.
fr: Ne suivre que le premier commit parent lors de la rencontre d'un commit de fusion.  Ceci est utile lorsque vous souhaitez ne pas faire correspondre les étiquettes des branches fusionnées dans l'historique du commit cible.

note: type: Plain text
en: With something like git.git current tree, I get:
fr: Avec quelque chose comme l'arbre actuel git.git, je reçois :

note: type: Plain text
en: i.e. the current head of my "parent" branch is based on v1.0.4, but since it has a few commits on top of that, describe has added the number of additional commits ("14") and an abbreviated object name for the commit itself ("2414721")  at the end.
fr: c'est-à-dire que la tête actuelle de ma branche " mère " est basée sur v1.0.4, mais puisqu'elle a quelques commits en plus, describe a ajouté le nombre de commits supplémentaires (" 14 ") et un nom abrégé pour l'objet commit lui-même (" 2414721 ") à la fin.

note: type: Plain text
en: The number of additional commits is the number of commits which would be displayed by "git log v1.0.4..parent".  The hash suffix is "-g" + an unambigous abbreviation for the tip commit of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`). The length of the abbreviation scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox, and defaults to a minimum of 7.  The "g" prefix stands for "git" and is used to allow describing the version of a software depending on the SCM the software is managed with. This is useful in an environment where people may use different SCMs.
fr: Le nombre de commits supplémentaires est le nombre de commits qui seraient affichés par "git log v1.0.4..parent".  Le suffixe de hachage est "-g" + abréviation unique pour le commit sommet du parent (qui était `2414721b194453f058079d897d13c4e377f92dc6`). La longueur de l'abréviation s'échelonne au fur et à mesure que le dépôt grandit, en utilisant le nombre approximatif d'objets dans le dépôt et un peu de mathématiques autour du paradoxe de l'anniversaire, et la valeur par défaut est de 7. Le préfixe "g" signifie "git" et permet de décrire la version d'un logiciel en fonction du SCM avec lequel le logiciel est géré. Ceci est utile dans un environnement où les gens peuvent utiliser différents SCM.

note: type: Plain text
en: Doing a 'git describe' on a tag-name will just show the tag name:
fr: Faire un 'git describe' sur un nom d'étiquette ne fera qu'afficher le nom de l'étiquette :

note: type: Plain text
en: With --all, the command can use branch heads as references, so the output shows the reference path as well:
fr: Avec --all, la commande peut utiliser des têtes de branches comme références, de sorte que la sortie affiche également le chemin de référence :

note: type: Plain text
en: With --abbrev set to 0, the command can be used to find the closest tagname without any suffix:
fr: Avec --abbrev mis à 0, la commande peut être utilisée pour trouver le nom de l'étiquette la plus proche sans suffixe :

note: type: Plain text
en: Note that the suffix you get if you type these commands today may be longer than what Linus saw above when he ran these commands, as your Git repository may have new commits whose object names begin with 975b that did not exist back then, and "-g975b" suffix alone may not be sufficient to disambiguate these commits.
fr: Notez que le suffixe que vous obtiendrez si vous tapez ces commandes aujourd'hui peut être plus long que ce que Linus a vu plus haut quand il a lancé ces commandes, car votre dépôt Git peut avoir de nouveaux commits dont les noms d'objets commencent par 975b qui n'existaient pas à l'époque, et le suffixe "-g975b" seul peut ne pas être suffisant pour désambiguïser ces commits.

note: type: Title -
en: SEARCH STRATEGY
fr: STRATÉGIE DE RECHERCHE

note: type: Plain text
en: For each commit-ish supplied, 'git describe' will first look for a tag which tags exactly that commit.  Annotated tags will always be preferred over lightweight tags, and tags with newer dates will always be preferred over tags with older dates.  If an exact match is found, its name will be output and searching will stop.
fr: Pour chaque commit-esque fourni,'git describe' cherchera d'abord une étiquette qui marque exactement ce commit.  Les étiquettes annotées seront toujours préférées aux étiquettes légères, et les étiquettes avec des dates plus récentes seront toujours préférées aux étiquettes avec des dates plus anciennes.  Si une correspondance exacte est trouvée, son nom sera affiché et la recherche s'arrêtera.

note: type: Plain text
en: If an exact match was not found, 'git describe' will walk back through the commit history to locate an ancestor commit which has been tagged.  The ancestor's tag will be output along with an abbreviation of the input commit-ish's SHA-1. If `--first-parent` was specified then the walk will only consider the first parent of each commit.
fr: Si une correspondance exacte n'a pas été trouvée,'git describe' reviendra dans l'historique des commits pour localiser un commit ancêtre qui a été étiqueté.  L'étiquette de l'ancêtre sera affichée avec une abréviation du SHA1 du commit-esque fourni. Si `--first-parent' a été spécifié alors la marche ne considérera que le premier parent de chaque commit.

note: type: Plain text
en: If multiple tags were found during the walk then the tag which has the fewest commits different from the input commit-ish will be selected and output.  Here fewest commits different is defined as the number of commits which would be shown by `git log tag..input` will be the smallest number of commits possible.
fr: Si plusieurs étiquettes ont été trouvées pendant la marche, alors l'étiquette qui a le moins de commits différents du commit-esque d'entrée sera sélectionnée et affichée.  Ici, le moins de commits différents est défini comme le nombre de commits qui seraient affichés par `git log étiquette..commit-esque' soit le plus petit nombre de commits possible.

note: type: Plain text
en: Tree objects as well as tag objects not pointing at commits, cannot be described.  When describing blobs, the lightweight tags pointing at blobs are ignored, but the blob is still described as <committ-ish>:<path> despite the lightweight tag being favorable.
fr: Les objets d'arbre ainsi que les objets d'étiquette ne pointant pas vers des commits, ne peuvent pas être décrits.  Lors de la description des blobs, les étiquettes légères pointant vers les blobs sont ignorées, mais le blob est toujours décrit comme <commit-esque>: <chemin> bien que l'étiquette légère soit plus juste.

note: type: Plain text
en: git-diff-files - Compares files in the working tree and the index
fr: git-diff-files - Compare les fichiers dans l'arbre de travail et dans l'index

note: type: Plain text
en: 'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
fr: 'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<options diff communes>] [<chemin>...]

note: type: Plain text
en: Compares the files in the working tree and the index.  When paths are specified, compares only those named paths.  Otherwise all entries in the index are compared.  The output format is the same as for 'git diff-index' and 'git diff-tree'.
fr: Compare les fichiers dans l'arbre de travail et l'index. Quand les chemins sont spécifiés, compare seulement ces chemins nommés. Autrement, toutes les entrées dans l'index sont comparées. Le format de sortie est identique à celle de 'git diff-index' et 'git diff-tree'.

note: type: Plain text
en: Diff against the "base" version, "our branch" or "their branch" respectively.  With these options, diffs for merged entries are not shown.
fr: Différencier par rapport aux versions « base », « notre branche », « leur branche » respectivement. Avec ces options, les différences pour des entrées fusionnées ne sont pas affichées.

note: type: Plain text
en: The default is to diff against our branch (-2) and the cleanly resolved paths.  The option -0 can be given to omit diff output for unmerged entries and just show "Unmerged".
fr: Par défaut, la différence est calculée contre notre branche (-2) et les chemins résolus proprement. L'option -0 peut être fournie pour omettre la sortie pour les entrées non fusionnées et afficher juste « non fusionné ».

note: type: Plain text
en: This compares stage 2 (our branch), stage 3 (their branch) and the working tree file and outputs a combined diff, similar to the way 'diff-tree' shows a merge commit with these flags.
fr: Ceci compare le stage 2 (notre branche), le stage 3 (leur branche) et l'arbre de travail et affiche la diff combinée, similaire à la manière dont 'diff-tree' affiche un commit de fusion avec ces options.

note: type: Plain text
en: Remain silent even on nonexistent files
fr: Rester silencieux même avec des fichiers non-existant

note: type: Plain text
en: git-diff-index - Compare a tree to the working tree or index
fr: git-diff-index - Compare un arbre avec l'arbre de travail ou l'index

note: type: Plain text
en: 'git diff-index' [-m] [--cached] [--merge-base] [<common diff options>] <tree-ish> [<path>...]
fr: 'git diff-index' [-m] [--cached] [--merge-base] [<options diff communes>] <arbre-esque> [<chemin>...]

note: type: Plain text
en: Do not consider the on-disk file at all.
fr: Ne pas considérer du tout le fichier sur disque.

note: type: Title -
en: OPERATING MODES
fr: MODES D'OPÉRATION

note: type: Plain text
en: 'git difftool' [<options>] [<commit> [<commit>]] [--] [<path>...]
fr: 'git difftool' [<options>] [<commit> [<commit>]] [--] [<chemin>...]

note: type: Plain text
en: Do not prompt before launching a diff tool.
fr: Ne pas confirmer avant de lancer l'outil de diff.

note: type: Labeled list
en: -t <tool>
fr: -t<outil>

note: type: Labeled list
en: --tool=<tool>
fr: --tool=<outil>

note: type: Plain text
en: Print a list of diff tools that may be used with `--tool`.
fr: Afficher une liste des outils de diff utilisables avec `--tool`.

note: type: Labeled list
en: -x <command>
fr: -x <commande>

note: type: Labeled list
en: difftool.<tool>.path
fr: difftool.<outil>.path

note: type: Labeled list
en: difftool.<tool>.cmd
fr: difftool.<outil>.cmd

note: type: Plain text
en: Show changes between commits, commit and working tree, etc
fr: Afficher les changements entre les validations, entre validation et copie de travail, etc

note: type: Plain text
en: Run merge conflict resolution tools to resolve merge conflicts
fr: Lancer les outils de résolution de conflit de fusion pour résoudre les conflits de fusion

note: type: Plain text
en: Get and set repository or global options
fr: Lire et écrire les options du dépôt et les options globales

note: type: Plain text
en: git-diff-tree - Compares the content and mode of blobs found via two tree objects
fr: git-diff-tree - Compare le contenu et la mode des blobs trouvés via deux objets arbre

note: type: Plain text
en: Compares the content and mode of the blobs found via two tree objects.
fr: Comparer le contenu et le mode des blobs trouvés via deux objets arbre.

note: type: Labeled list
en: <path>...
fr: <chemin>...

note: type: Plain text
en: recurse into sub-trees
fr: parcourir récursivement les sous-arbres

note: type: Plain text
en: This flag causes combined diffs (used for merge commits) to list the name of the file from all parents.  It thus only has effect when -c or --cc are specified, and is likely only useful if filename changes are detected (i.e. when either rename or copy detection have been requested).
fr: Cet indicateur fait en sorte que les diffs combinés (utilisés pour les commits de fusion) listent le nom du fichier de tous les parents.  Il n'a donc d'effet que lorsque -c ou --cc sont spécifiés, et n'est probablement utile que si des changements de nom de fichier sont détectés (c.-à-d. lorsque la détection de renommage ou de copie a été demandée).

note: type: Plain text
en: git-diff - Show changes between commits, commit and working tree, etc
fr: git-diff - Affiche les modifications entre les commits, un commit et l'arbre de travail, etc

note: type: Plain text
en: 'git diff' [<options>] [<commit>] [--] [<path>...]
    'git diff' [<options>] --cached [--merge-base] [<commit>] [--] [<path>...]
    'git diff' [<options>] [--merge-base] <commit> [<commit>...] <commit> [--] [<path>...]
    'git diff' [<options>] <commit>...<commit> [--] [<path>...]
    'git diff' [<options>] <blob> <blob>
    'git diff' [<options>] --no-index [--] <path> <path>
fr: 'git diff' [<options>] [<commit>] [--] [<chemin>...]
    'git diff' [<options>] --cached [--merge-base] [<commit>] [--] [<chemin>...]
    'git diff' [<options>] [--merge-base] <commit> [<commit>...]<commit> [--] [<chemin>...]
    'git diff' [<options>] <commit>...<commit> [--] [<chemin>...]
    'git diff' [<options>] <blob> <blob>
    'git diff' [<options>] --no-index [--] <chemin> <chemin>

note: type: Plain text
en: Show changes between the working tree and the index or a tree, changes between the index and a tree, changes between two trees, changes resulting from a merge, changes between two blob objects, or changes between two files on disk.
fr: Affiche les modifications entre l'arbre de travail et l'index ou un arbre, les modifications entre l'index et un arbre, les modifications entre deux arbres, les modifications résultant d'une fusion, les modifications entre deux objets blobs ou les modifications entre deux fichiers sur disque.

note: type: Labeled list
en: 'git diff' [<options>] [--] [<path>...]
fr: 'git diff' [<options>] [--] [<chemin>...]

note: type: Plain text
en: This form is to view the changes you made relative to the index (staging area for the next commit).  In other words, the differences are what you _could_ tell Git to further add to the index but you still haven't.  You can stage these changes by using linkgit:git-add[1].
fr: Cette forme sert à visualiser les modifications que vous avez faites par rapport à l'index (la zone de préparation du prochain commit). En d'autres termes, les différences sont ce que vous _pourriez_ indiquer à Git d'ajouter à l'index mais que vous n'avez pas encore ajoutées. Vous pouvez indexer ces modifications en utilisant linkgit:git-add[1].

note: type: Labeled list
en: 'git diff' [<options>] --no-index [--] <path> <path>
fr: 'git diff' [<options>] --no-index [--] <chemin> <chemin>

note: type: Plain text
en: This form is to compare the given two paths on the filesystem.  You can omit the `--no-index` option when running the command in a working tree controlled by Git and at least one of the paths points outside the working tree, or when running the command outside a working tree controlled by Git. This form implies `--exit-code`.
fr: Cette forme sert à comparer les deux chemins indiqués sur le système de fichiers. Vous pouvez omettre l'option `--no-index` si la commande est lancée dans un arbre de travail contrôlé par Git et qu'au moins un des chemins pointe hors de l'arbre de travail ou si la commande est lancée hors d'un arbre de travail contrôlé par Git. Cette forme implique `--exit-code`.

note: type: Labeled list
en: 'git diff' [<options>] --cached [--merge-base] [<commit>] [--] [<path>...]
fr: 'git diff' [<options>] --cached [--merge-base] [<commit>] [--] [<chemin>...]

note: type: Plain text
en: This form is to view the changes you staged for the next commit relative to the named <commit>.  Typically you would want comparison with the latest commit, so if you do not give <commit>, it defaults to HEAD.  If HEAD does not exist (e.g. unborn branches) and <commit> is not given, it shows all staged changes.  --staged is a synonym of --cached.
fr: Cette forme sert à visualiser les modifications que vous avez indexées pour la prochaine validation vis-à-vis du <commit> nommé. Typiquement, vous voudriez comparer avec le commit le plus récent (HEAD), ce qui est fait automatiquement si vous ne spécifiez pas <commit>. Si HEAD n'existe pas (par exemple, des branches à naître) et si <commit> n'est pas fourni, les modifications indexées sont affichées. --staged est synonyme de --cached.

note: type: Plain text
en: If --merge-base is given, instead of using <commit>, use the merge base of <commit> and HEAD.  `git diff --cached --merge-base A` is equivalent to `git diff --cached $(git merge-base A HEAD)`.
fr: Si --merge-base est donné, au lieu d'utiliser <commit>, utiliser la base de fusion de <commit> et HEAD.  `git diff --cached --merge-base A` est équivalent à `git diff --cached $(git merge-base A HEAD)`.

note: type: Labeled list
en: 'git diff' [<options>] [--merge-base] <commit> [--] [<path>...]
fr: 'git diff' [<options>] [--merge-base] <commit> [--] [<chemin>...]

note: type: Plain text
en: This form is to view the changes you have in your working tree relative to the named <commit>.  You can use HEAD to compare it with the latest commit, or a branch name to compare with the tip of a different branch.
fr: Cette forme sert à visualiser les modifications présentes dans l'arbre de travail par rapport au <commit> indiqué. Vous pouvez utiliser HEAD pour le comparer au commit le plus récent ou un nom de branche pour le comparer avec le sommet d'une branche différente.

note: type: Plain text
en: If --merge-base is given, instead of using <commit>, use the merge base of <commit> and HEAD.  `git diff --merge-base A` is equivalent to `git diff $(git merge-base A HEAD)`.
fr: Si --merge-base est donné, au lieu d'utiliser <commit>, utiliser la base de fusion de <commit> et HEAD.  `git diff --merge-base A` est équivalent à `git diff $(git merge-base A HEAD)`.

note: type: Labeled list
en: 'git diff' [<options>] [--merge-base] <commit> <commit> [--] [<path>...]
fr: 'git diff' [<options>] [--merge-base] <commit> <commit> [--] [<chemin>...]

note: type: Plain text
en: This is to view the changes between two arbitrary <commit>.
fr: Ceci sert à visualiser les modifications entre deux <commit> arbitraires.

note: type: Plain text
en: If --merge-base is given, use the merge base of the two commits for the "before" side.  `git diff --merge-base A B` is equivalent to `git diff $(git merge-base A B) B`.
fr: Si --merge-base est donné, utiliser la base de fusion des deux commits pour le côté "before". `git diff --merge-base A B` est équivalent à `git diff $ (git merge-base A B) B`.

note: type: Labeled list
en: 'git diff' [<options>] <commit> <commit>... <commit> [--] [<path>...]
fr: 'git diff' [<options>] <commit> <commit>...<commit> [--] [<chemin>...]

note: type: Plain text
en: This form is to view the results of a merge commit.  The first listed <commit> must be the merge itself; the remaining two or more commits should be its parents.  A convenient way to produce the desired set of revisions is to use the `^@` suffix.  For instance, if `master` names a merge commit, `git diff master master^@` gives the same combined diff as `git show master`.
fr: Cette forme permet de visualiser les résultats d'un commit de fusion.  Le premier <commit> indiqué doit être la fusion elle-même ; les deux autres commits ou plus doivent être ses parents.  Une façon pratique de produire l'ensemble des révisions souhaitées est d'utiliser le suffixe `^@`.  Par exemple, si `master` nomme un commit de fusion, `git diff master^@` donne la même différence combinée que `git show master`.

note: type: Labeled list
en: 'git diff' [<options>] <commit>..<commit> [--] [<path>...]
fr: 'git diff' [<options>] <commit>..<commit> [--] [<chemin>...]

note: type: Plain text
en: This is synonymous to the earlier form (without the `..`) for viewing the changes between two arbitrary <commit>.  If <commit> on one side is omitted, it will have the same effect as using HEAD instead.
fr: Cette forme est synonyme de la forme précédente (sans le `..`) pour visualiser les modification entre deux <commit>s arbirtraires. Si <commit> est omis d'un côté, cela aura le même effet que de spécifier HEAD à la place.

note: type: Labeled list
en: 'git diff' [<options>] <commit>\...<commit> [--] [<path>...]
fr: 'git diff' [<options>] <commit>\...<commit> [--] [<chemin>...]

note: type: Plain text
en: This form is to view the changes on the branch containing and up to the second <commit>, starting at a common ancestor of both <commit>.  `git diff A...B` is equivalent to `git diff $(git merge-base A B) B`.  You can omit any one of <commit>, which has the same effect as using HEAD instead.
fr: Cette forme sert à visualiser les modifications sur la branche contenant et jusqu'au second <commit>, en débutant à l'ancêtre commun au deux <commit>. `git diff A\...B` est équivalent à `git diff $(git merge-base A B) B`. Vous pouvez omettre l'un ou l'autre <commit>, ce qui a le même effet que de spécifier HEAD à la place.

note: type: Plain text
en: Just in case you are doing something exotic, it should be noted that all of the <commit> in the above description, except in the `--merge-base` case and in the last two forms that use `..` notations, can be any <tree>.
fr: Juste au cas où vous feriez quelque chose d'exotique, il doit être noté que tous les <commit> dans la description ci-dessus, excepté dans le cas de `--merge-base` et dans les deux dernières formes qui utilisent les notations `..`, peuvent être n'importe quel <arbre>.

note: type: Plain text
en: For a more complete list of ways to spell <commit>, see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].  However, "diff" is about comparing two _endpoints_, not ranges, and the range notations (`<commit>..<commit>` and `<commit>...<commit>`) do not mean a range as defined in the "SPECIFYING RANGES" section in linkgit:gitrevisions[7].
fr: Pour une liste plus complète des moyens de spécifier <commit>, voir la section « SPÉCIFIER LES RÉVISIONS » dans linkgit:gitrevisions[7]. Cependant, "diff" concerne la comparaison de deux _point finaux_, et non d'intervalles, et les notations d'intervalle (`<commit>..<commit>` et `<commit>\...<commit>`) ne réfèrent pas un intervalle tel que défini dans la section « SPÉCIFIER LES RÉVISIONS » de linkgit:gitrevisions[7].

note: type: Plain text
en: This form is to view the differences between the raw contents of two blob objects.
fr: Cette forme sert à visualiser la différence entre les contenus bruts de deux objets blob.

note: type: Plain text
en: Compare the working tree with the "base" version (stage #1), "our branch" (stage #2) or "their branch" (stage #3).  The index contains these stages only for unmerged entries i.e.  while resolving conflicts.  See linkgit:git-read-tree[1] section "3-Way Merge" for detailed information.
fr: Comparer l'arbre de travail avec la version de « base » (étape #1), « notre branche » (étape #2) ou « leur branche » (étape #3). L'index contient ces étapes seulement pour les entrées non-fusionnées, c'est-à-dire lors de la résolution de conflits. Voir la section « Fusion à 3 points » de linkgit:git-read-tree[1] pour de plus amples informations.

note: type: Plain text
en: Omit diff output for unmerged entries and just show "Unmerged".  Can be used only when comparing the working tree with the index.
fr: Omettre la sortie de diff pour les entrées non-fusionnées et affiche juste « Non fusionné ». Ne peut être utilisé que lors de comparaison de l'arbre de travail avec l'index.

note: type: Plain text
en: The <paths> parameters, when given, are used to limit the diff to the named paths (you can give directory names and get diff for all files under them).
fr: Les paramètres <chemin>, quand spécifiés, sont utilisés pour limiter la différence aux chemins indiqués (vous pouvez indiquer des noms de répertoire et visualiser les différences pour tous les fichiers qu'ils contiennent).

note: type: Labeled list
en: Various ways to check your working tree
fr: Différents moyens de vérifier votre arbre de travail

note: type: Plain text
en: Changes in the working tree not yet staged for the next commit.
fr: Modifications dans l'arbre de travail pas encore indexées pour la prochaine validation.

note: type: Plain text
en: Changes between the index and your last commit; what you would be committing if you run `git commit` without `-a` option.
fr: Modifications entre l'index et votre dernier commit ; ce que vous valideriez si vous lanciez `git commit` sans l'option `-a`.

note: type: Plain text
en: Changes in the working tree since your last commit; what you would be committing if you run `git commit -a`
fr: Modifications dans l'arbre de travail depuis votre dernier commit ; ce que vous valideriez si vous lanciez `git commit -a`

note: type: Labeled list
en: Comparing with arbitrary commits
fr: Comparaison de deux commits arbitraires

note: type: Plain text
en: Instead of using the tip of the current branch, compare with the tip of "test" branch.
fr: Au lieu d'utiliser le sommet de la branche actuelle, compare avec le sommet de la branche « test ».

note: type: Plain text
en: Instead of comparing with the tip of "test" branch, compare with the tip of the current branch, but limit the comparison to the file "test".
fr: Au lieu de comparer avec le sommet de la branche « test », compare avec le sommet de la branche actuelle, mais limite la comparaison au fichier « test ».

note: type: Plain text
en: Compare the version before the last commit and the last commit.
fr: Compare la version précédant le dernier commit et le dernier commit.

note: type: Labeled list
en: Comparing branches
fr: Comparaison de branches

note: type: delimited block -
en: $ git diff topic master    <1>
    $ git diff topic..master   <2>
    $ git diff topic...master  <3>
fr: $ git diff sujet master    <1>
    $ git diff sujet..master   <2>
    $ git diff sujet...master  <3>

note: type: Plain text
en: Changes between the tips of the topic and the master branches.
fr: Modifications entre les sommets des branches sujet et master.

note: type: Plain text
en: Same as above.
fr: Identique à ci-dessus.

note: type: Plain text
en: Changes that occurred on the master branch since when the topic branch was started off it.
fr: Modifications présentes sur la branche master depuis que la branche sujet en a divergé.

note: type: Labeled list
en: Limiting the diff output
fr: Limitation de la sortie du diff

note: type: Plain text
en: Show only modification, rename, and copy, but not addition or deletion.
fr: Ne montre que les modifications, les renommages et les copies, mais pas les additions ou les suppressions.

note: type: Plain text
en: Show only names and the nature of change, but not actual diff output.
fr: Ne montre que les noms et la nature de la modification, mais pas la sortie de diff.

note: type: Plain text
en: Limit diff output to named subtrees.
fr: Limite la sortie de diff aux sous-arbres indiqués.

note: type: Labeled list
en: Munging the diff output
fr: Bricoler la sortie diff

note: type: Plain text
en: Spend extra cycles to find renames, copies and complete rewrites (very expensive).
fr: Dépense des cycles supplémentaires de CPU pour trouver les renommages, les copies ou les réécritures complètes (très cher).

note: type: Plain text
en: Output diff in reverse.
fr: Affiche les diff inversés.

note: type: Labeled list
en: --export-marks=<file>
fr: --export-marks=<fichier>

note: type: Labeled list
en: --import-marks=<file>
fr: --import-marks=<fichier>

note: type: Labeled list
en: --import-marks-if-exists=<file>
fr: --import-marks-if-exists=<fichier>

note: type: Labeled list
en: --rewrite-submodules-from=<name>:<file>
fr: --rewrite-submodules-from=<nom>:<fichier>

note: type: Labeled list
en: --rewrite-submodules-to=<name>:<file>
fr: --rewrite-submodules-to=<nom>:<fichier>

note: type: Labeled list
en: --export-pack-edges=<file>
fr: --export-pack-edges=<fichier>

note: type: Plain text
en: See linkgit:git-config[1]
fr: Voir linkgit:git-config[1]

note: type: Title -
en: TECHNICAL DISCUSSION
fr: DISCUSSION TECHNIQUE

note: type: Title -
en: INPUT FORMAT
fr: FORMAT D'ENTRÉE

note: type: Title ~
en: Stream Comments
fr: Commentaires dans le flux

note: type: Plain text
en: This is the standard email format as described by RFC 2822.
fr: C'est le standard de format des courriels tel que décrit par la RFC 2822.

note: type: Title ~
en: Commands
fr: Commandes

note: type: Labeled list
en: External data format
fr: Format externe de données

note: type: Labeled list
en: Inline data format
fr: Format en ligne de données

note: type: Labeled list
en: Delimited format
fr: Format délimité

note: type: Plain text
en: force
fr: forcer

note: type: Labeled list
en: done
fr: fait

note: type: Title ~
en: per active tree
fr: par arbre actif

note: type: Title ~
en: per active file entry
fr: par entrée active de fichier

note: type: Plain text
en: git-fetch-pack - Receive missing objects from another repository
fr: git-fetch-pack - Recevoir les objets manquants depuis un autre dépôt

note: type: Labeled list
en: --upload-pack=<git-upload-pack>
fr: --upload-pack=<pack-de-téléversement-git>

note: type: Labeled list
en: --exec=<git-upload-pack>
fr: --exec=<pack-de-téléversement-git>

note: type: Plain text
en: Same as --upload-pack=<git-upload-pack>.
fr: Identique à --upload-pack=<pack-de-téléversement-git>

note: type: Plain text
en: Run verbosely.
fr: Mode bavard.

note: type: Plain text
en: The URL to the remote repository.
fr: L'URL du dépôt distant.

note: type: Plain text
en: git-fetch - Download objects and refs from another repository
fr: git-fetch - Télécharger les objets et références depuis un autre dépôt

note: type: Plain text
en: 'git fetch' [<options>] [<repository> [<refspec>...]]
    'git fetch' [<options>] <group>
    'git fetch' --multiple [<options>] [(<repository> | <group>)...]
    'git fetch' --all [<options>]
fr: 'git fetch' [<options>] [<dépôt> [<spéc-de-réf>...]]
    'git fetch' [<options>] <groupe>
    'git fetch' --multiple [<options>] [(<dépôt> | <groupe>)...]
    'git fetch' --all [<options>]

note: type: Plain text
en: Fetch branches and/or tags (collectively, "refs") from one or more other repositories, along with the objects necessary to complete their histories.  Remote-tracking branches are updated (see the description of <refspec> below for ways to control this behavior).
fr: Récupérer des branches et/ou des étiquettes (collectivement, "réfs") depuis un ou plusieurs autres dépôts, ainsi que les objets nécessaires pour compléter leur historique.  Les branches de suivi à distance sont mises à jour (voir la description de <spéc-de-réf> ci-dessous pour les moyens de contrôler ce comportement).

note: type: Plain text
en: By default, any tag that points into the histories being fetched is also fetched; the effect is to fetch tags that point at branches that you are interested in.  This default behavior can be changed by using the --tags or --no-tags options or by configuring remote.<name>.tagOpt.  By using a refspec that fetches tags explicitly, you can fetch tags that do not point into branches you are interested in as well.
fr: Par défaut, toute étiquette qui pointe vers les historiques recherchés est également recherchée ; l'effet est de rechercher les étiquettes qui pointent vers les branches qui vous intéressent.  Ce comportement par défaut peut être modifié en utilisant les options --tags ou --no-tags ou en configurant remote.<nom>.tagOpt.  En utilisant une spécification de référence qui récupère les étiquettes explicitement, vous pouvez également récupérer les étiquettes qui ne pointent pas sur les branches qui vous intéressent.

note: type: Plain text
en: 'git fetch' can fetch from either a single named repository or URL, or from several repositories at once if <group> is given and there is a remotes.<group> entry in the configuration file.  (See linkgit:git-config[1]).
fr: 'git fetch' peut aller chercher à partir d'un seul dépôt nommé ou d'une seule URL, ou à partir de plusieurs dépôts à la fois si <groupe> est donné et qu'il y a une entrée remotes.<groupe> dans le fichier de configuration.  (Voir linkgit:git-config[1]).

note: type: Plain text
en: When no remote is specified, by default the `origin` remote will be used, unless there's an upstream branch configured for the current branch.
fr: Lorsqu'aucun distant n'est spécifié, par défaut le distant `origin` sera utilisé, à moins qu'il n'y ait une branche amont configurée pour la branche courante.

note: type: Plain text
en: The names of refs that are fetched, together with the object names they point at, are written to `.git/FETCH_HEAD`.  This information may be used by scripts or other git commands, such as linkgit:git-pull[1].
fr: Les noms des refs qui sont récupérés, ainsi que les noms des objets qu'ils pointent, sont écrits dans `.git/FETCH_HEAD`.  Ces informations peuvent être utilisées par des scripts ou d'autres commandes git, telles que linkgit:git-pull[1].

note: type: Plain text
en: Read refspecs, one per line, from stdin in addition to those provided as arguments. The "tag <name>" format is not supported.
fr: Lire les spécifications de référence, une par ligne, de stdin en plus de celles fournies comme arguments. Le format "tag <nom>" n'est pas pris en charge.

note: type: Title -
en: CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]
fr: LES BRANCHES DE SUIVI À DISTANCE CONFIGURÉES [[CRTB]]

note: type: Plain text
en: You often interact with the same remote repository by regularly and repeatedly fetching from it.  In order to keep track of the progress of such a remote repository, `git fetch` allows you to configure `remote.<repository>.fetch` configuration variables.
fr: Vous interagissez souvent avec le même dépôt distant en y allant régulièrement et de manière répétée.  Afin de suivre la progression d'un tel dépôt distant, `git fetch` vous permet de configurer les variables de configuration `remote.<dépôt>.fetch`.

note: type: Plain text
en: Typically such a variable may look like this:
fr: En général, une telle variable peut ressembler à ceci :

note: type: Plain text
en: This configuration is used in two ways:
fr: Cette configuration est utilisée de deux façons :

note: type: Plain text
en: When `git fetch` is run without specifying what branches and/or tags to fetch on the command line, e.g. `git fetch origin` or `git fetch`, `remote.<repository>.fetch` values are used as the refspecs--they specify which refs to fetch and which local refs to update.  The example above will fetch all branches that exist in the `origin` (i.e. any ref that matches the left-hand side of the value, `refs/heads/*`) and update the corresponding remote-tracking branches in the `refs/remotes/origin/*` hierarchy.
fr: Lorsque `git fetch` est lancé sans spécifier les branches et/ou les étiquettes à récupérer en ligne de commande, par exemple `git fetch origin` ou `git fetch`, les valeurs `remote.<dépôt>.fetch` sont utilisées comme spéc-de-réf --elles spécifient quelles réfs à récupérer et quelles réfs locales à mettre à jour.  L'exemple ci-dessus va chercher toutes les branches qui existent dans `origin` (c'est-à-dire toute réf qui correspond au côté gauche de la valeur, "refs/heads/*") et mettre à jour les branches de suivi à distance correspondantes dans la hiérarchie `refs/remotes/origin/*`.

note: type: Plain text
en: When `git fetch` is run with explicit branches and/or tags to fetch on the command line, e.g. `git fetch origin master`, the <refspec>s given on the command line determine what are to be fetched (e.g. `master` in the example, which is a short-hand for `master:`, which in turn means "fetch the 'master' branch but I do not explicitly say what remote-tracking branch to update with it from the command line"), and the example command will fetch _only_ the 'master' branch.  The `remote.<repository>.fetch` values determine which remote-tracking branch, if any, is updated.  When used in this way, the `remote.<repository>.fetch` values do not have any effect in deciding _what_ gets fetched (i.e. the values are not used as refspecs when the command-line lists refspecs); they are only used to decide _where_ the refs that are fetched are stored by acting as a mapping.
fr: Lorsque `git fetch` est lancé avec des branches et/ou des étiquettes explicites à récupérer en ligne de commande, par exemple `git fetch origin master`, les <spéc-de-réf>s données en ligne de commande déterminent ce qui doit être récupéré (par exemple `master` dans l'exemple, qui est un raccourci pour `master:`, ce qui signifie "chercher la branche 'master' mais je ne dis pas explicitement quelle branche de suivi à distance mettre à jour avec elle depuis la ligne de commande"), et la commande de l'exemple ne cherchera _que_ la branche 'master'.  Les valeurs de `remote.<dépôt>.fetch` déterminent quelle branche de suivi à distance, s'il y en a une, est mise à jour.  Lorsqu'elles sont utilisées de cette façon, les valeurs de `remote.<dépôt>.fetch` n'ont aucun effet sur la décision de ce qui est récupéré (c'est-à-dire que les valeurs ne sont pas utilisées comme spéc-de-réf lorsque la ligne de commande liste les spéc-de-réfs) ; elles ne sont utilisées que pour décider de l'endroit où les réfs qui sont récupérées sont stockées en agissant comme une table de correspondance.

note: type: Plain text
en: The latter use of the `remote.<repository>.fetch` values can be overridden by giving the `--refmap=<refspec>` parameter(s) on the command line.
fr: Cette dernière utilisation des valeurs de `remote.<dépôt>.fetch` peut être écrasée en donnant le(s) paramètre(s) `--refmap=<spéc-de-réf>` sur la ligne de commande.

note: type: Title -
en: PRUNING
fr: ÉLAGAGE

note: type: Plain text
en: Git has a default disposition of keeping data unless it's explicitly thrown away; this extends to holding onto local references to branches on remotes that have themselves deleted those branches.
fr: Par défaut, Git conserve les données à moins qu'elles ne soient explicitement jetées ; cela s'étend à la conservation des références locales aux branches des distants qui ont eux-mêmes supprimé ces branches.

note: type: Plain text
en: If left to accumulate, these stale references might make performance worse on big and busy repos that have a lot of branch churn, and e.g. make the output of commands like `git branch -a --contains <commit>` needlessly verbose, as well as impacting anything else that'll work with the complete set of known references.
fr: Si on les laisse s'accumuler, ces références périmées pourraient rendre les performances mauvaises sur les gros dépôt qui ont beaucoup de branches, et par exemple rendre la sortie de commandes comme `git branch -a --contains <commit>` inutilement verbeuse, ainsi qu'avoir un impact sur tout ce qui travaillera avec l'ensemble des références connues.

note: type: Plain text
en: These remote-tracking references can be deleted as a one-off with either of:
fr: Ces références de suivi à distance peuvent être supprimées une seule fois avec l'une ou l'autre des commandes suivantes :

note: type: delimited block -
en: # While fetching
    $ git fetch --prune <name>
fr: # Pendant la récupération
    $ git fetch --prune <nom>

note: type: delimited block -
en: # Only prune, don't fetch
    $ git remote prune <name>
fr: # Élaguer seulement, ne pas récupére
    $ git remote prune <nom>

note: type: Plain text
en: To prune references as part of your normal workflow without needing to remember to run that, set `fetch.prune` globally, or `remote.<name>.prune` per-remote in the config. See linkgit:git-config[1].
fr: Pour élaguer les références dans le cadre de votre flux de travail normal sans avoir besoin de vous rappeler de l'exécuter, définissez `fetch.prune` globalement, ou `remote.<nom>.prune` pour chaque dépôt distant dans la configuration. Voir linkgit:git-config[1].

note: type: Plain text
en: Here's where things get tricky and more specific. The pruning feature doesn't actually care about branches, instead it'll prune local <-> remote-references as a function of the refspec of the remote (see `<refspec>` and <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> above).
fr: C'est là que les choses deviennent délicates et plus spécifiques. La fonction d'élagage ne se préoccupe pas vraiment des branches, elle va plutôt élaguer les références locales <-> à distance en fonction du spécificateur de référence du dépôt distant (voir `<spéc-de-réf>` et <<CRTB, BRANCHES DE SUIVI À DISTANCE CONFIGURÉES>> ci-dessus).

note: type: Plain text
en: Therefore if the refspec for the remote includes e.g. `refs/tags/*:refs/tags/*`, or you manually run e.g. `git fetch --prune <name> "refs/tags/*:refs/tags/*"` it won't be stale remote tracking branches that are deleted, but any local tag that doesn't exist on the remote.
fr: Par conséquent, si le spécificateur de référence du serveur distant inclut par exemple `refs/tags/*:refs/tags/*`, ou si vous lancez manuellement par exemple `git fetch --prune <nom> "refs/tags/*:refs/tags/*"`, ce ne seront pas les branches de suivi à distance qui seront supprimées, mais toute étiquette locale qui n'existe pas sur le serveur distant.

note: type: Plain text
en: This might not be what you expect, i.e. you want to prune remote `<name>`, but also explicitly fetch tags from it, so when you fetch from it you delete all your local tags, most of which may not have come from the `<name>` remote in the first place.
fr: Ce n'est peut-être pas ce à quoi vous vous attendez, c'est-à-dire que vous voulez élaguer le server distant `<nom>`, mais aussi y récupérer explicitement des étiquettes, de sorte que lorsque vous le récupérez, vous supprimez toutes vos étiquettes locales, dont la plupart ne proviennent pas du dépôt distant `<nom>` au départ.

note: type: Plain text
en: So be careful when using this with a refspec like `refs/tags/*:refs/tags/*`, or any other refspec which might map references from multiple remotes to the same local namespace.
fr: Soyez donc prudent lorsque vous utilisez un spécificateur de référence comme `refs/tags/*:refs/tags/*`, ou toute autre spécificateur de référence qui pourrait faire correspondre des références de plusieurs dépôts distants au même espace de noms local.

note: type: Plain text
en: Since keeping up-to-date with both branches and tags on the remote is a common use-case the `--prune-tags` option can be supplied along with `--prune` to prune local tags that don't exist on the remote, and force-update those tags that differ. Tag pruning can also be enabled with `fetch.pruneTags` or `remote.<name>.pruneTags` in the config. See linkgit:git-config[1].
fr: Étant donné que la mise à jour des branches et des étiquettes sur le dépôt distant est un cas d'utilisation courant, l'option `--prune-tags` peut être fournie avec `--prune` pour élaguer les étiquettes locales qui n'existent pas sur le dépôt distant, et forcer la mise à jour des étiquettes qui diffèrent. L'élagage des étiquettes peut également être activé avec `fetch.pruneTags` ou `remote.<nom>.pruneTags` dans la configuration. Voir linkgit:git-config[1].

note: type: Plain text
en: The `--prune-tags` option is equivalent to having `refs/tags/*:refs/tags/*` declared in the refspecs of the remote. This can lead to some seemingly strange interactions:
fr: L'option `--prune-tags` est équivalente à avoir `refs/tags/*:refs/tags/*` déclaré dans les spécificateurs de référence du dépôt distant. Cela peut conduire à des interactions apparemment étranges :

note: type: delimited block -
en: # These both fetch tags
    $ git fetch --no-tags origin 'refs/tags/*:refs/tags/*'
    $ git fetch --no-tags --prune-tags origin
fr: # Ces deux ligne vont chercher les étiquettes
    $ git fetch --no-tags origin 'refs/tags/*:refs/tags/*
    $ git fetch --no-tags --prune-tags origin

note: type: Plain text
en: The reason it doesn't error out when provided without `--prune` or its config versions is for flexibility of the configured versions, and to maintain a 1=1 mapping between what the command line flags do, and what the configuration versions do.
fr: La raison pour laquelle il ne génère pas d'erreur lorsqu'il est fourni sans `--prune` ou ses pendants en configuration est pour la flexibilité des versions configurées et pour maintenir un mappage 1 = 1 entre ce que font les drapeaux de ligne de commande et ce que font les versions de configuration.

note: type: Plain text
en: It's reasonable to e.g. configure `fetch.pruneTags=true` in `~/.gitconfig` to have tags pruned whenever `git fetch --prune` is run, without making every invocation of `git fetch` without `--prune` an error.
fr: Il est raisonnable, par exemple de configurer `fetch.pruneTags = true` dans` ~ / .gitconfig` pour que les étiquettes soient élaguées chaque fois que `git fetch --prune` est exécuté, sans que chaque appel de `git fetch` sans `--prune` soit une erreur.

note: type: Plain text
en: Pruning tags with `--prune-tags` also works when fetching a URL instead of a named remote. These will all prune tags not found on origin:
fr: L'élagage des étiquettes avec `--prune-tags` fonctionne également lors de la récupération d'une URL au lieu d'un dépôt distant nommé. Toutes ces lignes élagueront les étiquettes non trouvées sur origin :

note: type: delimited block -
en: $ git fetch origin --prune --prune-tags
    $ git fetch origin --prune 'refs/tags/*:refs/tags/*'
    $ git fetch <url of origin> --prune --prune-tags
    $ git fetch <url of origin> --prune 'refs/tags/*:refs/tags/*'
fr: $ git fetch origin --prune --prune-tags
    $ git fetch origin --prune 'refs/tags/*:refs/tags/*
    $ git fetch <url de origin> --prune --prune-tags
    $ git fetch <url de origin> --prune 'refs/tags/*:refs/tags/*

note: type: Plain text
en: The output of "git fetch" depends on the transport method used; this section describes the output when fetching over the Git protocol (either locally or via ssh) and Smart HTTP protocol.
fr: La sortie de "git fetch" dépend de la méthode de transport utilisée ; cette section décrit la sortie lors de la récupération sur le protocole Git (soit localement soit via ssh) et le protocole Smart HTTP.

note: type: Plain text
en: The status of the fetch is output in tabular form, with each line representing the status of a single ref. Each line is of the form:
fr: L'état de la récupération est affiché sous forme de tableau, chaque ligne représentant l'état d'une seule référence. Chaque ligne est de la forme :

note: type: delimited block -
en:  <flag> <summary> <from> -> <to> [<reason>]
fr:  <drapeau> <résumé> <de> -> <à> [<raison>]

note: type: Plain text
en: The status of up-to-date refs is shown only if the --verbose option is used.
fr: L'état des références à jour n'est affiché que si l'option --verbose est utilisée.

note: type: Plain text
en: In compact output mode, specified with configuration variable fetch.output, if either entire `<from>` or `<to>` is found in the other string, it will be substituted with `*` in the other string. For example, `master -> origin/master` becomes `master -> origin/*`.
fr: En mode de sortie compact, spécifié avec la variable de configuration fetch.output, si l'un des deux `<de>` ou `<à>` est trouvé dans l'autre chaîne, il sera substitué par `*` dans l'autre chaîne. Par exemple, `master -> origin/master` devient `master -> origin/*`.

note: type: Labeled list
en: flag
fr: drapeau

note: type: Plain text
en: A single character indicating the status of the ref:
fr: Un seul caractère indiquant le statut de la référence :

note: type: Labeled list
en: (space)
fr: (espace)

note: type: Plain text
en: for a successfully fetched fast-forward;
fr: pour une récupération en avance rapide réussie ;

note: type: Plain text
en: for a successful forced update;
fr: pour une mise à jour forcée avec succès ;

note: type: Plain text
en: for a successfully pruned ref;
fr: pour une ref. élaguée avec succès ;

note: type: Plain text
en: for a successful tag update;
fr: pour une mise à jour d'étiquette avec succès ;

note: type: Plain text
en: for a successfully fetched new ref;
fr: pour la récupération réussie d'une nouvelle réf. ;

note: type: Plain text
en: for a ref that was rejected or failed to update; and
fr: pour une référence qui a été rejetée ou qui n'a pas pu être mise à jour ; et

note: type: Plain text
en: for a ref that was up to date and did not need fetching.
fr: pour une référence qui était à jour et n'avait pas besoin d'être récupérée.

note: type: Labeled list
en: summary
fr: résumé

note: type: Plain text
en: For a successfully fetched ref, the summary shows the old and new values of the ref in a form suitable for using as an argument to `git log` (this is `<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-forward updates).
fr: Pour une réf récupérée avec succès, le résumé montre les anciennes et les nouvelles valeurs de la réf sous une forme qui peut être utilisée comme argument pour `git log` (c'est `<ancien>..<nouveau>` dans la plupart des cas, et `<ancien>...<nouveau>` pour les mises à jour forcées pas en avance rapide).

note: type: Labeled list
en: from
fr: de

note: type: Plain text
en: The name of the remote ref being fetched from, minus its `refs/<type>/` prefix. In the case of deletion, the name of the remote ref is "(none)".
fr: Le nom de la référence distante récupérée, moins son préfixe "refs/<type>/". En cas de suppression, le nom de la référence distante est "(none)".

note: type: Plain text
en: to
fr: à

note: type: Plain text
en: The name of the local ref being updated, minus its `refs/<type>/` prefix.
fr: Le nom de la référence locale en cours de mise à jour, moins son préfixe `refs/<type>/`.

note: type: Labeled list
en: reason
fr: raison

note: type: Plain text
en: A human-readable explanation. In the case of successfully fetched refs, no explanation is needed. For a failed ref, the reason for failure is described.
fr: Une explication compréhensible. Dans le cas des références qui ont été récupérées avec succès, aucune explication n'est nécessaire. Dans le cas d'une référence en échec, la raison de l'échec est décrite.

note: type: Plain text
en: Update the remote-tracking branches:
fr: Mettre à jour les branches de suivi distantes :

note: type: Plain text
en: The above command copies all branches from the remote refs/heads/ namespace and stores them to the local refs/remotes/origin/ namespace, unless the branch.<name>.fetch option is used to specify a non-default refspec.
fr: La commande ci-dessus copie toutes les branches de l'espace de nom distant refs/heads/ et les stocke dans l'espace de noms local refs/remotes/origin/, sauf si l'option branch. <nom> .fetch est utilisée pour spécifier un spécificateur de référence non par défaut.

note: type: Plain text
en: Using refspecs explicitly:
fr: En utilisant explicitement les spécificateurs de référence :

note: type: Plain text
en: This updates (or creates, as necessary) branches `seen` and `tmp` in the local repository by fetching from the branches (respectively)  `seen` and `maint` from the remote repository.
fr: Cela met à jour (ou crée, si nécessaire) les branches `seen` et `tmp` dans le dépôt local en récupérant (respectivement) les branches `seen` et `maint` dans le dépôt distant.

note: type: Plain text
en: The `seen` branch will be updated even if it does not fast-forward, because it is prefixed with a plus sign; `tmp` will not be.
fr: La branche `seen` sera mise à jour même si ce n'est pas en avance rapide, car elle est préfixée par un signe plus ; `tmp` ne le sera pas.

note: type: Plain text
en: Peek at a remote's branch, without configuring the remote in your local repository:
fr: Jette un coup d'œil à la branche d'un dépôt distant, sans configurer le distant dans votre dépôt local :

note: type: Plain text
en: The first command fetches the `maint` branch from the repository at `git://git.kernel.org/pub/scm/git/git.git` and the second command uses `FETCH_HEAD` to examine the branch with linkgit:git-log[1].  The fetched objects will eventually be removed by git's built-in housekeeping (see linkgit:git-gc[1]).
fr: La première commande récupère la branche `maint` dans le dépôt à `git://git.kernel.org/pub/scm/git/git.git` et la seconde commande utilise `FETCH_HEAD` pour examiner la branche avec linkgit:git-log[1].  Les objets récupérés seront éventuellement supprimés par le service d'entretien intégré de git (voir linkgit:git-gc[1]).

note: type: Plain text
en: Using --recurse-submodules can only fetch new commits in already checked out submodules right now. When e.g. upstream added a new submodule in the just fetched commits of the superproject the submodule itself cannot be fetched, making it impossible to check out that submodule later without having to do a fetch again. This is expected to be fixed in a future Git version.
fr: 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.

note: type: Labeled list
en: --setup <command>
fr: --setup <commande>

note: type: Labeled list
en: --subdirectory-filter <directory>
fr: --subdirectory-filter <répertoire>

note: type: Labeled list
en: -d <directory>
fr: -d <répertoire>

note: type: Labeled list
en: --state-branch <branch>
fr: --state-branch <branche>

note: type: Labeled list
en: --file <file>
fr: --file <fichier>

note: type: Plain text
en: Take the list of merged objects from <file> instead of stdin.
fr: Prendre la liste des objets fusionnés depuis <fichier> au lieu de lire depuis l'entrée standard.

note: type: Plain text
en: git-for-each-ref - Output information on each ref
fr: git-for-each-ref - Affiche des informations sur chaque référence

note: type: Labeled list
en: --count=<count>
fr: --count=<compte>

note: type: Plain text
en: Respect any colors specified in the `--format` option. The `<when>` field must be one of `always`, `never`, or `auto` (if `<when>` is absent, behave as if `always` was given).
fr: Respecter toutes les couleurs spécifiées dans l'option `--format`. Le champ `<quand>` doit être un des valeur `always`, `never`, ou `auto` (si `<quand>` est absent, se comporter comme si `always` était donné).

note: type: Plain text
en: Only list refs which points at the given object.
fr: Afficher seulement les références pointant sur l'objet.

note: type: Labeled list
en: --merged[=<object>]
fr: --merged[=<objet>]

note: type: Plain text
en: Only list refs whose tips are reachable from the specified commit (HEAD if not specified).
fr: Ne lister que les références dont les sommets sont accessibles à partir du commit spécifié (HEAD si non spécifié).

note: type: Labeled list
en: --no-merged[=<object>]
fr: --no-merged[=<objet>]

note: type: Plain text
en: Only list refs whose tips are not reachable from the specified commit (HEAD if not specified).
fr: Ne lister que les références dont les sommets ne sont pas accessibles à partir du commit spécifié (HEAD si non spécifié).

note: type: Labeled list
en: --contains[=<object>]
fr: --contains[=<objet>]

note: type: Labeled list
en: --no-contains[=<object>]
fr: --no-contains[=<objet>]

note: type: Plain text
en: Sorting and filtering refs are case insensitive.
fr: Le tri et le filtrage sont non-sensibles à la casse.

note: type: Labeled list
en: refname
fr: nom-de-référence

note: type: Labeled list
en: objecttype
fr: type-d-objet

note: type: Labeled list
en: objectsize
fr: `taille-d-objet`

note: type: Labeled list
en: objectname
fr: nom-d-objet

note: type: Labeled list
en: upstream
fr: amont

note: type: Plain text
en: The optional GPG signature of the tag.
fr: La signature GPG optionnelle de l'étiquette.

note: type: Plain text
en: Start numbering the patches at <n> instead of 1.
fr: démarrer la numérotation des patchs à <n> au lieu de 1.

note: type: Labeled list
en: --in-reply-to=<message id>
fr: --in-reply-to=<id message>

note: type: Labeled list
en: --subject-prefix=<subject prefix>
fr: --subject-prefix=<préfixe de sujet>

note: type: Labeled list
en: --signature-file=<file>
fr: --signature-file=<fichier>

note: type: Title ^
en: Approach #1 (add-on)
fr: Approche n°1 (add-on)

note: type: Title ^
en: Approach #2 (configuration)
fr: Approche n°2 (configuration)

note: type: Title ^
en: Approach #3 (external editor)
fr: Approche n°3 (éditeur externe)

note: type: Title -
en: BASE TREE INFORMATION
fr: INFORMATION D'ARBRE DE BASE

note: type: Plain text
en: git-fsck-objects - Verifies the connectivity and validity of the objects in the database
fr: git-fsck-objects - Vérifier la connectivité et la validité des objets en base de données

note: type: Plain text
en: This is a synonym for linkgit:git-fsck[1].  Please refer to the documentation of that command.
fr: Ceci est un synonyme pour linkgit:git-fsck[1]. Veuillez vous référer à la documentation de cette commande.

note: type: Plain text
en: git-fsck - Verifies the connectivity and validity of the objects in the database
fr: git-fsck - Vérifier la connectivité et la validité des objets dans la base de données

note: type: Plain text
en: 'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
    	 [--[no-]full] [--strict] [--verbose] [--lost-found]
    	 [--[no-]dangling] [--[no-]progress] [--connectivity-only]
    	 [--[no-]name-objects] [<object>*]
fr: 'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
    	 [--[no-]full] [--strict] [--verbose] [--lost-found]
    	 [--[no-]dangling] [--[no-]progress] [--connectivity-only]
    	 [--[no-]name-objects] [<objet>*]

note: type: Plain text
en: An object to treat as the head of an unreachability trace.
fr: Un objet à traiter comme la tête d'une trace d'inaccessibilité.

note: type: Plain text
en: Report root nodes.
fr: Signaler les nœuds racines.

note: type: Plain text
en: Report tags.
fr: Afficher les étiquettes.

note: type: Plain text
en: Consider any object recorded in the index also as a head node for an unreachability trace.
fr: Considérer aussi un objet enregistré dans l'index comme la tête d'une trace d'inaccessibilité.

note: type: Plain text
en: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless --no-progress or --verbose is specified. --progress forces progress status even if the standard error stream is not directed to a terminal.
fr: L'état d'avancement est affiché sur la sortie d'erreur standard quand elle est attachée à un terminal, à moins que --no-progress ou --verbose soit spécifié. --no-progress force l'état d'avancement même si le flux d'erreur standard n'est pas dirigé vers un terminal.

note: type: Title -
en: Environment Variables
fr: Variables d'environnement

note: type: Plain text
en: used to specify the index file of the index
fr: utilisé pour spécifier le fichier d'index de l'index

note: type: Plain text
en: git-gc - Cleanup unnecessary files and optimize the local repository
fr: git-gc - Efface les fichiers non-nécessaires et optimiser le dépôt local

note: type: Plain text
en: Do not prune any loose objects.
fr: Ne pas supprimer les objets esseulés.

note: type: Plain text
en: Suppress all progress reports.
fr: Supprimer les rapports d'avancement.

note: type: Plain text
en: The 'git gc --auto' command will run the 'pre-auto-gc' hook.  See linkgit:githooks[5] for more information.
fr: La commande 'git gc --auto' peut lancer le crochet `pre-auto-gc`. Voir linkgit:githooks[5] pour de plus amples informations.

note: type: Plain text
en: Instead of searching tracked files in the working tree, search blobs registered in the index file.
fr: Au lieu de rechercher les fichiers suivis dans l'arbre de travail, rechercher les blobs enregistrés dans le fichier d'index.

note: type: Plain text
en: In addition to searching in the tracked files in the working tree, search also in untracked files.
fr: En plus de rechercher dans les fichiers suivis dans l'arbre de travail, rechercher aussi dans les fichiers non-suivis.

note: type: Plain text
en: Don't match the pattern in binary files.
fr: Ne pas chercher les motifs dans les fichiers binaires.

note: type: Labeled list
en: --max-depth <depth>
fr: --max-depth <profondeur>

note: type: Plain text
en: Support for these types of regular expressions is an optional compile-time dependency. If Git wasn't compiled with support for them providing this option will cause it to die.
fr: La prise en charge de ces types d'expressions régulières est une dépendance optionnelle à la compilation. Si Git n'a pas été compilé avec ce support et que cette option est activée, la commande se termine immédiatement.

note: type: Plain text
en: Use \0 as the delimiter for pathnames in the output, and print them verbatim. Without this option, pathnames with "unusual" characters are quoted as explained for the configuration variable core.quotePath (see linkgit:git-config[1]).
fr: Utiliser \ 0 comme délimiteur pour les noms de chemin dans la sortie et les afficher verbatim. Sans cette option, les noms de chemin avec des caractères « inhabituels » sont cités comme expliqué pour la variable de configuration core.quotePath (voir linkgit:git-config[1]).

note: type: Plain text
en: Print an empty line between matches from different files.
fr: Imprimer une ligne vide entre les correspondances de fichiers différents.

note: type: Labeled list
en: -f <file>
fr: -f <fichier>

note: type: Plain text
en: Instead of searching tracked files in the working tree, search blobs in the given trees.
fr: Au lieu de rechercher les fichiers suivis dans l'arbre de travail, rechercher les blobs enregistrés dans les arbres fournis.

note: type: Plain text
en: Looks for `time_t` in all tracked .c and .h files in the working directory and its subdirectories.
fr: Recherche `time_t` dans tous les fichiers suivis `.c` et `.h` dans le répertoire de travail et ses sous-répertoires.

note: type: Plain text
en: git-gui - A portable graphical interface to Git
fr: git-gui - Une interface graphique portable pour Git

note: type: Title -
en: COMMANDS
fr: COMMANDES

note: type: Title -
en: Examples
fr: Exemples

note: type: Plain text
en: Same as `git gui citool` (above).
fr: Identique à `git gui citool` (ci-dessus).

note: type: Title -
en: Other
fr: Autre

note: type: Plain text
en: git-hash-object - Compute object ID and optionally creates a blob from a file
fr: git-hash - Calculer l'ID d'objet et créer optionnellement un blob depuis un fichier

note: type: Plain text
en: Actually write the object into the object database.
fr: Écrire réellement l'objet dans la base de données d'objets.

note: type: Plain text
en: git-help - Display help information about Git
fr: git-help - Afficher l'information d'aide à propos de Git

note: type: Title -
en: CONFIGURATION VARIABLES
fr: VARIABLES DE CONFIGURATION

note: type: Plain text
en: git-http-fetch - Download from a remote Git repository via HTTP
fr: git-http-fetch - Télécharger depuis un dépôt Git distant via HTTP

note: type: Plain text
en: Downloads a remote Git repository via HTTP.
fr: Télécharger un dépôt Git distant via HTTP.

note: type: Labeled list
en: commit-id
fr: id-de-commit

note: type: Labeled list
en: -w <filename>
fr: -w <fichier>

note: type: Labeled list
en: --packfile=<hash>
fr: --packfile=<empreinte>

note: type: Plain text
en: git-http-push - Push objects over HTTP/DAV to another repository
fr: git-http-push - Pousse des objets via HTTP/DAV sur un autre dépôt

note: type: Plain text
en: Do everything except actually send the updates.
fr: Fait tout sauf envoyer les mises à jour.

note: type: Plain text
en: git-imap-send - Send a collection of patches from stdin to an IMAP folder
fr: git-imap - Envoye un ensemble de rustines depuis stdin vers un répertoire IMAP

note: type: Plain text
en: Be quiet.
fr: Être silencieux.

note: type: Plain text
en: git-index-pack - Build pack index file for an existing packed archive
fr: git-index-pack - Construit un fichier d'index pack depuis une archive compactée existante

note: type: Labeled list
en: --object-format=<hash-algorithm>
fr: --object-format=<algorithme-empreinte>

note: type: Plain text
en: Specify the given object format (hash algorithm) for the pack.  The valid values are 'sha1' and (if enabled) 'sha256'.  The default is the algorithm for the current repository (set by `extensions.objectFormat`), or 'sha1' if no value is set or outside a repository.
fr: Spécifier le format d'objet donné (algorithme d'empreinte) pour le paquet.  Les valeurs valides sont 'sha1' et (si activé) 'sha256'.  'sha1' est la valeur par défaut. La valeur par défaut est l'algorithme pour le dépôt actuel (défini par `extensions.objectFormat`), ou 'sha1' si aucune valeur n'est définie ou en dehors d'un dépôt.

note: type: Plain text
en: This option cannot be used with --stdin.
fr: Cette option ne peut pas être utilisée avec --stdin.

note: type: Plain text
en: git-init-db - Creates an empty Git repository
fr: git-init-db - Crée un dépôt Git vide

note: type: Plain text
en: 'git init-db' [-q | --quiet] [--bare] [--template=<template_directory>] [--separate-git-dir <git dir>] [--shared[=<permissions>]]
fr: 'git init-db' [-q | --quiet] [--bare] [--template=<répertoire_de_modèles>] [--separate-git-dir <répertoire git>] [--shared[=<permissions>]]

note: type: Plain text
en: This is a synonym for linkgit:git-init[1].  Please refer to the documentation of that command.
fr: Ceci est un synonyme pour linkgit:git-init[1].  Veuillez vous référer à la documentation de cette commande.

note: type: Plain text
en: git-init - Create an empty Git repository or reinitialize an existing one
fr: git-init - Crée un dépôt Git vide ou réinitialise un dépôt existant

note: type: Plain text
en: 'git init' [-q | --quiet] [--bare] [--template=<template_directory>]
    	  [--separate-git-dir <git dir>] [--object-format=<format>]
    	  [-b <branch-name> | --initial-branch=<branch-name>]
    	  [--shared[=<permissions>]] [directory]
fr: 'git init' [-q | --quiet] [--bare] [--template=<répertoire_modèle>]
    	  [--separate-git-dir <répertoire git>] [--object-format=<format>]
    	  [-b <nom-de-branche> | --initial-branch=<nom-de-branche>]
    	  [--shared[=<permissions>]] [dossier]

note: type: Plain text
en: This command creates an empty Git repository - basically a `.git` directory with subdirectories for `objects`, `refs/heads`, `refs/tags`, and template files.  An initial branch without any commits will be created (see the `--initial-branch` option below for its name).
fr: Cette commande crée un dépôt Git vide - essentiellement un répertoire `.git` avec des sous-répertoires pour les fichiers `objects`, `refs/heads`, `refs/tags` et les fichiers de modèle. Une branche initiale sans aucun commit sera créée (voir loption `--initial-branch` ci-dessous pour son nom).

note: type: Plain text
en: If the `$GIT_DIR` environment variable is set then it specifies a path to use instead of `./.git` for the base of the repository.
fr: Si la variable d'environnement `$GIT_DIR` est définie, alors elle spécifie un chemin à utiliser au lieu de `./.git` comme base du dépôt.

note: type: Plain text
en: If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` environment variable then the sha1 directories are created underneath - otherwise the default `$GIT_DIR/objects` directory is used.
fr: Si le répertoire de stockage d'objets est spécifié via la variable d'environnement `$GIT_OBJECT_DIRECTORY`, alors les répertoires sha1 sont créés dedans - sinon le répertoire par défaut `$GIT_DIR/objects` est utilisé.

note: type: Plain text
en: Running 'git init' in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunning 'git init' is to pick up newly added templates (or to move the repository to another place if --separate-git-dir is given).
fr: Exécuter 'git init' dans un dépôt existant est sécurisé. Cela n'écrasera pas des choses qui sont déjà dedans. La raison principale de ré-exécuter 'git init' est de récupérer les modèles récemment ajoutés (ou de déplacer le dépôt ailleurs si --separate-git-dir est fourni).

note: type: Plain text
en: Only print error and warning messages; all other output will be suppressed.
fr: N'afficher que les messages d'erreur et d'alerte ; toutes les autres sorties seront supprimées.

note: type: Plain text
en: Create a bare repository. If `GIT_DIR` environment is not set, it is set to the current working directory.
fr: Créer un dépôt nu. Si l'environnement `GIT_DIR` n'est pas défini, alors il est défini au répertoire de travail courant.

note: type: Plain text
en: Specify the given object format (hash algorithm) for the repository.  The valid values are 'sha1' and (if enabled) 'sha256'.  'sha1' is the default.
fr: Spécifier le format d'objet donné (algorithme d'empreinte) pour le dépôt.  Les valeurs valides sont 'sha1' et (si activé) 'sha256'.  'sha1' est la valeur par défaut.

note: type: Plain text
en: Specify the directory from which templates will be used.  (See the "TEMPLATE DIRECTORY" section below.)
fr: Spécifier le dossier depuis lequel les modèles seront utilisés (Voyez la section « DOSSIER MODÈLE » ci-dessous.)

note: type: Plain text
en: Instead of initializing the repository as a directory to either `$GIT_DIR` or `./.git/`, create a text file there containing the path to the actual repository.  This file acts as filesystem-agnostic Git symbolic link to the repository.
fr: Au lieu d'initialiser le dépôt en tant que répertoire dans soit `$GIT_DIR` soit `./.git`, y créer un fichier texte contenant le chemin du dépôt réel. Ce fichier agit comme un lien symbolique Git indépendant du système de fichier vers le dépôt.

note: type: Plain text
en: If this is reinitialization, the repository will be moved to the specified path.
fr: Si c'est une réinitialisation, le dépôt sera déplacé vers le chemin spécifié.

note: type: Labeled list
en: -b <branch-name>
fr: -b <nom-de-branche>

note: type: Labeled list
en: --initial-branch=<branch-name>
fr: --initial-branch=<nom-de-branche>

note: type: Plain text
en: Use the specified name for the initial branch in the newly created repository.  If not specified, fall back to the default name (currently `master`, but this is subject to change in the future; the name can be customized via the `init.defaultBranch` configuration variable).
fr: Utiliser le nom spécifié pour la branche initiale dans le dépôt nouvellement créé.  S'il n'est pas spécifié, revenir au nom par défaut (actuellement `master`, mais ceci est susceptible de changer à l'avenir ; le nom peut être personnalisé via la variable de configuration `init.defaultBranch`).

note: type: Plain text
en: Specify that the Git repository is to be shared amongst several users.  This allows users belonging to the same group to push into that repository.  When specified, the config variable "core.sharedRepository" is set so that files and directories under `$GIT_DIR` are created with the requested permissions.  When not specified, Git will use permissions reported by umask(2).
fr: Spécifier que le dépôt Git doit être partagé entre plusieurs utilisateurs. Ceci permet à des utilisateurs faisant partie du même groupe de pousser dans ce dépôt. Lorsque que cette option est spécifiée, la variable de configuration "core.sharedRepository" est définie de telle sorte que les fichiers et les dossiers sous `$GIT_DIR` sont créés avec les permissions demandées. Lorsqu'elle n'est pas spécifiée, Git utilisera les permissions rapportées par umask(2).

note: type: Plain text
en: The option can have the following values, defaulting to 'group' if no value is given:
fr: L'option peut avoir les valeurs suivantes, prenant par défaut la valeur 'group' si aucune valeur n'est renseignée :

note: type: Labeled list
en: 'umask' (or 'false')
fr: 'umask' (ou 'false')

note: type: Plain text
en: Use permissions reported by umask(2). The default, when `--shared` is not specified.
fr: Utiliser les permissions rapportées par umask(2). Valeur par défaut, quand `--shared` n'est pas spécifié.

note: type: Labeled list
en: 'group' (or 'true')
fr: 'group' (ou 'true')

note: type: Plain text
en: Make the repository group-writable, (and g+sx, since the git group may be not the primary group of all users). This is used to loosen the permissions of an otherwise safe umask(2) value. Note that the umask still applies to the other permission bits (e.g. if umask is '0022', using 'group' will not remove read privileges from other (non-group) users). See '0xxx' for how to exactly specify the repository permissions.
fr: Rendre le dépôt modifiable par groupe (et g+sx, puisque le groupe git peut ne pas être le groupe principal de tous les utilisateurs). Ceci est utilisé pour assouplir les permissions d'une valeur umask(2) par ailleurs sûre. Notez que umask s'applique toujours aux autres bits d'autorisation (par exemple, si umask est défini sur '0022', l'utilisation de 'group' ne supprime pas les privilèges de lecture des autres utilisateurs (non membres du groupe)). Voir '0xxx' pour savoir comment spécifier exactement les autorisations du dépôt.

note: type: Labeled list
en: 'all' (or 'world' or 'everybody')
fr: 'all' (ou 'world' ou 'everybody')

note: type: Plain text
en: Same as 'group', but make the repository readable by all users.
fr: Comme 'group', mais rendre le dépôt lisible par tous les utilisateurs.

note: type: Plain text
en: '0xxx' is an octal number and each file will have mode '0xxx'. '0xxx' will override users' umask(2) value (and not only loosen permissions as 'group' and 'all' does). '0640' will create a repository which is group-readable, but not group-writable or accessible to others. '0660' will create a repo that is readable and writable to the current user and group, but inaccessible to others.
fr: '0xxx' est un nombre octal et chaque fichier aura le mode '0xxx'. '0xxx' surchargera la valeur umask(2) des utilisateurs (en plus d'assouplir les permissions comme 'group' et 'all' le font). '0640' créera un dépôt qui est lisible par groupe, mais pas modifiable par groupe ni accessible aux autres. '0660' créera un dépôt lisible et modifiable par l'utilisateur et le groupe courants, mais inaccessible aux autres.

note: type: Plain text
en: By default, the configuration flag `receive.denyNonFastForwards` is enabled in shared repositories, so that you cannot force a non fast-forwarding push into it.
fr: Par défaut, l'option de configuration `receive.denyNonFastForwards` est activée dans les dépôts partagés, de telle sorte que vous ne pouvez pas forcer une poussée qui ne serait pas en avance rapide.

note: type: Plain text
en: If you provide a 'directory', the command is run inside it. If this directory does not exist, it will be created.
fr: Si vous renseignez un 'dossier', la commande est exécutée à l'intérieur de celui-ci. Si ce dossier n'existe pas, il sera créé.

note: type: Title -
en: TEMPLATE DIRECTORY
fr: DOSSIER MODÈLE

note: type: Plain text
en: Files and directories in the template directory whose name do not start with a dot will be copied to the `$GIT_DIR` after it is created.
fr: Les fichiers et les dossiers dans le dossier modèle dont le nom ne commence pas par un point seront copiés dans le `$GIT_DIR` après qu'il sera créé.

note: type: Plain text
en: The template directory will be one of the following (in order):
fr: Le dossier modèle sera l'un des suivants (dans l'ordre) :

note: type: Plain text
en: the argument given with the `--template` option;
fr: l'argument fourni avec l'option `--template` ;

note: type: Plain text
en: the contents of the `$GIT_TEMPLATE_DIR` environment variable;
fr: le contenu de la variable d'environnement `$GIT_TEMPLATE_DIR` ;

note: type: Plain text
en: the `init.templateDir` configuration variable; or
fr: la variable de configuration `init.templateDir` ; ou

note: type: Plain text
en: the default template directory: `/usr/share/git-core/templates`.
fr: le dossier modèle par défaut : `/usr/share/git-core/templates`.

note: type: Plain text
en: The default template directory includes some directory structure, suggested "exclude patterns" (see linkgit:gitignore[5]), and sample hook files.
fr: Le dossier modèle par défaut inclut une certaine structure de dossier, des "modèles d'exclusions" suggérés (voir linkgit:gitignore[5]), et des exemples de fichiers crochet.

note: type: Plain text
en: The sample hooks are all disabled by default. To enable one of the sample hooks rename it by removing its `.sample` suffix.
fr: Les exemples de crochets sont tous désactivés par défaut. Pour activer l'un des exemples de crochets, renommez-le en enlevant le suffixe `.sample`.

note: type: Plain text
en: See linkgit:githooks[5] for more general info on hook execution.
fr: Voir linkgit:githooks[5] pour des informations plus générales sur l'exécution d'un crochet.

note: type: Labeled list
en: Start a new Git repository for an existing code base
fr: Démarrer un nouveau dépôt Git pour une base de code existante

note: type: delimited block -
en: $ cd /path/to/my/codebase
    $ git init      <1>
    $ git add .     <2>
    $ git commit    <3>
fr: $ cd /chemin/vers/mon/code/de/base
    $ git init      <1>
    $ git add .     <2>
    $ git commit    <3>

note: type: Plain text
en: Create a /path/to/my/codebase/.git directory.
fr: Créer un dossier /chemin/vers/mon/code/de/base/.git.

note: type: Plain text
en: Add all existing files to the index.
fr: Ajouter tous les fichiers existants à l'index.

note: type: Plain text
en: Record the pristine state as the first commit in the history.
fr: Enregistrer l'état d'origine comme le premier commit dans l'historique.

note: type: Plain text
en: git-instaweb - Instantly browse your working repository in gitweb
fr: git-instaweb - Navigue instantanément votre dépôt de travail dans gitweb

note: type: Plain text
en: git-interpret-trailers - Add or parse structured information in commit messages
fr: git-interpret-trailers - Ajoute ou analyse de l'information structurée dans les messages de validation

note: type: Plain text
en: Edit the files in place.
fr: Éditer les fichiers sur place.

note: type: Plain text
en: git-log - Show commit logs
fr: git-log - Afficher les journaux de validation

note: type: Plain text
en: 'git log' [<options>] [<revision range>] [[--] <path>...]
fr: 'git log' [<options>] [<plage de révision>] [[--] <chemin>...]

note: type: Plain text
en: Shows the commit logs.
fr: Affiche les journaux de validation.

note: type: Plain text
en: The command takes options applicable to the linkgit:git-rev-list[1] command to control what is shown and how, and options applicable to the linkgit:git-diff[1] command to control how the changes each commit introduces are shown.
fr: La commande prend les options applicables à la commande linkgit:git-rev-list[1] pour contrôler ce qui est montré et comment, et les options applicables aux commandes linkgit:git-diff[1] pour contrôler la façon dont les modifications que chaque validation introduit sont affichées.

note: type: Plain text
en: Continue listing the history of a file beyond renames (works only for a single file).
fr: Continuer à lister l'historique d'un fichier au-delà des renommages (ne fonctionne que pour un seul fichier).

note: type: Plain text
en: Print out the ref names of any commits that are shown. If 'short' is specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and 'refs/remotes/' will not be printed. If 'full' is specified, the full ref name (including prefix) will be printed. If 'auto' is specified, then if the output is going to a terminal, the ref names are shown as if 'short' were given, otherwise no ref names are shown. The option `--decorate` is short-hand for `--decorate=short`.  Default to configuration value of `log.decorate` if configured, otherwise, `auto`.
fr: Imprimer les noms de réference des commits affichés. Si 'short' est spécifié, les préfixes des noms de référence 'refs/heads/', 'refs/tags/' et 'refs/remotes/' ne seront pas affichés. Si 'full' est spécifié, le nom complet de la référence (y compris le préfixe) sera imprimé. Si 'auto' est spécifié, alors si la sortie va à un terminal, les noms de référence sont affichés comme si 'short' ont été donné, sinon aucun nom de référence n'est affiché. L'option `--decorate` est l'abréviation de `--decorate=short`. La valeur par défaut est la valeur de configuration de `log.decorate` si elle est configurée, sinon, `auto`.

note: type: Labeled list
en: --decorate-refs=<pattern>
fr: --decorate-refs=<motif>

note: type: Labeled list
en: --decorate-refs-exclude=<pattern>
fr: --decorate-refs-exclude=<motif>

note: type: Plain text
en: If no `--decorate-refs` is given, pretend as if all refs were included.  For each candidate, do not use it for decoration if it matches any patterns given to `--decorate-refs-exclude` or if it doesn't match any of the patterns given to `--decorate-refs`. The `log.excludeDecoration` config option allows excluding refs from the decorations, but an explicit `--decorate-refs` pattern will override a match in `log.excludeDecoration`.
fr: Si aucun `--decorate-refs' n'est donné, faire comme si tous les refs étaient inclus.  Pour chaque candidat, ne pas l'utiliser pour la décoration s'il correspond à un motif fourni à `--decorate-refs-exclude' ou s'il ne correspond à aucun des motifs fournis à `--decorate-refs'. L'option de configuration `log.excludeDecoration` permet d'exclure les références des décorations, mais un motif explicite `--decorate-refs` remplacera une correspondance dans `log.excludeDecoration`.

note: type: Plain text
en: Print out the ref name given on the command line by which each commit was reached.
fr: Imprimer le nom de la référence donné sur la ligne de commande par lequel chaque commit a été atteint.

note: type: Plain text
en: Use mailmap file to map author and committer names and email addresses to canonical real names and email addresses. See linkgit:git-shortlog[1].
fr: Utiliser le fichier mailmap pour mapper les noms d'auteurs et de validateurs et les adresses email avec les vrais noms et adresses email canoniques. Voir linkgit:git-shortlog[1].

note: type: Plain text
en: Without this flag, `git log -p <path>...` shows commits that touch the specified paths, and diffs about the same specified paths.  With this, the full diff is shown for commits that touch the specified paths; this means that "<path>..." limits only commits, and doesn't limit diff for those commits.
fr: Sans ce drapeau, `git log -p <p <chemin>...` affiche les commits qui touchent les chemins spécifiés, et diffs sur les mêmes chemins spécifiés.  Avec ceci, le diff complet est affiché pour les commits qui touchent les chemins spécifiés ; cela signifie que "<chemin>..." limite seulement les commits, et ne limite pas le diff pour ces commits.

note: type: Plain text
en: Note that this affects all diff-based output types, e.g. those produced by `--stat`, etc.
fr: Notez que cela affecte tous les types de sortie basés sur le diff, par exemple ceux produits par '---stat', etc.

note: type: Plain text
en: Include a line ``log size <number>'' in the output for each commit, where <number> is the length of that commit's message in bytes.  Intended to speed up tools that read log messages from `git log` output by allowing them to allocate space in advance.
fr: Inclure une ligne ''log size <nombre>'' dans la sortie pour chaque commit, où <nombre> est la longueur du message de ce commit en octets.  Destiné à accélérer les outils qui lisent les messages de journal de la sortie 'git log' en leur permettant d'allouer de l'espace à l'avance.

note: type: Labeled list
en: <revision range>
fr: <plage de révisions>

note: type: Plain text
en: Show only commits in the specified revision range.  When no <revision range> is specified, it defaults to `HEAD` (i.e. the whole history leading to the current commit).  `origin..HEAD` specifies all the commits reachable from the current commit (i.e. `HEAD`), but not from `origin`. For a complete list of ways to spell <revision range>, see the 'Specifying Ranges' section of linkgit:gitrevisions[7].
fr: Afficher uniquement les commits dans la plage de révision spécifiée.  Lorsqu'aucune <plage-de-révision> n'est spécifiée, elle vaut par défaut `HEAD` (c'est-à-dire tout l'historique menant au commit actuel).  `origin...HEAD` spécifie tous les commits accessibles depuis le commit courant (c-à-d `HEAD`), mais pas depuis `origin`. Pour une liste complète des façons d'épeler <plage-de-révision>, voir la section'Spécification des plages' de linkgit:gitrevisions[7].

note: type: Labeled list
en: [--] <path>...
fr: [--] <chemin>...

note: type: Plain text
en: Show only commits that are enough to explain how the files that match the specified paths came to be.  See 'History Simplification' below for details and other simplification modes.
fr: Afficher uniquement les commits qui sont suffisants pour expliquer comment les fichiers qui correspondent aux chemins spécifiés sont venus à exister.  Voir 'Simplification de l'historique' ci-dessous pour plus de détails et d'autres modes de simplification.

note: type: Plain text
en: Paths may need to be prefixed with `--` to separate them from options or the revision range, when confusion arises.
fr: Les chemins peuvent avoir besoin d'être préfixés avec `--` pour les séparer des options ou de la plage de révision, en cas de confusion.

note: type: Title -
en: DIFF FORMATTING
fr: MISE EN FORME DIFF

note: type: Plain text
en: By default, `git log` does not generate any diff output. The options below can be used to show the changes made by each commit.
fr: Par défaut, `git log` ne génère aucune sortie de diff. Les options ci-dessous peuvent être utilisées pour afficher les modifications faites par chaque commit.

note: type: Plain text
en: Note that unless one of `--diff-merges` variants (including short `-m`, `-c`, and `--cc` options) is explicitly given, merge commits will not show a diff, even if a diff format like `--patch` is selected, nor will they match search options like `-S`. The exception is when `--first-parent` is in use, in which case `first-parent` is the default format.
fr: Notez que sauf si une des variantes de `--diff-merges` (incluant les options courtes`-m`, `-c` et `--cc`) est donnée explicitement, les commits de fusion ne vont pas afficher de diff, même si un format de diff tel que `--patch` est sélectionné, et ils ne correspondront pas aux options telles que `-S`. L'exception sera lors de l'utilisation de `--first-parent`, pour laquelle le format par défaut est `first-parent`.

note: type: Plain text
en: Show the whole commit history, but skip any merges
fr: Affiche tout l'historique des commits, mais saute toutes les fusions

note: type: Plain text
en: Show all commits since version 'v2.6.12' that changed any file in the `include/scsi` or `drivers/scsi` subdirectories
fr: Affiche tous les commits depuis la version 'v2.6.12' qui a modifié n'importe quel fichier dans les sous-directeurs 'include/scsi' ou 'drivers/scsi'

note: type: Plain text
en: Show the changes during the last two weeks to the file 'gitk'.  The `--` is necessary to avoid confusion with the *branch* named 'gitk'
fr: Affiche les modifications au cours des deux dernières semaines au fichier 'gitk'.  Le '--' est nécessaire pour éviter toute confusion avec la branche 'nommée 'gitk'

note: type: Plain text
en: Show the commits that are in the "test" branch but not yet in the "release" branch, along with the list of paths each commit modifies.
fr: Affiche les commits qui se trouvent dans la branche "test" mais pas encore dans la branche "libération", ainsi que la liste des chemins que chaque commit modifie.

note: type: Plain text
en: Shows the commits that changed `builtin/rev-list.c`, including those commits that occurred before the file was given its present name.
fr: Affiche les commits qui ont changé 'builtin/rev-list.c', y compris les commits qui se sont produits avant que le fichier ne soit appelé par son nom actuel.

note: type: Plain text
en: Shows all commits that are in any of local branches but not in any of remote-tracking branches for 'origin' (what you have that origin doesn't).
fr: Affiche tous les commits qui sont dans l'une des branches locales, mais pas dans l'une des branches de suivi à distance pour « origin » (ce que vous avez que cette origine n'est pas).

note: type: Plain text
en: Shows all commits that are in local master but not in any remote repository master branches.
fr: Affiche tous les commits qui sont dans la branche master locale mais pas dans les branches master du dépôt distant.

note: type: Plain text
en: Shows the history including change diffs, but only from the ``main branch'' perspective, skipping commits that come from merged branches, and showing full diffs of changes introduced by the merges.  This makes sense only when following a strict policy of merging all topic branches when staying on a single integration branch.
fr: Affiche l'historique, y compris les diffs de changement, mais seulement du point de vue de la « branche principale », en sautant les commits qui proviennent de branches fusionnées, et en montrant des diffs complets des changements introduits par les fusions.  Cela n'a de sens que lorsqu'il s'agit de suivre une politique stricte de fusion de toutes les branches thématiques lorsqu'on reste sur une seule branche d'intégration.

note: type: Plain text
en: Shows how the function `main()` in the file `main.c` evolved over time.
fr: Montre comment la fonction 'main()' dans le fichier 'main.c'a évolué au fil du temps.

note: type: Plain text
en: Limits the number of commits to show to 3.
fr: Limite le nombre de commits à afficher à 3.

note: type: Plain text
en: See linkgit:git-config[1] for core variables and linkgit:git-diff[1] for settings related to diff generation.
fr: Voir linkgit:git-config[1] pour les variables de base et linkgit:git-diff[1] pour les paramètres liés à la génération diff.

note: type: Plain text
en: Default for the `--format` option.  (See 'Pretty Formats' above.)  Defaults to `medium`.
fr: La valeur par défaut de l 'option `- -format`.(voir ci-dessus « Mise en forme ») par défaut `medium`.

note: type: Plain text
en: Encoding to use when displaying logs.  (See 'Discussion' above.)  Defaults to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise.
fr: Encodage à utiliser lors de l'affichage des journaux.  (Voir 'Discussion' ci-dessus.)  Par défaut à la valeur de 'i18n.commitEncoding' si elle est fixée, et UTF-8 autrement.

note: type: Plain text
en: Default format for human-readable dates.  (Compare the `--date` option.)  Defaults to "default", which means to write dates like `Sat May 8 19:35:34 2010 -0500`.
fr: Format par défaut pour les dates humainement lisibles.  (Compare l'option '--date'.)  Par défaut à "défaut", ce qui signifie écrire des dates comme `Sat May 8 19:35:34 2010 -0500`.

note: type: Plain text
en: If the format is set to "auto:foo" and the pager is in use, format "foo" will be the used for the date format. Otherwise "default" will be used.
fr: Si le format est réglé sur "auto:foo" et que le paginateur est utilisé, le format "foo" sera utilisé pour le format de date. Sinon, "default" sera utilisé.

note: type: Plain text
en: If `true`, `git log` will act as if the `--follow` option was used when a single <path> is given.  This has the same limitations as `--follow`, i.e. it cannot be used to follow multiple files and does not work well on non-linear history.
fr: Si `true`, `git log` agira comme si l'option `--follow' était utilisée lorsqu'un seul <chemin> est donné.  Ceci a les mêmes limitations que `--follow', c'est-à-dire qu'il ne peut pas être utilisé pour suivre plusieurs fichiers et ne fonctionne pas bien sur un historique non linéaire.

note: type: Plain text
en: If `false`, `git log` and related commands will not treat the initial commit as a big creation event.  Any root commits in `git log -p` output would be shown without a diff attached.  The default is `true`.
fr: Si `false`, `git log` et les commandes associées ne traiteront pas le commit initial comme un grand événement de création.  Tout commit racine dans la sortie `git log -p` serait affiché sans diff attaché.  La valeur par défaut est `true`.

note: type: Plain text
en: If `true`, `git log` and related commands will act as if the `--show-signature` option was passed to them.
fr: Si `true`, `git log` et les commandes associées agiront comme si l'option `--show-signature` leur était passée.

note: type: Plain text
en: See linkgit:git-shortlog[1].
fr: Voir linkgit:git-shortlog[1].

note: type: Plain text
en: Which refs, in addition to the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from when showing commit messages with the `log` family of commands.  See linkgit:git-notes[1].
fr: Quelles refs, en plus de la définition par défaut par `core.notesRef` ou `GIT-NOTES-REF`, depuis lequelles lire les notes lors de l'affichage des messages de validation avec la famille de commandes `log`.  Voir linkgit:git-notes[1].

note: type: Plain text
en: May be an unabbreviated ref name or a glob and may be specified multiple times.  A warning will be issued for refs that do not exist, but a glob that does not match any refs is silently ignored.
fr: Peut être un nom de référence non abrégé ou un glob et peut être spécifié plusieurs fois.  Un avertissement sera émis pour les références qui n'existent pas, mais un glob qui ne correspond à aucune référence est ignoré en silence.

note: type: Plain text
en: This setting can be disabled by the `--no-notes` option, overridden by the `GIT_NOTES_DISPLAY_REF` environment variable, and overridden by the `--notes=<ref>` option.
fr: Ce paramètre peut être désactivé par l'option `--no-notes`, remplacé par la variable d'environnement `GIT_NOTES_DISPLAY_REF`, et remplacé par l'option `--notes=<ref>`.

note: type: Plain text
en: git-ls-files - Show information about files in the index and the working tree
fr: git-ls-files - Affiche des informations sur les fichiers de l'index et de l'arbre de travail

note: type: Plain text
en: Show cached files in the output (default)
fr: Afficher les fichiers mis en cache dans la sortie (défaut)

note: type: Plain text
en: Show deleted files in the output
fr: Afficher les fichiers supprimés dans la sortie

note: type: Plain text
en: Show modified files in the output
fr: Afficher les fichiers modifiés dans la sortie

note: type: Labeled list
en: -x <pattern>
fr: -x <motif>

note: type: Labeled list
en: -X <file>
fr: -X <fichier>

note: type: Labeled list
en: --exclude-from=<file>
fr: --exclude-from=<fichier>

note: type: Labeled list
en: --exclude-per-directory=<file>
fr: --exclude-per-directory=<fichier>

note: type: Plain text
en: removed/deleted
fr: supprimé/effacé

note: type: Plain text
en: modified/changed
fr: modifié/changé

note: type: Title ~
en: other
fr: autre

note: type: Plain text
en: Instead of showing the full 40-byte hexadecimal object lines, show the shortest prefix that is at least '<n>' hexdigits long that uniquely refers the object.  Non default number of digits can be specified with --abbrev=<n>.
fr: Au lieu d'afficher le nom complet hexadécimal de 40 octets de l'objet, afficher le préfixe le plus court, d'une longueur d'au moins '<n>' chiffres hexadécimaux, qui renvoie à l'objet de manière unique. Le nombre de chiffres peut être spécifié avec `--abbrev=<n>`.

note: type: Labeled list
en: <file>
fr: <fichier>

note: type: Plain text
en: 'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]
    	      [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
    	      [--symref] [<repository> [<refs>...]]
fr: 'git ls-remote' [--heads] [--tags] [--refs] [--upload-pack=<exec>]
                         [-q | --quiet] [--exit-code] [--get-url] [--sort=<clé>}
                         [--symref] [<dépôt> [<références>...]]

note: type: Plain text
en: Recurse into sub-trees.
fr: Parcourir récursivement les sous-arbres.

note: type: Labeled list
en: [<path>...]
fr: [<chemin>...]

note: type: Title -
en: Output Format
fr: Format de sortie

note: type: Plain text
en: git-mailinfo - Extracts patch and authorship from a single e-mail message
fr: git-mailinfo - Extrait la rustine et l'information de d'auteur depuis un simple message de courriel

note: type: Plain text
en: The valid actions are:
fr: Les actions valides sont :

note: type: Labeled list
en: <patch>
fr: <rustine>

note: type: Plain text
en: Mbox file to split.  If not given, the mbox is read from the standard input.
fr: Fichier mbox à découper. Si aucun n'est fourni, le mbox est lu depuis l'entrée standard.

note: type: Labeled list
en: -o<directory>
fr: -o<répertoire>

note: type: Plain text
en: git-merge-base - Find as good common ancestors as possible for a merge
fr: git-merge-base - Trouve un ancêtre aussi bon que possible pour une fusion

note: type: Title -
en: OPERATION MODES
fr: MODES D'OPÉRATION

note: type: Plain text
en: Quiet; do not warn about conflicts.
fr: Silencieux ; ne pas avertir à propos des conflits.

note: type: Plain text
en: Examples:
fr: Exemples :

note: type: Plain text
en: 'git merge-one-file'
fr: 'git-merge-one-file'

note: type: Title -
en: FUNCTIONS
fr: FONCTIONS

note: type: Plain text
en: git-mergetool - Run merge conflict resolution tools to resolve merge conflicts
fr: git-mergetool - Lancer les outils de résolution de conflit de fusion pour résoudre les conflits de fusion

note: type: Plain text
en: 'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...]
fr: 'git mergetool' [--tool=<outil>] [-y | --[no-]prompt] [<fichier>...]

note: type: Plain text
en: Use `git mergetool` to run one of several merge utilities to resolve merge conflicts.  It is typically run after 'git merge'.
fr: Utilisez `git mergetool` pour lancer l'un des nombreux utilitaires de fusion afin de résoudre les conflits de fusion.  Il est généralement lancé après 'git merge'.

note: type: Plain text
en: If one or more <file> parameters are given, the merge tool program will be run to resolve differences on each file (skipping those without conflicts).  Specifying a directory will include all unresolved files in that path.  If no <file> names are specified, 'git mergetool' will run the merge tool program on every file with merge conflicts.
fr: Si un ou plusieurs paramètres <fichier> sont donnés, le programme outil de fusion sera exécuté pour résoudre les différences sur chaque fichier (en sautant ceux qui n'ont pas de conflit).  La spécification d'un répertoire inclura tous les fichiers non résolus dans ce chemin.  Si aucun <fichier> nom n'est spécifié, 'git mergetool' lancera le programme de fusion sur chaque fichier ayant des conflits de fusion.

note: type: Plain text
en: Use the merge resolution program specified by <tool>.  Valid values include emerge, gvimdiff, kdiff3, meld, vimdiff, and tortoisemerge. Run `git mergetool --tool-help` for the list of valid <tool> settings.
fr: Utiliser le programme de résolution de fusion spécifié par <outil>.  Les valeurs valides comprennent emerge, gvimdiff, kdiff3, meld, vimdiff et tortoisemerge. Lancez `git mergetool --tool-help` pour obtenir la liste des paramètres <outil> valides.

note: type: Plain text
en: If a merge resolution program is not specified, 'git mergetool' will use the configuration variable `merge.tool`.  If the configuration variable `merge.tool` is not set, 'git mergetool' will pick a suitable default.
fr: Si un programme de résolution de fusion n'est pas spécifié, 'git mergetool' utilisera la variable de configuration `merge.tool`.  Si la variable de configuration `merge.tool` n'est pas définie, 'git mergetool' choisira une valeur par défaut appropriée.

note: type: Plain text
en: You can explicitly provide a full path to the tool by setting the configuration variable `mergetool.<tool>.path`. For example, you can configure the absolute path to kdiff3 by setting `mergetool.kdiff3.path`. Otherwise, 'git mergetool' assumes the tool is available in PATH.
fr: Vous pouvez explicitement fournir un chemin complet vers l'outil en définissant la variable de configuration `mergetool.<outil>.path`. Par exemple, vous pouvez configurer le chemin absolu vers kdiff3 en définissant `mergetool.kdiff3.path`. Sinon, 'git mergetool' suppose que l'outil est disponible dans PATH.

note: type: Plain text
en: Instead of running one of the known merge tool programs, 'git mergetool' can be customized to run an alternative program by specifying the command line to invoke in a configuration variable `mergetool.<tool>.cmd`.
fr: Au lieu d'exécuter un des programmes connus de l'outil de fusion, 'git mergetool' peut être personnalisé pour exécuter un programme alternatif en spécifiant la ligne de commande à invoquer dans une variable de configuration `mergetool.<outil>.cmd`.

note: type: Plain text
en: When 'git mergetool' is invoked with this tool (either through the `-t` or `--tool` option or the `merge.tool` configuration variable) the configured command line will be invoked with `$BASE` set to the name of a temporary file containing the common base for the merge, if available; `$LOCAL` set to the name of a temporary file containing the contents of the file on the current branch; `$REMOTE` set to the name of a temporary file containing the contents of the file to be merged, and `$MERGED` set to the name of the file to which the merge tool should write the result of the merge resolution.
fr: Lorsque 'git mergetool' est invoqué avec cet outil (soit par l'option `-t` ou `--tool` ou par la variable de configuration `merge.tool`) la ligne de commande configurée sera invoquée avec `$BASE` défini au nom d'un fichier temporaire contenant la base commune pour la fusion, si disponible ; `$LOCAL` défini au nom d'un fichier temporaire contenant le contenu du fichier sur la branche courante ; `$REMOTE` défini au nom d'un fichier temporaire contenant le contenu du fichier à fusionner, et `$MERGED` défini au nom du fichier dans lequel l'outil de fusion doit écrire le résultat de la résolution de la fusion.

note: type: Plain text
en: If the custom merge tool correctly indicates the success of a merge resolution with its exit code, then the configuration variable `mergetool.<tool>.trustExitCode` can be set to `true`.  Otherwise, 'git mergetool' will prompt the user to indicate the success of the resolution after the custom tool has exited.
fr: Si l'outil de fusion personnalisé indique correctement le succès d'une résolution de fusion dans son code de sortie, alors la variable de configuration `mergetool.<outil>.trustExitCode` peut être définie à `true`.  Sinon, 'git mergetool' demandera à l'utilisateur d'indiquer le succès de la résolution après que l'outil personnalisé soit sorti.

note: type: Plain text
en: Print a list of merge tools that may be used with `--tool`.
fr: Afficher une liste des outils de fusion utilisables avec `--tool`.

note: type: Plain text
en: Don't prompt before each invocation of the merge resolution program.  This is the default if the merge resolution program is explicitly specified with the `--tool` option or with the `merge.tool` configuration variable.
fr: Ne pas demander avant chaque invocation du programme de résolution de fusion.  C'est la valeur par défaut si le programme de résolution de fusion est explicitement spécifié avec l'option `--tool` ou avec la variable de configuration `merge.tool`.

note: type: Plain text
en: Prompt before each invocation of the merge resolution program to give the user a chance to skip the path.
fr: Demander avant chaque invocation du programme de résolution de fusion pour donner à l'utilisateur une chance de sauter le chemin.

note: type: Plain text
en: When 'git-mergetool' is invoked with the `-g` or `--gui` option the default merge tool will be read from the configured `merge.guitool` variable instead of `merge.tool`. If `merge.guitool` is not set, we will fallback to the tool configured under `merge.tool`.
fr: Lorsque 'git-mergetool' est invoqué avec l'option `-g` ou `--gui`, l'outil de fusion par défaut sera lu à partir de la variable `merge.guitool` configurée au lieu de `merge.tool`. Si `merge.guitool` n'est pas défini, nous reviendrons à l'outil configuré sous `merge.tool`.

note: type: Plain text
en: This overrides a previous `-g` or `--gui` setting and reads the default merge tool will be read from the configured `merge.tool` variable.
fr: Ceci prend le pas sur un réglage précédent de `-g` ou `--gui` et lit que l'outil de fusion par défaut à partir de la variable `merge.tool` configurée.

note: type: Plain text
en: Process files in the order specified in the <orderfile>, which has one shell glob pattern per line.  This overrides the `diff.orderFile` configuration variable (see linkgit:git-config[1]).  To cancel `diff.orderFile`, use `-O/dev/null`.
fr: Traiter les fichiers dans l'ordre spécifié dans le <fichier d'ordre>, qui a un motif glob shell par ligne.  Ceci remplace la variable de configuration `diff.orderFile` (voir linkgit:git-config[1]).  Pour annuler `diff.orderFile`, utilisez `-O/dev/null`.

note: type: Title -
en: TEMPORARY FILES
fr: FICHIERS TEMPORAIRES

note: type: Plain text
en: `git mergetool` creates `*.orig` backup files while resolving merges.  These are safe to remove once a file has been merged and its `git mergetool` session has completed.
fr: `git mergetool` crée des fichiers de sauvegarde `*.orig` lors de la résolution des fusions.  Il est possible de les supprimer en toute sécurité une fois qu'un fichier a été fusionné et que sa session `git mergetool` est terminée.

note: type: Plain text
en: Setting the `mergetool.keepBackup` configuration variable to `false` causes `git mergetool` to automatically remove the backup as files are successfully merged.
fr: Définir la variable de configuration `mergetool.keepBackup` sur` false` fait que `git mergetool` supprime automatiquement la sauvegarde lorsque les fichiers sont correctement fusionnés.

note: type: Plain text
en: git-merge - Join two or more development histories together
fr: git-merge - Fusionne deux ou plusieurs historiques de développement ensemble

note: type: Plain text
en: 'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
    	[--no-verify] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
    	[--[no-]allow-unrelated-histories]
    	[--[no-]rerere-autoupdate] [-m <msg>] [-F <file>] [<commit>...]
    'git merge' (--continue | --abort | --quit)
fr: 'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
    	[--no-verify] [-s <strategie>] [-X <option-de-strategie>] [-S[<id-clé>]]
    	[--[no-]allow-unrelated-histories]
    	[--[no-]rerere-autoupdate] [-m <msg>] [-F <fichier>] [<commit>...]
    'git merge' (--continue | --abort | --quit)

note: type: Plain text
en: Incorporates changes from the named commits (since the time their histories diverged from the current branch) into the current branch.  This command is used by 'git pull' to incorporate changes from another repository and can be used by hand to merge changes from one branch into another.
fr: Intègre les modifications des commits nommés (depuis le moment où leur historique a divergé de la branche actuelle) dans la branche actuelle.  Cette commande est utilisée par 'git pull' pour incorporer les modifications d'un autre dépôt et peut être utilisée à la main pour fusionner les modifications d'une branche dans une autre.

note: type: Plain text
en: Assume the following history exists and the current branch is "`master`":
fr: Supposons que l'historique suivant existe et que la branche actuelle est `master` :

note: type: delimited block -
en: 	  A---B---C topic
    	 /
        D---E---F---G master
fr: 	  A---B---C theme
    	 /
        D---E---F---G master

note: type: Plain text
en: Then "`git merge topic`" will replay the changes made on the `topic` branch since it diverged from `master` (i.e., `E`) until its current commit (`C`) on top of `master`, and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
fr: Alors, "`git merge theme`" rejouera les modifications apportées à la branche "theme" puisqu’elle s’est écartée de `master` (c’est-à-dire `E`) jusqu’à son commit actuel (`C`) par dessus `master`, et enregistrera le résultat dans un nouveau commit comprenant les noms des deux parents et un message de validation de l’utilisateur décrivant les modifications.

note: type: delimited block -
en: 	  A---B---C topic
    	 /         \
        D---E---F---G---H master
fr: 	  A---B---C theme
    	 /         \
        D---E---F---G---H master

note: type: Plain text
en: The second syntax ("`git merge --abort`") can only be run after the merge has resulted in conflicts. 'git merge --abort' will abort the merge process and try to reconstruct the pre-merge state. However, if there were uncommitted changes when the merge started (and especially if those changes were further modified after the merge was started), 'git merge --abort' will in some cases be unable to reconstruct the original (pre-merge) changes. Therefore:
fr: La seconde syntaxe ("`git merge --abort`") ne peut être exécutée qu'après que la fusion ait entraîné des conflits. 'git merge --abort' annulera le processus de fusion et tentera de reconstruire l'état antérieur à la fusion. Cependant, s'il y a eu des changements non validés au début de la fusion (et surtout si ces changements ont été modifiés après le début de la fusion), 'git merge --abort' sera dans certains cas incapable de reconstruire les modifications originales (avant la fusion). Par conséquent :

note: type: Plain text
en: *Warning*: Running 'git merge' with non-trivial uncommitted changes is
    discouraged: while possible, it may leave you in a state that is hard to
    back out of in the case of a conflict.
fr: *Attention* : l'exécution de 'git merge' avec des modifications non triviales non validées est
    découragée : bien que possible, elle peut vous laisser dans un état duquel il est difficile de revenir en arrière
    en cas de conflit.

note: type: Plain text
en: The third syntax ("`git merge --continue`") can only be run after the merge has resulted in conflicts.
fr: La troisième syntaxe ("`git merge --continue`") ne peut être exécutée qu'après que la fusion ait entraîné des conflits.

note: type: Plain text
en: Set the commit message to be used for the merge commit (in case one is created).
fr: Définir le message de commit à utiliser pour le commit de fusion (dans le cas où un commit est créé).

note: type: Plain text
en: If `--log` is specified, a shortlog of the commits being merged will be appended to the specified message.
fr: Si `--log` est spécifié, un journal court des commits en cours de fusion sera ajouté au message spécifié.

note: type: Plain text
en: The 'git fmt-merge-msg' command can be used to give a good default for automated 'git merge' invocations. The automated message can include the branch description.
fr: La commande 'git fmt-merge-msg' peut être utilisée pour donner une bonne valeur par défaut pour les invocations automatisées de 'git merge'. Le message automatisé peut inclure la description de la branche.

note: type: Plain text
en: Read the commit message to be used for the merge commit (in case one is created).
fr: Lire le message de commit à utiliser pour le commit de fusion (dans le cas où un commit est créé).

note: type: Plain text
en: Silently overwrite ignored files from the merge result. This is the default behavior. Use `--no-overwrite-ignore` to abort.
fr: Écraser silencieusement les fichiers ignorés du résultat de la fusion. C'est le comportement par défaut. Utilisez `--no overwrite-ignore` pour abandonner.

note: type: Plain text
en: Abort the current conflict resolution process, and try to reconstruct the pre-merge state. If an autostash entry is present, apply it to the worktree.
fr: Abandonner le processus actuel de résolution des conflits, et essayer de reconstruire l'état antérieur à la fusion. Si une entrée de remisage automatique est présente, l'appliquer à l'arbre de travail.

note: type: Plain text
en: If there were uncommitted worktree changes present when the merge started, 'git merge --abort' will in some cases be unable to reconstruct these changes. It is therefore recommended to always commit or stash your changes before running 'git merge'.
fr: S'il y avait des modifications non validées dans l'arbre de travail lorsque la fusion a commencé, `git merge --abort` sera dans certains cas incapable de reconstruire ces changements. Il est donc recommandé de toujours valider ou remiser vos modifications avant de lancer 'git merge'.

note: type: Plain text
en: 'git merge --abort' is equivalent to 'git reset --merge' when `MERGE_HEAD` is present unless `MERGE_AUTOSTASH` is also present in which case 'git merge --abort' applies the stash entry to the worktree whereas 'git reset --merge' will save the stashed changes in the stash list.
fr: 'git merge --abort' est équivalent à 'git reset --merge' quand `MERGE_HEAD` est présent à moins que `MERGE_AUTOSTASH` soit également présent, auquel cas 'git merge --abort' applique l'entrée de la remisage à l'arbre de travail alors que 'git reset --merge' sauvegardera les changements remisés dans la liste de remisage.

note: type: Plain text
en: Forget about the current merge in progress. Leave the index and the working tree as-is. If `MERGE_AUTOSTASH` is present, the stash entry will be saved to the stash list.
fr: Oublier la fusion en cours. Laisser l'index et l'arbre de travail en l'ếtat. Si `MERGE_AUTOSTASH` est présent, l'entrée de la remisage sera sauvegardée dans la liste des remisages.

note: type: Plain text
en: After a 'git merge' stops due to conflicts you can conclude the merge by running 'git merge --continue' (see "HOW TO RESOLVE CONFLICTS" section below).
fr: Après l'arrêt d'un 'git merge' en raison de conflits, vous pouvez conclure la fusion en lançant 'git merge --continue' (voir la section "COMMENT RÉSOUDRE LES CONFLITS" ci-dessous).

note: type: Plain text
en: Commits, usually other branch heads, to merge into our branch.  Specifying more than one commit will create a merge with more than two parents (affectionately called an Octopus merge).
fr: Les commits, généralement les sommets des autres branches, à fusionner avec notre branche.  En spécifiant plus d'un commit, on crée une fusion avec plus de deux parents (affectueusement appelée fusion Octopus).

note: type: Plain text
en: If no commit is given from the command line, merge the remote-tracking branches that the current branch is configured to use as its upstream.  See also the configuration section of this manual page.
fr: Si aucun commit n'est donné sur la ligne de commande, fusionner les branches de suivi à distance que la branche actuelle est configurée pour utiliser comme sa branche amont.  Voir aussi la section configuration de cette page de manuel.

note: type: Plain text
en: When `FETCH_HEAD` (and no other commit) is specified, the branches recorded in the `.git/FETCH_HEAD` file by the previous invocation of `git fetch` for merging are merged to the current branch.
fr: Lorsque `FETCH_HEAD` (et aucun autre commit) est spécifié, les branches enregistrées dans le fichier `.git/FETCH_HEAD` par l'invocation précédente de `git fetch` pour la fusion sont fusionnées à la branche courante.

note: type: Title -
en: PRE-MERGE CHECKS
fr: VÉRIFICATIONS AVANT LA FUSION

note: type: Plain text
en: Before applying outside changes, you should get your own work in good shape and committed locally, so it will not be clobbered if there are conflicts.  See also linkgit:git-stash[1].  'git pull' and 'git merge' will stop without doing anything when local uncommitted changes overlap with files that 'git pull'/'git merge' may need to update.
fr: Avant d'appliquer des modifications extérieures, vous devez faire en sorte que votre propre travail soit en bon état et validé localement, afin qu'il ne soit pas écrasé en cas de conflits.  Voir aussi linkgit:git-stash[1]. 'git pull' et 'git merge' s'arrêteront sans rien faire lorsque des modifications locales non validées chevaucheront des fichiers que 'git pull'/'git merge' devront mettre à jour.

note: type: Plain text
en: To avoid recording unrelated changes in the merge commit, 'git pull' and 'git merge' will also abort if there are any changes registered in the index relative to the `HEAD` commit.  (Special narrow exceptions to this rule may exist depending on which merge strategy is in use, but generally, the index must match HEAD.)
fr: Pour éviter d'enregistrer des modifications sans rapport dans le commit de fusion, 'git pull' et 'git merge' seront également annulés s'il y a des modifications enregistrées dans l'index par rapport au commit `HEAD`.  (Des exceptions rares à cette règle peuvent exister selon la stratégie de fusion utilisée, mais en général, l'index doit correspondre à HEAD).

note: type: Plain text
en: If all named commits are already ancestors of `HEAD`, 'git merge' will exit early with the message "Already up to date."
fr: Si tous les commit nommés sont déjà des ancêtres de `HEAD`, 'git merge' sortira plus tôt avec le message « Déjà à jour ».

note: type: Title -
en: FAST-FORWARD MERGE
fr: FUSION EN AVANCE RAPIDE

note: type: Plain text
en: Often the current branch head is an ancestor of the named commit.  This is the most common case especially when invoked from 'git pull': you are tracking an upstream repository, you have committed no local changes, and now you want to update to a newer upstream revision.  In this case, a new commit is not needed to store the combined history; instead, the `HEAD` (along with the index) is updated to point at the named commit, without creating an extra merge commit.
fr: Souvent, le sommet de la branche actuelle est un ancêtre du commit nommé.  C'est le cas le plus courant, surtout lorsqu'il est invoqué depuis 'git pull' : vous suivez un dépôt amont, vous n'avez pas validé de modifications locales, et vous voulez maintenant mettre à jour vers une révision amont plus récente.  Dans ce cas, un nouveau commit n'est pas nécessaire pour stocker l'historique combiné ; à la place, la `HEAD` (avec l'index) est mise à jour pour pointer vers le commit nommé, sans créer un commit de fusion supplémentaire.

note: type: Plain text
en: This behavior can be suppressed with the `--no-ff` option.
fr: Ce comportement peut être supprimé avec l'option `--no-off`.

note: type: Title -
en: TRUE MERGE
fr: VÉRITABLE FUSION

note: type: Plain text
en: Except in a fast-forward merge (see above), the branches to be merged must be tied together by a merge commit that has both of them as its parents.
fr: Sauf dans le cas d'une fusion en avance rapide (voir ci-dessus), les branches à fusionner doivent être liées par un commit de fusion qui a pour parents les deux branches.

note: type: Plain text
en: A merged version reconciling the changes from all branches to be merged is committed, and your `HEAD`, index, and working tree are updated to it.  It is possible to have modifications in the working tree as long as they do not overlap; the update will preserve them.
fr: Une version fusionnée réconciliant les changements de toutes les branches à fusionner est validées, et votre `HEAD`, votre index et votre arbre de travail sont mis à jour en conséquence.  Il est possible d'avoir des modifications dans l'arbre de travail tant qu'elles ne se chevauchent pas ; la mise à jour les préservera.

note: type: Plain text
en: When it is not obvious how to reconcile the changes, the following happens:
fr: Lorsqu'il n'est pas évident de réconcilier les modifications, voici ce qui se passe :

note: type: Plain text
en: The `HEAD` pointer stays the same.
fr: Le pointeur `HEAD` reste le même.

note: type: Plain text
en: The `MERGE_HEAD` ref is set to point to the other branch head.
fr: La référence `MERGE_HEAD` est définie pour pointer vers l'autre tête de branche.

note: type: Plain text
en: Paths that merged cleanly are updated both in the index file and in your working tree.
fr: Les chemins qui ont été fusionnés proprement sont mis à jour à la fois dans le fichier d'index et dans votre arbre de travail.

note: type: Plain text
en: For conflicting paths, the index file records up to three versions: stage 1 stores the version from the common ancestor, stage 2 from `HEAD`, and stage 3 from `MERGE_HEAD` (you can inspect the stages with `git ls-files -u`).  The working tree files contain the result of the "merge" program; i.e. 3-way merge results with familiar conflict markers `<<<` `===` `>>>`.
fr: En cas de conflit de chemins, le fichier d'index enregistre jusqu'à trois versions : l'étape 1 stocke la version de l'ancêtre commun, l'étape 2 de `HEAD`, et l'étape 3 de `MERGE_HEAD` (vous pouvez inspecter les étapes avec `git ls-files -u`).  Les fichiers de l'arbre de travail contiennent le résultat du programme "merge", c'est-à-dire les résultats de la fusion à 3 points avec les marqueurs de conflit familiers `<<<` `===` `>>>`.

note: type: Plain text
en: No other changes are made.  In particular, the local modifications you had before you started merge will stay the same and the index entries for them stay as they were, i.e. matching `HEAD`.
fr: Aucune autre modification n'est apportée.  En particulier, les modifications locales que vous aviez avant de commencer la fusion resteront les mêmes et les entrées de l'index qui les concernent resteront telles quelles, c'est-à-dire correspondant à `HEAD`.

note: type: Plain text
en: If you tried a merge which resulted in complex conflicts and want to start over, you can recover with `git merge --abort`.
fr: Si vous avez essayé une fusion qui a donné lieu à des conflits complexes et que vous voulez recommencer, vous pouvez vous remettre à zéro avec `git merge --abort`.

note: type: Title -
en: MERGING TAG
fr: LA FUSION D'ÉTIQUETTE

note: type: Plain text
en: When merging an annotated (and possibly signed) tag, Git always creates a merge commit even if a fast-forward merge is possible, and the commit message template is prepared with the tag message.  Additionally, if the tag is signed, the signature check is reported as a comment in the message template. See also linkgit:git-tag[1].
fr: Lors de la fusion d'une étiquette annotée (et éventuellement signée), Git crée toujours un commit de fusion même si une fusion en avance rapide est possible, et le modèle de message de validation est préparé avec le message de l'étiquette.  De plus, si l'étiquette est signée, la vérification de la signature est signalée sous forme de commentaire dans le modèle de message. Voir aussi linkgit:git-tag[1].

note: type: Plain text
en: When you want to just integrate with the work leading to the commit that happens to be tagged, e.g. synchronizing with an upstream release point, you may not want to make an unnecessary merge commit.
fr: Lorsque vous souhaitez simplement intégrer le travail menant au commit qui se trouve être étiqueté, par exemple lors de la synchronisation avec un point de publication en amont, vous ne voudrez peut-être pas faire un commit de fusion inutile.

note: type: Plain text
en: In such a case, you can "unwrap" the tag yourself before feeding it to `git merge`, or pass `--ff-only` when you do not have any work on your own. e.g.
fr: Dans ce cas, vous pouvez "déballer" l'étiquette vous-même avant de la donner à `git merge`, ou passer `--ff only` lorsque vous n'avez pas de travail à faire vous-même par exemple

note: type: Title -
en: HOW CONFLICTS ARE PRESENTED
fr: COMMENT LES CONFLITS SONT PRÉSENTÉS

note: type: Plain text
en: During a merge, the working tree files are updated to reflect the result of the merge.  Among the changes made to the common ancestor's version, non-overlapping ones (that is, you changed an area of the file while the other side left that area intact, or vice versa) are incorporated in the final result verbatim.  When both sides made changes to the same area, however, Git cannot randomly pick one side over the other, and asks you to resolve it by leaving what both sides did to that area.
fr: Lors d'une fusion, les fichiers de l'arbre de travail sont mis à jour pour refléter le résultat de la fusion.  Parmi les modifications apportées à la version de l'ancêtre commun, celles qui ne se chevauchent pas (c'est-à-dire que vous avez modifié une zone du fichier alors que l'autre côté a laissé cette zone intacte, ou vice versa) sont incorporées directement dans le résultat final.  Cependant, lorsque les deux côtés ont apporté des modifications à la même zone, Git ne peut pas choisir au hasard un côté par rapport à l'autre, et vous demande de résoudre le problème en laissant ce que les deux côtés ont fait à cette zone.

note: type: Plain text
en: By default, Git uses the same style as the one used by the "merge" program from the RCS suite to present such a conflicted hunk, like this:
fr: Par défaut, Git utilise le même style que celui utilisé par le programme "merge" de la suite RCS pour présenter une telle section conflictuelle, comme ceci :

note: type: delimited block -
en: Here are lines that are either unchanged from the common
    ancestor, or cleanly resolved because only one side changed.
    <<<<<<< yours:sample.txt
    Conflict resolution is hard;
    let's go shopping.
    =======
    Git makes conflict resolution easy.
    >>>>>>> theirs:sample.txt
    And here is another line that is cleanly resolved or unmodified.
fr: Voici des lignes qui sont soit inchangées par rapport à l'ancêtre
    commun, ou résolues proprement car un seul côté a changé.
    <<<<<<< yours : exemple.txt
    La résolution des conflits est difficile ;
    allons faire du shopping.
    =======
    Git facilite la résolution des conflits.
    >>>>>>> theirs : exemple.txt
    Et voici une autre ligne qui est résolue proprement ou non modifiée.

note: type: Plain text
en: The area where a pair of conflicting changes happened is marked with markers `<<<<<<<`, `=======`, and `>>>>>>>`.  The part before the `=======` is typically your side, and the part afterwards is typically their side.
fr: La zone où une paire de modifications contradictoires s'est produite est marquée par les marqueurs `<<<<<<<`, `========`, et `>>>>>>>>>>``.  La partie qui précède le `=======` est généralement votre côté, et la partie qui suit est généralement leur côté.

note: type: Plain text
en: The default format does not show what the original said in the conflicting area.  You cannot tell how many lines are deleted and replaced with Barbie's remark on your side.  The only thing you can tell is that your side wants to say it is hard and you'd prefer to go shopping, while the other side wants to claim it is easy.
fr: Le format par défaut ne montre pas ce que l'original a dit dans la zone de conflit.  Vous ne pouvez pas savoir combien de lignes sont supprimées et remplacées par la remarque de Barbie à votre côté.  La seule chose que vous pouvez dire, c'est que votre côté veut dire que c'est difficile et que vous préférez faire du shopping, alors que l'autre côté veut prétendre que c'est facile.

note: type: Plain text
en: An alternative style can be used by setting the "merge.conflictStyle" configuration variable to "diff3".  In "diff3" style, the above conflict may look like this:
fr: Un autre style peut être utilisé en réglant la variable de configuration "merge.conflictStyle" sur "diff3".  Dans le style "diff3", le conflit ci-dessus peut ressembler à ceci :

note: type: delimited block -
en: Here are lines that are either unchanged from the common
    ancestor, or cleanly resolved because only one side changed.
    <<<<<<< yours:sample.txt
    Conflict resolution is hard;
    let's go shopping.
    |||||||
    Conflict resolution is hard.
    =======
    Git makes conflict resolution easy.
    >>>>>>> theirs:sample.txt
    And here is another line that is cleanly resolved or unmodified.
fr: Voici les lignes qui sont soit inchangées par rapport à l'ancêtre
    commun, ou proprement résolu parce qu'un seul côté a changé.
    <<<<<<<< yours:exemple.txt
    La résolution des conflits est difficile ;
    Allons faire du shopping.
    |||||||
    La résolution des conflits est difficile.
    =======
    Git facilite la résolution des conflits.
    >>>>>>> theirs:exemple.txt
    Et voici une autre ligne qui est proprement résolue ou non modifiée.

note: type: Plain text
en: In addition to the `<<<<<<<`, `=======`, and `>>>>>>>` markers, it uses another `|||||||` marker that is followed by the original text.  You can tell that the original just stated a fact, and your side simply gave in to that statement and gave up, while the other side tried to have a more positive attitude.  You can sometimes come up with a better resolution by viewing the original.
fr: En plus des marqueurs `<<<<<<<<`, `=======`, et `>>>>>>>>>>>, il utilise un autre marqueur `||||||||` qui est suivi par le texte original.  Vous pouvez voir que l'original ne faisait qu'énoncer un fait, et que votre camp a simplement cédé à cette déclaration et a abandonné, tandis que l'autre camp a essayé d'avoir une attitude plus positive.  Vous pouvez parfois aboutir à une meilleure résolution en regardant l'original.

note: type: Title -
en: HOW TO RESOLVE CONFLICTS
fr: COMMENT RÉSOUDRE LES CONFLITS

note: type: Plain text
en: After seeing a conflict, you can do two things:
fr: Après avoir vu un conflit, vous pouvez faire deux choses :

note: type: Plain text
en: Decide not to merge.  The only clean-ups you need are to reset the index file to the `HEAD` commit to reverse 2. and to clean up working tree changes made by 2. and 3.; `git merge --abort` can be used for this.
fr: Décider de ne pas fusionner.  Les seuls nettoyages dont vous avez besoin sont de réinitialiser le fichier index au commit `HEAD` à inverser 2. et pour nettoyer les modification d’arbre de travail effectuées par 2. et 3.  ; `git merge --abort` peut être utilisé pour cela.

note: type: Plain text
en: Resolve the conflicts.  Git will mark the conflicts in the working tree.  Edit the files into shape and 'git add' them to the index.  Use 'git commit' or 'git merge --continue' to seal the deal. The latter command checks whether there is a (interrupted) merge in progress before calling 'git commit'.
fr: Résoudre les conflits.  Git marquera les conflits dans l’arbre de travail.  Modifier les fichiers en forme et les «git add» à l’index.  Utiliser 'git commit' ou 'git merge --continue' pour sceller l’affaire. Cette dernière commande vérifie s’il y a une fusion (interrompue) en cours avant d’appeler 'git commit'.

note: type: Plain text
en: You can work through the conflict with a number of tools:
fr: Vous pouvez résoudre le conflit à l'aide d'un certain nombre d'outils :

note: type: Plain text
en: Use a mergetool.  `git mergetool` to launch a graphical mergetool which will work you through the merge.
fr: Utiliser un mergetool.  `git mergetool` pour lancer un outil de fusion graphique qui vous permettra de travailler sur la fusion.

note: type: Plain text
en: Look at the diffs.  `git diff` will show a three-way diff, highlighting changes from both the `HEAD` and `MERGE_HEAD` versions.
fr: Regarder les différences. ` git diff` affichera une différence à trois points, en mettant en évidence les modifications apportées par les versions `HEAD` et `MERGE_HEAD`.

note: type: Plain text
en: Look at the diffs from each branch. `git log --merge -p <path>` will show diffs first for the `HEAD` version and then the `MERGE_HEAD` version.
fr: Regarder les différences de chaque branche. `git log --merge -p <chemin>` montrera les différences d'abord pour la version `HEAD` et ensuite pour la version `MERGE_HEAD`.

note: type: Plain text
en: Look at the originals.  `git show :1:filename` shows the common ancestor, `git show :2:filename` shows the `HEAD` version, and `git show :3:filename` shows the `MERGE_HEAD` version.
fr: Regarder les originaux.  `git show :1:nom-de-fichier` montre l'ancêtre commun, `git show :2:nom-de-fichier` montre la version `HEAD`, et `git show :3:nom-de-fichier` montre la version `MERGE_HEAD`.

note: type: Plain text
en: Merge branches `fixes` and `enhancements` on top of the current branch, making an octopus merge:
fr: Fusionner les branches `corrections` et "améliorations` par dessus la branche actuelle, en faisant une fusion octopus :

note: type: delimited block -
en: $ git merge fixes enhancements
fr: $ git merge corrections améliorations

note: type: Plain text
en: Merge branch `obsolete` into the current branch, using `ours` merge strategy:
fr: Fusionner la branche `obsolète` dans la branche actuelle, en utilisant la stratégie de fusion `ours` :

note: type: delimited block -
en: $ git merge -s ours obsolete
fr: $ git merge -s ours obsolète

note: type: Plain text
en: Merge branch `maint` into the current branch, but do not make a new commit automatically:
fr: Fusionner la branche `maint` dans la branche actuelle, mais ne pas faire un nouveau commit automatiquement :

note: type: Plain text
en: This can be used when you want to include further changes to the merge, or want to write your own merge commit message.
fr: Ceci peut être utilisé lorsque vous souhaitez inclure d'autres modifications à la fusion ou lorsque vous souhaitez rédiger votre propre message de validation de la fusion.

note: type: Plain text
en: You should refrain from abusing this option to sneak substantial changes into a merge commit.  Small fixups like bumping release/version name would be acceptable.
fr: Vous devriez vous abstenir d'abuser de cette possibilité pour introduire en douce des modifications substantielles dans un commit de fusion.  De petites corrections comme le remplacement du nom de la version ou de la livraison seraient acceptables.

note: type: Labeled list
en: branch.<name>.mergeOptions
fr: branch.<nom>.mergeOptions

note: type: Plain text
en: Sets default options for merging into branch <name>. The syntax and supported options are the same as those of 'git merge', but option values containing whitespace characters are currently not supported.
fr: Définir les options par défaut pour la fusion dans la branche <nom>. La syntaxe et les options prises en charge sont les mêmes que celles de 'git merge', mais les valeurs d'options contenant des espaces ne sont actuellement pas prises en charge.

note: type: Plain text
en: git-mktree - Build a tree-object from ls-tree formatted text
fr: git-mktree - Construit un objet arbre depuis du texte au format ls-tree

note: type: Plain text
en: git-mv - Move or rename a file, a directory, or a symlink
fr: git-mv - Déplace ou renomme un fichier, un répertoire, ou un lien symbolique

note: type: Plain text
en: Move or rename a file, directory or symlink.
fr: Déplace ou renomme un fichier, un répertoire ou un symlink.

note: type: Plain text
en:  git mv [-v] [-f] [-n] [-k] <source> <destination>
     git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
fr:  git mv [-v] [-f] [-n] [-k] <source> <destination>
     git mv [-v] [-f] [-n] [-k] <source> ... <répertoire destination>

note: type: Plain text
en: In the first form, it renames <source>, which must exist and be either a file, symlink or directory, to <destination>.  In the second form, the last argument has to be an existing directory; the given sources will be moved into this directory.
fr: Dans la première forme, cela renomme <source>, qui doit exister et être soit un fichier, un lien symbolique ou un répertoire, en <destination>.  Dans la deuxième forme, le dernier argument doit être un répertoire existant ; les sources données seront déplacées dans ce répertoire.

note: type: Plain text
en: The index is updated after successful completion, but the change must still be committed.
fr: L'index est mis à jour une fois l'opération terminée, mais la modification doit toujours être validée.

note: type: Plain text
en: Force renaming or moving of a file even if the target exists
fr: Forcer le renommage ou le déplacement d'un fichier même si la cible existe

note: type: Plain text
en: Skip move or rename actions which would lead to an error condition. An error happens when a source is neither existing nor controlled by Git, or when it would overwrite an existing file unless `-f` is given.
fr: Sauter les actions de déplacement ou de renommage qui conduiraient à une condition d'erreur. Une erreur se produit lorsqu'une source n'est ni existante ni contrôlée par Git, ou lorsqu'elle écrase un fichier existant sauf si `-f' est donné.

note: type: Plain text
en: Do nothing; only show what would happen
fr: Ne rien faire ; seulement montrer ce qui se passerait

note: type: Plain text
en: Report the names of files as they are moved.
fr: Affiche les noms des fichiers au fur à mesure de leur déplacement.

note: type: Plain text
en: Moving a submodule using a gitfile (which means they were cloned with a Git version 1.7.8 or newer) will update the gitfile and core.worktree setting to make the submodule work in the new location.  It also will attempt to update the submodule.<name>.path setting in the linkgit:gitmodules[5] file and stage that file (unless -n is used).
fr: Déplacer un sous-module utilisant un fichier git (ce qui signifie qu'il a été cloné avec une version de Git 1.7.8 ou plus récente) mettra à jour le gitfile et le paramètre core.worktree pour que le sous-module fonctionne dans le nouvel emplacement.  Il tentera également de mettre à jour le paramètre submodule.<nom>.path dans le fichier linkgit:gitmodules[5] et d'indexer ce fichier (sauf si -n est utilisé).

note: type: Plain text
en: Each time a superproject update moves a populated submodule (e.g. when switching between commits before and after the move) a stale submodule checkout will remain in the old location and an empty directory will appear in the new location. To populate the submodule again in the new location the user will have to run "git submodule update" afterwards. Removing the old directory is only safe when it uses a gitfile, as otherwise the history of the submodule will be deleted too. Both steps will be obsolete when recursive submodule update has been implemented.
fr: Chaque fois qu'une mise à jour d'un superprojet déplace un sous-module peuplé (par exemple lors du basculement d'un commit à l'autre avant et après le déplacement), une extraction de sous-module périmée reste dans l'ancien emplacement et un répertoire vide apparaît dans le nouvel emplacement. Pour remplir à nouveau le sous-module dans le nouvel emplacement, l'utilisateur devra ensuite exécuter "git submodule update". Supprimer l'ancien répertoire n'est sûr que lorsqu'il utilise un fichier gitfile, sinon l'historique du sous-module sera également supprimé. Ces deux étapes seront obsolètes lorsque la mise à jour récursive de sous-module aura été implémentée.

note: type: Labeled list
en: --refs=<pattern>
fr: --refs=<motif>

note: type: Plain text
en: List all commits reachable from all refs
fr: Lister toutes les validations accessibles depuis toutes les références

note: type: Plain text
en: Enter 'git name-rev':
fr: Utilisez 'git name-rev' :

note: type: Plain text
en: git-notes - Add or inspect object notes
fr: git-notes - Ajouter ou inspecter les notes des objets

note: type: Plain text
en: 'git notes' [list [<object>]]
    'git notes' add [-f] [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
    'git notes' copy [-f] ( --stdin | <from-object> [<to-object>] )
    'git notes' append [--allow-empty] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
    'git notes' edit [--allow-empty] [<object>]
    'git notes' show [<object>]
    'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref>
    'git notes' merge --commit [-v | -q]
    'git notes' merge --abort [-v | -q]
    'git notes' remove [--ignore-missing] [--stdin] [<object>...]
    'git notes' prune [-n] [-v]
    'git notes' get-ref
fr: 'git notes' [list [<objet>]]
    'git notes' add [-f] [--allow-empty] [-F <fichier> | -m <msg> | (-c | -C) <objet>] [<objet>]
    'git notes' copy [-f] ( --stdin | <objet-source> [<objet-cible>] )
    'git notes' append [--allow-empty] [-F <fichier> | -m <msg> | (-c | -C) <objet>] [<objet>]
    'git notes' edit [--allow-empty] [<objet>]
    'git notes' show [<objet>]
    'git notes' merge [-v | -q] [-s <strategie> ] <ref-de-notes>
    'git notes' merge --commit [-v | -q]
    'git notes' merge --abort [-v | -q]
    'git notes' remove [--ignore-missing] [--stdin] [<objet>...]
    'git notes' prune [-n] [-v]
    'git notes' get-ref

note: type: Plain text
en: Adds, removes, or reads notes attached to objects, without touching the objects themselves.
fr: Ajoute, supprime ou lit les notes attachées aux objets, sans toucher les objets eux-mêmes.

note: type: Plain text
en: By default, notes are saved to and read from `refs/notes/commits`, but this default can be overridden.  See the OPTIONS, CONFIGURATION, and ENVIRONMENT sections below.  If this ref does not exist, it will be quietly created when it is first needed to store a note.
fr: Par défaut, les notes sont enregistrées et lues dans `refs/notes/commits`, mais cette valeur peut être modifiée.  Voir les sections OPTIONS, CONFIGURATION, et ENVIRONNEMENT ci-dessous.  Si cette référence n'existe pas, elle sera discrètement créée lorsqu'elle sera nécessaire pour stocker une note.

note: type: Plain text
en: A typical use of notes is to supplement a commit message without changing the commit itself. Notes can be shown by 'git log' along with the original commit message. To distinguish these notes from the message stored in the commit object, the notes are indented like the message, after an unindented line saying "Notes (<refname>):" (or "Notes:" for `refs/notes/commits`).
fr: Une utilisation typique des notes est de compléter un message de validation sans modifier le commit lui-même. Les notes peuvent être affichées par 'git log' avec le message de validation original. Pour distinguer ces notes du message stocké dans l'objet commit, les notes sont indentées comme le message, après une ligne non indentée disant "Notes (<nom-de-ref>) :" (ou "Notes :" pour `refs/notes/commits`).

note: type: Plain text
en: Notes can also be added to patches prepared with `git format-patch` by using the `--notes` option. Such notes are added as a patch commentary after a three dash separator line.
fr: Des notes peuvent également être ajoutées aux rustines préparées avec `git format-patch` en utilisant l'option `--notes`. De telles notes sont ajoutées comme un commentaire de rustine après une ligne de séparation à trois tirets.

note: type: Plain text
en: To change which notes are shown by 'git log', see the "notes.displayRef" configuration in linkgit:git-log[1].
fr: Pour changer les notes qui sont affichées par 'git log', voir la configuration "notes.displayRef" dans linkgit:git-log[1].

note: type: Plain text
en: See the "notes.rewrite.<command>" configuration for a way to carry notes across commands that rewrite commits.
fr: Voir la configuration "notes.rewrite.<commande>" pour un moyen de transporter les notes à travers les commandes qui réécrivent les commits.

note: type: Title -
en: SUBCOMMANDS
fr: SOUS-COMMANDES

note: type: Plain text
en: List the notes object for a given object. If no object is given, show a list of all note objects and the objects they annotate (in the format "<note object> <annotated object>").  This is the default subcommand if no subcommand is given.
fr: Affiche la liste des objets notes pour un objet donné. Si aucun objet n'est donné, affiche une liste de tous les objets notes et des objets qu'ils annotent (au format "<objet note> <objet annoté>").  Il s'agit de la sous-commande par défaut si aucune sous-commande n'est donnée.

note: type: Plain text
en: Add notes for a given object (defaults to HEAD). Abort if the object already has notes (use `-f` to overwrite existing notes).  However, if you're using `add` interactively (using an editor to supply the notes contents), then - instead of aborting - the existing notes will be opened in the editor (like the `edit` subcommand).
fr: Ajouter des notes pour un objet donné (par défaut HEAD). Abandonner si l'objet a déjà des notes (utilisez `-f` pour écraser les notes existantes).  Cependant, si vous utilisez `add` de manière interactive (en utilisant un éditeur pour fournir le contenu des notes), alors - au lieu d'abandonner - les notes existantes seront ouvertes dans l'éditeur (comme la sous-commande `edit`).

note: type: Plain text
en: Copy the notes for the first object onto the second object (defaults to HEAD). Abort if the second object already has notes, or if the first object has none (use -f to overwrite existing notes to the second object). This subcommand is equivalent to: `git notes add [-f] -C $(git notes list <from-object>) <to-object>`
fr: Copier les notes du premier objet sur le deuxième objet (par défaut HEAD). Abandonner si le second objet a déjà des notes, ou si le premier objet n'en a pas (utilisez -f pour écraser les notes existantes sur le second objet). Cette sous-commande est équivalente à : `git notes add [-f] -C $(git notes list <objet-source>) <objet-cible>`

note: type: Plain text
en: In `--stdin` mode, take lines in the format
fr: En mode `--stdin`, prendre les lignes au format

note: type: delimited block -
en: <from-object> SP <to-object> [ SP <rest> ] LF
fr: <objet-source> ESP <objet-source> [ ESP <reste> ] LF

note: type: Plain text
en: on standard input, and copy the notes from each <from-object> to its corresponding <to-object>.  (The optional `<rest>` is ignored so that the command can read the input given to the `post-rewrite` hook.)
fr: sur l'entrée standard, et copier les notes de chaque <objet-source> vers son <objet-cible> correspondant. (Le`<rest>` optionnel est ignoré afin que la commande puisse lire l'entrée donnée au crochet `post-rewrite`).

note: type: Plain text
en: Append to the notes of an existing object (defaults to HEAD).  Creates a new notes object if needed.
fr: Ajouter aux notes d'un objet existant (valeur par défaut : HEAD).  Crée un nouvel objet notes si nécessaire.

note: type: Plain text
en: Edit the notes for a given object (defaults to HEAD).
fr: Modifier les notes pour un objet donné (par défaut HEAD).

note: type: Plain text
en: Show the notes for a given object (defaults to HEAD).
fr: Afficher les notes pour un objet donné (par défaut, HEAD).

note: type: Plain text
en: Merge the given notes ref into the current notes ref.  This will try to merge the changes made by the given notes ref (called "remote") since the merge-base (if any) into the current notes ref (called "local").
fr: Fusionner la référence de notes donnée dans la référence de notes actuelle.  Cette commande essaiera de fusionner les modifications apportées par la référence de notes donnée (appelée "remote") depuis la base de fusion (si elle existe) dans la référence de notes actuelle (appelée "local").

note: type: Plain text
en: If conflicts arise and a strategy for automatically resolving conflicting notes (see the "NOTES MERGE STRATEGIES" section) is not given, the "manual" resolver is used. This resolver checks out the conflicting notes in a special worktree (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to manually resolve the conflicts there.  When done, the user can either finalize the merge with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
fr: Si des conflits surviennent et qu'une stratégie pour résoudre automatiquement les notes en conflit (voir la section "STRATEGIES DE FUSION DES NOTES") n'est pas donnée, le résolveur "manuel" est utilisé. Ce résolveur vérifie les notes en conflit dans un arbre de travail spécial (`.git/NOTES_MERGE_WORKTREE`), et demande à l'utilisateur de résoudre manuellement les conflits à cet endroit.  Lorsque cela est fait, l'utilisateur peut soit finaliser la fusion avec 'git notes merge --commit', soit abandonner la fusion avec 'git notes merge --abort'.

note: type: Plain text
en: Remove the notes for given objects (defaults to HEAD). When giving zero or one object from the command line, this is equivalent to specifying an empty note message to the `edit` subcommand.
fr: Supprimer les notes pour les objets donnés (la valeur par défaut est HEAD). Lorsque l'on donne zéro ou un objet depuis la ligne de commande, cela équivaut à spécifier un message de note vide à la sous-commande `edit`.

note: type: Plain text
en: Remove all notes for non-existing/unreachable objects.
fr: Supprimer toutes les notes relatives aux objets inexistants ou inaccessibles.

note: type: Plain text
en: Print the current notes ref. This provides an easy way to retrieve the current notes ref (e.g. from scripts).
fr: Afficher la référence des notes actuelles. Ceci fournit un moyen facile de récupérer la référence des notes actuelles (par exemple, à partir de scripts).

note: type: Plain text
en: When adding notes to an object that already has notes, overwrite the existing notes (instead of aborting).
fr: Lors de l'ajout de notes à un objet qui en possède déjà, les notes existantes sont écrasées (au lieu d'être abandonnées).

note: type: Plain text
en: Use the given note message (instead of prompting).  If multiple `-m` options are given, their values are concatenated as separate paragraphs.  Lines starting with `#` and empty lines other than a single line between paragraphs will be stripped out.
fr: Utiliser le message de note fourni (au lieu de le demander). Si plusieurs options `-m` sont fournies, leurs valeurs sont concaténées comme paragraphes séparés. Les lignes commençant par `#` et les lignes vides sont supprimées si elles ne sont pas uniques entre paragraphes.

note: type: Plain text
en: Take the note message from the given file.  Use '-' to read the note message from the standard input.  Lines starting with `#` and empty lines other than a single line between paragraphs will be stripped out.
fr: Prendre le message de note depuis le fichier indiqué. Utilisez '-' pour lire le message depuis l'entrée standard. Les lignes commençant par `#` et les lignes vides sont supprimées si elles ne sont pas uniques entre paragraphes.

note: type: Labeled list
en: -C <object>
fr: -C <objet>

note: type: Labeled list
en: --reuse-message=<object>
fr: --reuse-message=<objet>

note: type: Plain text
en: Take the given blob object (for example, another note) as the note message. (Use `git notes copy <object>` instead to copy notes between objects.)
fr: Prendre l'objet blob donné (par exemple, une autre note) comme message de la note. (Utilisez plutôt `git notes copy <objet>` pour copier des notes entre objets).

note: type: Labeled list
en: -c <object>
fr: -c <objet>

note: type: Labeled list
en: --reedit-message=<object>
fr: --reedit-message=<objet>

note: type: Plain text
en: Like '-C', but with `-c` the editor is invoked, so that the user can further edit the note message.
fr: Comme '-C', mais avec '-c', l'éditeur est appelé pour permettre à l'utilisateur de modifier le message de note.

note: type: Plain text
en: Allow an empty note object to be stored. The default behavior is to automatically remove empty notes.
fr: Permettre de stocker un objet note vide. Le comportement par défaut consiste à supprimer automatiquement les notes vides.

note: type: Labeled list
en: --ref <ref>
fr: --ref <réf>

note: type: Plain text
en: Manipulate the notes tree in <ref>.  This overrides `GIT_NOTES_REF` and the "core.notesRef" configuration.  The ref specifies the full refname when it begins with `refs/notes/`; when it begins with `notes/`, `refs/` and otherwise `refs/notes/` is prefixed to form a full name of the ref.
fr: Manipuler l'arbre des notes dans <réf>.  Ceci a priorité sur `GIT_NOTES_REF` et la configuration "core.notesRef".  La réf spécifie le nom complet de la réf quand elle commence par `refs/notes/` ; quand elle commence par `notes/`, `refs/` ou autre, `refs/notes/` est préfixé pour former un nom complet de la réf.

note: type: Plain text
en: Do not consider it an error to request removing notes from an object that does not have notes attached to it.
fr: Ne pas considérer comme une erreur de demander la suppression des notes d'un objet qui n'a pas de notes qui lui sont attachées.

note: type: Plain text
en: Also read the object names to remove notes from the standard input (there is no reason you cannot combine this with object names from the command line).
fr: Lire également les noms d'objets pour supprimer les notes à partir de l'entrée standard (il n'y a aucune raison pour que vous ne puissiez pas combiner cela avec les noms d'objets à partir de la ligne de commande).

note: type: Plain text
en: Do not remove anything; just report the object names whose notes would be removed.
fr: Ne rien supprimer ; signaler simplement les noms des objets dont les notes seraient supprimées.

note: type: Labeled list
en: -s <strategy>
fr: -s <stratégie>

note: type: Plain text
en: When merging notes, resolve notes conflicts using the given strategy. The following strategies are recognized: "manual" (default), "ours", "theirs", "union" and "cat_sort_uniq".  This option overrides the "notes.mergeStrategy" configuration setting.  See the "NOTES MERGE STRATEGIES" section below for more information on each notes merge strategy.
fr: Lors d'une fusion de notes, résoudre les conflits de notes en utilisant la stratégie donnée. Les stratégies suivantes sont reconnues : "manual" (par défaut), "ours", "theirs", "union" et "cat_sort_uniq".  Cette option a priorité sur le paramètre de configuration "notes.mergeStrategy".  Voir la section "STRATÉGIES DE FUSION DES NOTES" ci-dessous pour plus d'informations sur chaque stratégie de fusion des notes.

note: type: Plain text
en: Finalize an in-progress 'git notes merge'. Use this option when you have resolved the conflicts that 'git notes merge' stored in .git/NOTES_MERGE_WORKTREE. This amends the partial merge commit created by 'git notes merge' (stored in .git/NOTES_MERGE_PARTIAL) by adding the notes in .git/NOTES_MERGE_WORKTREE. The notes ref stored in the .git/NOTES_MERGE_REF symref is updated to the resulting commit.
fr: Finaliser une fusion de notes en cours. Utilisez cette option lorsque vous avez résolu les conflits que 'git notes merge' a stockés dans .git/NOTES_MERGE_WORKTREE. Cela modifie le commit de fusion partielle créé par 'git notes merge' (stocké dans .git/NOTES_MERGE_PARTIAL) en ajoutant les notes dans .git/NOTES_MERGE_WORKTREE. La référence des notes stockée dans la réf symbolique .git/NOTES_MERGE_REF est mise à jour avec le commit résultant.

note: type: Plain text
en: Abort/reset an in-progress 'git notes merge', i.e. a notes merge with conflicts. This simply removes all files related to the notes merge.
fr: Abandonner/réinitialiser un 'git notes merge' en cours, c'est-à-dire une fusion de notes avec des conflits. Cela supprime simplement tous les fichiers liés à la fusion de notes.

note: type: Plain text
en: When merging notes, operate quietly.
fr: Mode silencieux lors d'une fusion de notes.

note: type: Plain text
en: When merging notes, be more verbose.  When pruning notes, report all object names whose notes are removed.
fr: Mode verbeux lors d'une fusion de notes.  Lors de l'élagage des notes, signaler tous les noms d'objets dont les notes sont supprimées.

note: type: Plain text
en: Commit notes are blobs containing extra information about an object (usually information to supplement a commit's message).  These blobs are taken from notes refs.  A notes ref is usually a branch which contains "files" whose paths are the object names for the objects they describe, with some directory separators included for performance reasons footnote:[Permitted pathnames have the form 'bf'`/`'fe'`/`'30'`/`'...'`/`'680d5a...': a sequence of directory names of two hexadecimal digits each followed by a filename with the rest of the object ID.].
fr: Les notes de commit sont des blobs contenant des informations supplémentaires sur un objet (généralement des informations pour compléter le message de validation).  Ces blobs sont extraits des réfs de notes. Une réf. de notes est généralement une branche qui contient des "fichiers" dont les chemins sont les noms des objets qu'ils décrivent, avec quelques séparateurs de répertoires inclus pour des raisons de performances footnote:[Les noms de chemins autorisés ont la forme 'bf'`/`'fe'`/`'30'`/`'...'`/`'680d5a...' : une séquence de noms de répertoires de deux chiffres hexadécimaux chacun suivis d'un nom de fichier avec le reste de l'ID de l'objet].

note: type: Plain text
en: Every notes change creates a new commit at the specified notes ref.  You can therefore inspect the history of the notes by invoking, e.g., `git log -p notes/commits`.  Currently the commit message only records which operation triggered the update, and the commit authorship is determined according to the usual rules (see linkgit:git-commit[1]).  These details may change in the future.
fr: Chaque changement de notes crée un nouveau commit à la réf. de notes spécifiée.  Vous pouvez donc inspecter l'historique des notes en invoquant, par exemple, `git log -p notes/commits`.  Actuellement, le message de validation n'enregistre que l'opération qui a déclenché la mise à jour, et la paternité du commit est déterminée selon les règles habituelles (voir linkgit:git-commit[1]).  Ces détails peuvent changer dans le futur.

note: type: Plain text
en: It is also permitted for a notes ref to point directly to a tree object, in which case the history of the notes can be read with `git log -p -g <refname>`.
fr: Il est également permis qu'une réf de notes pointe directement vers un objet arbre, dans ce cas l'historique des notes peut être lu avec `git log -p -g <nom-de-réf>`.

note: type: Title -
en: NOTES MERGE STRATEGIES
fr: STRATÉGIES DE FUSION DES NOTES

note: type: Plain text
en: The default notes merge strategy is "manual", which checks out conflicting notes in a special work tree for resolving notes conflicts (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to resolve the conflicts in that work tree.  When done, the user can either finalize the merge with 'git notes merge --commit', or abort the merge with 'git notes merge --abort'.
fr: La stratégie de fusion de notes par défaut est "manual", qui extrait les notes en conflit dans un arbre de travail spécial pour résoudre les conflits de notes (`.git/NOTES_MERGE_WORKTREE`), et demande à l'utilisateur de résoudre les conflits dans cet arbre de travail.  Lorsque cela est fait, l'utilisateur peut soit finaliser la fusion avec 'git notes merge --commit', soit abandonner la fusion avec 'git notes merge --abort'.

note: type: Plain text
en: Users may select an automated merge strategy from among the following using either -s/--strategy option or configuring notes.mergeStrategy accordingly:
fr: Les utilisateurs peuvent sélectionner une stratégie de fusion automatisée parmi les suivantes en utilisant l'option -s/--strategy ou en configurant notes.mergeStrategy :

note: type: Plain text
en: "ours" automatically resolves conflicting notes in favor of the local version (i.e. the current notes ref).
fr: "ours" résout automatiquement les conflits de notes en faveur de la version locale (c'est-à-dire la réf. de notes actuelle).

note: type: Plain text
en: "theirs" automatically resolves notes conflicts in favor of the remote version (i.e. the given notes ref being merged into the current notes ref).
fr: "theirs" résout automatiquement les conflits de notes en faveur de la version distante (c'est-à-dire que la référence de notes donnée est fusionnée avec la référence de notes actuelle).

note: type: Plain text
en: "union" automatically resolves notes conflicts by concatenating the local and remote versions.
fr: "union" résout automatiquement les conflits de notes en concaténant les versions locales et distantes.

note: type: Plain text
en: "cat_sort_uniq" is similar to "union", but in addition to concatenating the local and remote versions, this strategy also sorts the resulting lines, and removes duplicate lines from the result. This is equivalent to applying the "cat | sort | uniq" shell pipeline to the local and remote versions. This strategy is useful if the notes follow a line-based format where one wants to avoid duplicated lines in the merge result.  Note that if either the local or remote version contain duplicate lines prior to the merge, these will also be removed by this notes merge strategy.
fr: "cat_sort_uniq" est similaire à "union", mais en plus de concaténer les versions locales et distantes, cette stratégie trie également les lignes résultantes, et supprime les lignes en double du résultat. Cela équivaut à appliquer le pipeline shell "cat | sort | uniq" aux versions locales et distantes. Cette stratégie est utile si les notes suivent un format basé sur les lignes et que l'on veut éviter les lignes dupliquées dans le résultat de la fusion.  Notez que si la version locale ou distante contient des lignes dupliquées avant la fusion, celles-ci seront également supprimées par cette stratégie de fusion de notes.

note: type: Plain text
en: You can use notes to add annotations with information that was not available at the time a commit was written.
fr: Vous pouvez utiliser les notes pour ajouter des annotations avec des informations qui n'étaient pas disponibles au moment où le commit a été écrit.

note: type: Plain text
en: In principle, a note is a regular Git blob, and any kind of (non-)format is accepted.  You can binary-safely create notes from arbitrary files using 'git hash-object':
fr: En principe, une note est un blob Git ordinaire, et tout type de (non-)format est accepté.  Vous pouvez créer des notes binaires de manière sûre à partir de fichiers arbitraires en utilisant 'git hash-object' :

note: type: Plain text
en: (You cannot simply use `git notes --ref=built add -F a.out HEAD` because that is not binary-safe.)  Of course, it doesn't make much sense to display non-text-format notes with 'git log', so if you use such notes, you'll probably need to write some special-purpose tools to do something useful with them.
fr: (Vous ne pouvez pas simplement utiliser `git notes --ref=built add -F a.out HEAD` car cela n'est pas binairement sûr).  Bien sûr, cela n'a pas beaucoup de sens d'afficher des notes qui ne sont pas au format texte avec "git log", donc si vous utilisez de telles notes, vous aurez probablement besoin d'écrire des outils spéciaux pour en faire quelque chose d'utile.

note: type: Plain text
en: Notes ref to read and manipulate instead of `refs/notes/commits`.  Must be an unabbreviated ref name.  This setting can be overridden through the environment and command line.
fr: Réf. de notes à lire et à manipuler à la place de `refs/notes/commits`.  Doit être un nom de référence non abrégé.  Ce paramètre peut être remplacé via l'environnement et la ligne de commande.

note: type: Plain text
en: Which merge strategy to choose by default when resolving notes conflicts.  Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`.  Defaults to `manual`.  See "NOTES MERGE STRATEGIES" section above for more information on each strategy.
fr: La stratégie de fusion à choisir par défaut lors de la résolution des conflits de notes.  Doit être parmi `manual`, `ours`, `theirs`, `union`, ou `cat_sort_uniq`.  La valeur par défaut est `manual`.  Voir la section "STRATEGIES DE FUSION DES NOTES" ci-dessus pour plus d'informations sur chaque stratégie.

note: type: Plain text
en: This setting can be overridden by passing the `--strategy` option.
fr: Ce paramètre peut être remplacé par l'option `--strategy`.

note: type: Labeled list
en: notes.<name>.mergeStrategy
fr: notes.<nom>.mergeStrategy

note: type: Plain text
en: Which merge strategy to choose when doing a notes merge into refs/notes/<name>.  This overrides the more general "notes.mergeStrategy".  See the "NOTES MERGE STRATEGIES" section above for more information on each available strategy.
fr: La stratégie de fusion choisir lors d'une fusion de notes dans refs/notes/<nom>.  Ceci a priorité sur le paramètre plus général "notes.mergeStrategy".  Voir la section "STRATEGIES DE FUSION DES NOTES" ci-dessus pour plus d'informations sur chaque stratégie disponible.

note: type: Plain text
en: Which ref (or refs, if a glob or specified more than once), in addition to the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from when showing commit messages with the 'git log' family of commands.  This setting can be overridden on the command line or by the `GIT_NOTES_DISPLAY_REF` environment variable.  See linkgit:git-log[1].
fr: La référence (ou les références, si un glob est spécifié plus d'une fois), en plus de la valeur par défaut définie par `core.notesRef` ou `GIT_NOTES_REF`, pour lire les notes lors de l'affichage des messages de validation avec la famille de commandes 'git log'.  Ce paramètre peut être remplacé via la ligne de commande ou par la variable d'environnement `GIT_NOTES_DISPLAY_REF`.  Voir linkgit:git-log[1].

note: type: Labeled list
en: notes.rewrite.<command>
fr: notes.rewrite.<commande>

note: type: Plain text
en: When rewriting commits with <command> (currently `amend` or `rebase`), if this variable is `false`, git will not copy notes from the original to the rewritten commit.  Defaults to `true`.  See also "`notes.rewriteRef`" below.
fr: Lors de la réécriture de commits avec <commande> (actuellement `amend` ou `rebase`), si cette variable est `false`, git ne copiera pas les notes de l'original vers le commit réécrit.  La valeur par défaut est `true`.  Voir aussi "`notes.rewriteRef`" ci-dessous.

note: type: Plain text
en: This setting can be overridden by the `GIT_NOTES_REWRITE_REF` environment variable.
fr: Ce paramètre peut être remplacé par la variable d'environnement `GIT_NOTES_REWRITE_REF`.

note: type: Plain text
en: When copying notes during a rewrite, what to do if the target commit already has a note.  Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`.  Defaults to `concatenate`.
fr: Lors de la copie de notes pendant une réécriture, action à faire si le commit cible a déjà une note.  Doit être parmi `overwrite`, `concatenate`, `cat_sort_uniq`, ou `ignore`.  La valeur par défaut est `concatenate`.

note: type: Plain text
en: This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` environment variable.
fr: Ce paramètre peut être remplacé par la variable d'environnement `GIT_NOTES_REWRITE_MODE`.

note: type: Plain text
en: When copying notes during a rewrite, specifies the (fully qualified) ref whose notes should be copied.  May be a glob, in which case notes in all matching refs will be copied.  You may also specify this configuration several times.
fr: Lors de la copie de notes pendant une réécriture, spécifie la référence (entièrement qualifiée) dont les notes doivent être copiées.  Il peut s'agir d'un glob, auquel cas les notes de toutes les références correspondantes seront copiées.  Vous pouvez également spécifier cette configuration plusieurs fois.

note: type: Plain text
en: Does not have a default value; you must configure this variable to enable note rewriting.
fr: N'a pas de valeur par défaut ; vous devez configurer cette variable pour activer la réécriture des notes.

note: type: Plain text
en: Can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable.
fr: Peut être surchargé avec la variable d'environnement `GIT_NOTES_REWRITE_REF`.

note: type: Plain text
en: Which ref to manipulate notes from, instead of `refs/notes/commits`.  This overrides the `core.notesRef` setting.
fr: La référence dont les notes doivent être manipulées, au lieu de `refs/notes/commits`.  Ceci remplace le paramètre `core.notesRef`.

note: type: Plain text
en: Colon-delimited list of refs or globs indicating which refs, in addition to the default from `core.notesRef` or `GIT_NOTES_REF`, to read notes from when showing commit messages.  This overrides the `notes.displayRef` setting.
fr: Liste de refs ou de globs délimités par des colonnes indiquant les réfs, en plus de la valeur par défaut de `core.notesRef` ou de `GIT_NOTES_REF`, à partir desquelles lire les notes lors de l'affichage des messages de validation.  Ceci surcharge le paramètre `notes.displayRef`.

note: type: Plain text
en: A warning will be issued for refs that do not exist, but a glob that does not match any refs is silently ignored.
fr: Un avertissement sera émis pour les réfs qui n'existent pas, mais un glob qui ne correspond à aucune réf est silencieusement ignoré.

note: type: Plain text
en: When copying notes during a rewrite, what to do if the target commit already has a note.  Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`.  This overrides the `core.rewriteMode` setting.
fr: Lors de la copie de notes pendant une réécriture, action à faire si le commit cible a déjà une note.  Doit être parmi `overwrite`, `concatenate`, `cat_sort_uniq`, ou `ignore`.  Ceci surcharge le paramètre `core.rewriteMode`.

note: type: Plain text
en: When rewriting commits, which notes to copy from the original to the rewritten commit.  Must be a colon-delimited list of refs or globs.
fr: Lors de la réécriture de commits, quelles notes copier de l'original vers le commit réécrit.  Doit être une liste de refs ou de globs délimitée par deux points.

note: type: Plain text
en: If not set in the environment, the list of notes to copy depends on the `notes.rewrite.<command>` and `notes.rewriteRef` settings.
fr: Si elle n'est pas définie dans l'environnement, la liste des notes à copier dépend des paramètres `notes.rewrite.<commande>` et `notes.rewriteRef`.

note: type: Plain text
en: git-p4 - Import from and submit to Perforce repositories
fr: git-p4 - Importe depuis et soumet à des dépôts Perforce

note: type: Title ~
en: Unshelve
fr: Déterrer

note: type: Title ~
en: General options
fr: Options générales

note: type: Plain text
en: Provide more progress information.
fr: Fournir plus d'information de progression.

note: type: Labeled list
en: --branch <ref>
fr: --branch <réf>

note: type: Labeled list
en: --changesfile <file>
fr: --changesfile <fichier>

note: type: Plain text
en: Do not print any progress information.
fr: Ne pas afficher d'information d'avancement.

note: type: Labeled list
en: -/ <path>
fr: -/ <chemin>

note: type: Labeled list
en: --destination <directory>
fr: --destination <répertoire>

note: type: Plain text
en: Perform a bare clone.  See linkgit:git-clone[1].
fr: Réaliser un clone nu. Voir linkgit:git-clone[1].

note: type: Labeled list
en: --branch <branch>
fr: --branch <branche>

note: type: Title ~
en: Unshelve options
fr: Options de déterrage

note: type: Labeled list
en: --missing=<missing-action>
fr: --missing=<action-manquante>

note: type: Plain text
en: A debug option to help with future "partial clone" development.  This option specifies how missing objects are handled.
fr: Une option de débogage pour aider au développement futur de "clones partiels".  Cette option spécifie comment les objets manquants sont traités.

note: type: Plain text
en: The form '--missing=error' requests that pack-objects stop with an error if a missing object is encountered.  If the repository is a partial clone, an attempt to fetch missing objects will be made before declaring them missing.  This is the default action.
fr: La forme '--missing=error' demande que pack-objects s'arrête avec une erreur si un objet manquant est rencontré. Si le référentiel est un clone partiel, une tentative de récupération des objets manquants sera effectuée avant de les déclarer manquants. C'est l'action par défaut.

note: type: Plain text
en: The form '--missing=allow-any' will allow object traversal to continue if a missing object is encountered.  No fetch of a missing object will occur.  Missing objects will silently be omitted from the results.
fr: La forme '--missing=allow-any' permet de continuer le parcours d'objet si un objet manquant est rencontré. Il n'y aura pas de récupération d'un objet manquant. Les objets manquants seront silencieusement omis des résultats.

note: type: Plain text
en: The form '--missing=allow-promisor' is like 'allow-any', but will only allow object traversal to continue for EXPECTED promisor missing objects.  No fetch of a missing object will occur.  An unexpected missing object will raise an error.
fr: Le forme '--missing=allow-promisor' est comme 'allow-any', mais ne permettra la traversée d'objets de continuer que pour les objets manquants du promettant EXPECTED. Il n'y aura pas de récupération d'un objet manquant. Les objets manquants inattendus entraîneront une erreur.

note: type: Plain text
en: git-pack-refs - Pack heads and tags for efficient repository access
fr: git-pack-refs - Empaquette les têtes et les étiquettes pour un accès efficace au dépôt

note: type: Plain text
en: This is the default.
fr: C'est l'option par défaut.

note: type: Plain text
en: 'git prune-packed' [-n|--dry-run] [-q|--quiet]
fr: 'git prune-packed' [-n | --dry-run] [-q | --quiet]

note: type: Plain text
en: Don't actually remove any objects, only show those that would have been removed.
fr: Ne pas réellement supprimer des objets, montrer seulement ce qui aurait été supprimé.

note: type: Plain text
en: git-prune - Prune all unreachable objects from the object database
fr: git-prune - Élague tous les objets non joignables de la base de données d'objets

note: type: Plain text
en: 'git prune' [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]
fr: 'git prune' [-n] [-v] [--progress] [--expire <heure>] [--] [<head>…]

note: type: Plain text
en: Do not remove anything; just report what it would remove.
fr: Ne rien supprimer réellement ; montrer seulement ce qui serait supprimé.

note: type: Plain text
en: Report all removed objects.
fr: Afficher tous les objets supprimés.

note: type: Plain text
en: Show progress.
fr: Afficher l'avancement.

note: type: Labeled list
en: --expire <time>
fr: --expire <date>

note: type: Plain text
en: git-pull - Fetch from and integrate with another repository or a local branch
fr: git-pull - Rapatrier et intégrer un autre dépôt ou une branche locale

note: type: Plain text
en: 'git pull' [<options>] [<repository> [<refspec>...]]
fr: 'git pull' [<options>] [<dépôt> [<spécification-de-référence>...]]

note: type: Plain text
en: Incorporates changes from a remote repository into the current branch.  In its default mode, `git pull` is shorthand for `git fetch` followed by `git merge FETCH_HEAD`.
fr: Intègre les modifications d'un dépôt distant dans la branche actuelle.  Dans son mode par défaut, `git pull` est l'abréviation de `git fetch` suivi de `git merge FETCH_HEAD`.

note: type: Plain text
en: More precisely, 'git pull' runs 'git fetch' with the given parameters and calls 'git merge' to merge the retrieved branch heads into the current branch.  With `--rebase`, it runs 'git rebase' instead of 'git merge'.
fr: Plus précisément, 'git pull' lance 'git fetch' avec les paramètres donnés et appelle 'git merge' pour fusionner les têtes de branche récupérées dans la branche courante.  Avec `--rebase`, il lance 'git rebase' au lieu de 'git merge'.

note: type: Plain text
en: <repository> should be the name of a remote repository as passed to linkgit:git-fetch[1].  <refspec> can name an arbitrary remote ref (for example, the name of a tag) or even a collection of refs with corresponding remote-tracking branches (e.g., refs/heads/{asterisk}:refs/remotes/origin/{asterisk}), but usually it is the name of a branch in the remote repository.
fr: <dépôt> doit être le nom d'un dépôt distant tel que passé à linkgit:git-fetch[1].  <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/{asterisk}:refs/remotes/origin/{asterisk}), mais c'est généralement le nom d'une branche du dépôt distant.

note: type: Plain text
en: Default values for <repository> and <branch> are read from the "remote" and "merge" configuration for the current branch as set by linkgit:git-branch[1] `--track`.
fr: 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 linkgit:git-branch[1] `--track`.

note: type: delimited block -
en: 	  A---B---C master on origin
    	 /
        D---E---F---G master
    	^
    	origin/master in your repository
fr: 	  A---B---C master sur origin
    	 /
        D---E---F---G master
    	^
    	origin/master dans votre dépôt

note: type: Plain text
en: Then "`git pull`" will fetch and replay the changes from the remote `master` branch since it diverged from the local `master` (i.e., `E`)  until its current commit (`C`) on top of `master` and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
fr: Ensuite, "`git pull`" récupère et rejoue les modifications de la branche `master` distante, puisqu'elle a divergé du `master` local (c'est-à-dire `E`) jusqu'à son commit actuel (`C`) en plus de `master` 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.

note: type: Plain text
en: See linkgit:git-merge[1] for details, including how conflicts are presented and handled.
fr: Voir linkgit:git-merge[1] pour plus de détails, notamment sur la manière dont les conflits sont présentés et traités.

note: type: Plain text
en: In Git 1.7.0 or later, to cancel a conflicting merge, use `git reset --merge`.  *Warning*: In older versions of Git, running 'git pull' with uncommitted changes is discouraged: while possible, it leaves you in a state that may be hard to back out of in the case of a conflict.
fr: Dans Git 1.7.0 ou une version ultérieure, pour annuler une fusion conflictuelle, utilisez `git reset --merge`.  *Avertissement* : dans les anciennes versions de Git, il est déconseillé d'exécuter 'git pull' 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.

note: type: Plain text
en: If any of the remote changes overlap with local uncommitted changes, the merge will be automatically canceled and the work tree untouched.  It is generally best to get any local changes in working order before pulling or stash them away with linkgit:git-stash[1].
fr: 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 linkgit:git-stash[1] avant de tirer.

note: type: Plain text
en: This is passed to both underlying git-fetch to squelch reporting of during transfer, and underlying git-merge to squelch output during merging.
fr: 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.

note: type: Plain text
en: Pass --verbose to git-fetch and git-merge.
fr: Passer --verbose à git-fetch et git-merge.

note: type: Plain text
en: This option controls if new commits of populated submodules should be fetched, and if the working trees of active submodules should be updated, too (see linkgit:git-fetch[1], linkgit:git-config[1] and linkgit:gitmodules[5]).
fr: 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 linkgit:git-fetch[1], linkgit:git-config[1] et linkgit:gitmodules[5]).

note: type: Plain text
en: If the checkout is done via rebase, local submodule commits are rebased as well.
fr: Si l'extraction est effectuée via un rebasage, les commits des sous-module locaux sont également rebasés.

note: type: Plain text
en: If the update is done via merge, the submodule conflicts are resolved and checked out.
fr: Si la mise à jour est effectuée par fusion, les conflits de sous-module sont résolus et extraits.

note: type: Title ~
en: Options related to merging
fr: Options relatives à la fusion

note: type: Plain text
en: When true, rebase the current branch on top of the upstream branch after fetching. If there is a remote-tracking branch corresponding to the upstream branch and the upstream branch was rebased since last fetched, the rebase uses that information to avoid rebasing non-local changes.
fr: 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.

note: type: Plain text
en: When set to `merges`, rebase using `git rebase --rebase-merges` so that the local merge commits are included in the rebase (see linkgit:git-rebase[1] for details).
fr: Lorsqu'il est défini sur `merges`, rebaser en utilisant `git rebase --rebase-merges` de sorte que les commits de fusion locaux soient inclus dans le rebasage (voir linkgit:git-rebase[1] pour plus de détails).

note: type: Plain text
en: When set to `preserve` (deprecated in favor of `merges`), rebase with the `--preserve-merges` option passed to `git rebase` so that locally created merge commits will not be flattened.
fr: Lorsqu'il est défini sur `preserve` (déconseillé en faveur de `merges`), rebaser avec l'option `--preserve-merges` passée à `git rebase` afin que les commits de fusion créés localement ne soient pas aplaties.

note: type: Plain text
en: When false, merge the upstream branch into the current branch.
fr: Lorsqu'elle est fausse, fusionner la branche amont dans la branche actuelle.

note: type: Plain text
en: When `interactive`, enable the interactive mode of rebase.
fr: Lorsque vous êtes en mode `interactive`, activer le mode interactif de rebase.

note: type: Plain text
en: See `pull.rebase`, `branch.<name>.rebase` and `branch.autoSetupRebase` in linkgit:git-config[1] if you want to make `git pull` always use `--rebase` instead of merging.
fr: Voir `pull.rebase`, `branch. <nom> .rebase` et `branch.autoSetupRebase` dans linkgit:git-config[1] si vous voulez que `git pull` utilise toujours `--rebase` au lieu de fusionner .

note: type: Plain text
en: This is a potentially _dangerous_ mode of operation.  It rewrites history, which does not bode well when you published that history already.  Do *not* use this option unless you have read linkgit:git-rebase[1] carefully.
fr: C'est un mode de fonctionnement potentiellement _dangereux_.  Il réécrit l'historique, ce qui n'est pas de bon augure lorsque vous avez déjà publié cette historique.  N'utilisez *pas* cette option à moins d'avoir lu attentivement linkgit:git-rebase[1].

note: type: Plain text
en: Override earlier --rebase.
fr: Écraser le --rebase précédent.

note: type: Title ~
en: Options related to fetching
fr: Options relatives au rapatriement

note: type: Title -
en: DEFAULT BEHAVIOUR
fr: COMPORTEMENT PAR DÉFAUT

note: type: Plain text
en: Often people use `git pull` without giving any parameter.  Traditionally, this has been equivalent to saying `git pull origin`.  However, when configuration `branch.<name>.remote` is present while on branch `<name>`, that value is used instead of `origin`.
fr: Souvent, les gens utilisent `git pull` sans donner aucun paramètre.  Traditionnellement, cela équivaut à dire `git pull origin`.  Cependant, lorsque la configuration `branch.<nom>.remote` est présente alors que sur la branche `<nom>`, cette valeur est utilisée à la place de `origin`.

note: type: Plain text
en: In order to determine what URL to use to fetch from, the value of the configuration `remote.<origin>.url` is consulted and if there is not any such variable, the value on the `URL:` line in `$GIT_DIR/remotes/<origin>` is used.
fr: Afin de déterminer l'URL à utiliser pour récupérer, la valeur de la configuration `remote. <origine> .url` est consultée et s'il n'y a pas une telle variable, la valeur sur la ligne `URL:` dans `$GIT_DIR/remotes/<origine>` est utilisée.

note: type: Plain text
en: In order to determine what remote branches to fetch (and optionally store in the remote-tracking branches) when the command is run without any refspec parameters on the command line, values of the configuration variable `remote.<origin>.fetch` are consulted, and if there aren't any, `$GIT_DIR/remotes/<origin>` is consulted and its `Pull:` lines are used.  In addition to the refspec formats described in the OPTIONS section, you can have a globbing refspec that looks like this:
fr: 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 `remote. <origine> .fetch` sont consultées , et s'il n'y en a pas, `$GIT_DIR/remotes/<origine>` est consulté et ses lignes `Pull:` 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:

note: type: Plain text
en: A globbing refspec must have a non-empty RHS (i.e. must store what were fetched in remote-tracking branches), and its LHS and RHS must end with `/*`.  The above specifies that all remote branches are tracked using remote-tracking branches in `refs/remotes/origin/` hierarchy under the same name.
fr: 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 `/*`.  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 `refs/remotes/origin/` sous le même nom.

note: type: Plain text
en: The rule to determine which remote branch to merge after fetching is a bit involved, in order not to break backward compatibility.
fr: 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é.

note: type: Plain text
en: If explicit refspecs were given on the command line of `git pull`, they are all merged.
fr: Si des spécificateurs de référence explicites ont été donnés sur la ligne de commande de `git pull`, elles sont toutes fusionnées.

note: type: Plain text
en: When no refspec was given on the command line, then `git pull` uses the refspec from the configuration or `$GIT_DIR/remotes/<origin>`.  In such cases, the following rules apply:
fr: Lorsqu'aucun spécificateur de  référence n'a été donné sur la ligne de commande, alors `git pull` utilise le spécificateur de référence de la configuration ou `$GIT_DIR/remotes/<origine>`. Dans de tels cas, les règles suivantes s'appliquent :

note: type: Plain text
en: If `branch.<name>.merge` configuration for the current branch `<name>` exists, that is the name of the branch at the remote site that is merged.
fr: Si la configuration `branch.<nom>.merge` pour la branche actuelle `<nom>` existe, c'est le nom de la branche du site distant en cours de fusion.

note: type: Plain text
en: If the refspec is a globbing one, nothing is merged.
fr: Si le spécificateur de référence est un spécificateur motif, rien n'est fusionné.

note: type: Plain text
en: Otherwise the remote branch of the first refspec is merged.
fr: Sinon, la branche distante du premier spécificateur de référence est fusionnée.

note: type: Plain text
en: Update the remote-tracking branches for the repository you cloned from, then merge one of them into your current branch:
fr: 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 :

note: type: Plain text
en: Normally the branch merged in is the HEAD of the remote repository, but the choice is determined by the branch.<name>.remote and branch.<name>.merge options; see linkgit:git-config[1] for details.
fr: 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 linkgit:git-config[1] pour plus de détails.

note: type: Plain text
en: Merge into the current branch the remote branch `next`:
fr: Fusionner dans la branche actuelle la branche distante `next` :

note: type: Plain text
en: This leaves a copy of `next` temporarily in FETCH_HEAD, and updates the remote-tracking branch `origin/next`.  The same can be done by invoking fetch and merge:
fr: Cela laisse une copie de `next` temporairement dans FETCH_HEAD, et met pas à jour la branche de suivi à distance `origin/next`. La même chose peut être faite en invoquant fetch et merge :

note: type: Plain text
en: If you tried a pull which resulted in complex conflicts and would want to start over, you can recover with 'git reset'.
fr: 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 à 'git reset'.

note: type: Plain text
en: git-push - Update remote refs along with associated objects
fr: git-push - Met à jour les références distantes ainsi que les objets associés

note: type: Plain text
en: 'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
    	   [--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
    	   [-u | --set-upstream] [-o <string> | --push-option=<string>]
    	   [--[no-]signed|--signed=(true|false|if-asked)]
    	   [--force-with-lease[=<refname>[:<expect>]] [--force-if-includes]]
    	   [--no-verify] [<repository> [<refspec>...]]
fr: 'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
    	   [--repo=<dépôt>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
    	   [-u | --set-upstream] [-o <chaîne> | --push-option=<chaîne>]
    	   [--[no-]signed|--signed=(true|false|if-asked)]
    	   [--force-with-lease[=<nom-de-réf>[:<attendu>]] [--force-if-includes]]
    	   [--no-verify] [<dépôt> [<spéc-de-réf>...]]

note: type: Plain text
en: Updates remote refs using local refs, while sending objects necessary to complete the given refs.
fr: Met à jour les références distantes à l'aide des références locales, tout en envoyant les objets nécessaires pour compléter les références données.

note: type: Plain text
en: You can make interesting things happen to a repository every time you push into it, by setting up 'hooks' there.  See documentation for linkgit:git-receive-pack[1].
fr: Vous pouvez faire arriver des choses intéressantes à un dépôt chaque fois que vous poussez vers lui, en y mettant en place des « crochets ».  Voir la documentation pour linkgit:git-receive-pack[1].

note: type: Plain text
en: When the command line does not specify where to push with the `<repository>` argument, `branch.*.remote` configuration for the current branch is consulted to determine where to push.  If the configuration is missing, it defaults to 'origin'.
fr: Lorsque la ligne de commande ne spécifie pas où pousser avec l'argument `<dépôt>`, la configuration `branch. *. remote` de la branche actuelle est consultée pour déterminer où pousser. Si la configuration est manquante, elle est par défaut 'origin'.

note: type: Plain text
en: When the command line does not specify what to push with `<refspec>...` arguments or `--all`, `--mirror`, `--tags` options, the command finds the default `<refspec>` by consulting `remote.*.push` configuration, and if it is not found, honors `push.default` configuration to decide what to push (See linkgit:git-config[1] for the meaning of `push.default`).
fr: Lorsque la ligne de commande ne spécifie pas quoi pousser avec les arguments `<spéc-de-réf> ...` ou les options `--all`,` --mirror` ou `--tags`, la commande trouve la valeur par défaut` <spéc-de-réf> ` en consultant la configuration `remote. *. push`, et si elle n'est pas trouvée, honore la configuration` push.default` pour décider quoi pousser (Voir linkgit:git-config[1] pour la signification de `push.default`) .

note: type: Plain text
en: When neither the command-line nor the configuration specify what to push, the default behavior is used, which corresponds to the `simple` value for `push.default`: the current branch is pushed to the corresponding upstream branch, but as a safety measure, the push is aborted if the upstream branch does not have the same name as the local one.
fr: Lorsque ni la ligne de commande ni la configuration ne spécifient quoi pousser, le comportement par défaut est utilisé, ce qui correspond à la valeur `simple` pour` push.default` : la branche actuelle est poussée vers la branche amont correspondante, mais par mesure de sécurité, la poussée est abandonnée si la branche amont n'a pas le même nom que la branche locale.

note: type: Plain text
en: The "remote" repository that is destination of a push operation.  This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or the name of a remote (see the section <<REMOTES,REMOTES>> below).
fr: Le dépôt "distant" qui est la destination d'une opération de poussée. Ce paramètre peut être soit une URL (voir la section << URLS, URLS GIT >> ci-dessous) ou le nom d'un dépôt distant (voir la section << REMOTES, DISTANTS >> ci-dessous).

note: type: Labeled list
en: <refspec>...
fr: <réf-de-spéc>...

note: type: Plain text
en: Specify what destination ref to update with what source object.  The format of a <refspec> parameter is an optional plus `+`, followed by the source object <src>, followed by a colon `:`, followed by the destination ref <dst>.
fr: Spécifier quelle référence de destination mettre à jour avec quel objet source. Le format d'un paramètre <réf-de-spéc> est un plus facultatif `+`, suivi de l'objet source <src>, suivi de deux points `:`, suivi de la référence ref <dst> de destination.

note: type: Plain text
en: The <src> is often the name of the branch you would want to push, but it can be any arbitrary "SHA-1 expression", such as `master~4` or `HEAD` (see linkgit:gitrevisions[7]).
fr: Le <src> est souvent le nom de la branche que vous voudriez pousser, mais il peut s'agir de n'importe quelle "expression SHA-1" arbitraire, comme `master ~ 4` ou` HEAD` (voir linkgit:gitrevisions[7]) .

note: type: Plain text
en: The <dst> tells which ref on the remote side is updated with this push. Arbitrary expressions cannot be used here, an actual ref must be named.  If `git push [<repository>]` without any `<refspec>` argument is set to update some ref at the destination with `<src>` with `remote.<repository>.push` configuration variable, `:<dst>` part can be omitted--such a push will update a ref that `<src>` normally updates without any `<refspec>` on the command line.  Otherwise, missing `:<dst>` means to update the same ref as the `<src>`.
fr: Le <dst> indique quelle référence du côté distant est mise à jour avec cette poussée. Des expressions arbitraires ne peuvent pas être utilisées ici, une référence réelle doit être nommée. Si `git push [<dépôt>]` sans aucun argument `<spéc-de-réf>` est défini pour mettre à jour une référence à la destination avec `<src>` avec la variable de configuration `remote. <dépôt> .push`, la partie ` :<dst > ` peut être omise - une telle poussée mettra à jour une référence que` <src> `met normalement à jour sans aucun` <spéc-de-réf> `sur la ligne de commande. Sinon, un ` :<dst>` manquant signifie mettre à jour la même référence que le `<src>`.

note: type: Plain text
en: If <dst> doesn't start with `refs/` (e.g. `refs/heads/master`) we will try to infer where in `refs/*` on the destination <repository> it belongs based on the type of <src> being pushed and whether <dst> is ambiguous.
fr: Si <dst> ne commence pas par `refs/` (par exemple `refs/heads/master`), nous essaierons de déduire où dans `refs/*` sur le <dépôt> de destination il appartient en fonction du type de <src> poussé et si <dst> est ambigu.

note: type: Plain text
en: If <dst> unambiguously refers to a ref on the <repository> remote, then push to that ref.
fr: Si <dst> fait référence sans ambiguïté à une référence sur le <dépôt> distant, alors pousser sur cette référence.

note: type: Plain text
en: If <src> resolves to a ref starting with refs/heads/ or refs/tags/, then prepend that to <dst>.
fr: Si <src> se résout en une réf commençant par refs/heads/ ou refs/tags/, alors préfixer ceci à <dst>.

note: type: Plain text
en: Other ambiguity resolutions might be added in the future, but for now any other cases will error out with an error indicating what we tried, and depending on the `advice.pushUnqualifiedRefname` configuration (see linkgit:git-config[1]) suggest what refs/ namespace you may have wanted to push to.
fr: D'autres résolutions d'ambiguïté pourraient être ajoutées dans le futur, mais pour l'instant, tout autre cas se soldera par une erreur indiquant ce que nous avons essayé, et en fonction de la configuration `advice.pushUnqualifiedRefname` (voir linkgit:git-config[1]) suggérer vers quel espace de nom refs/ vous avez pu vouloir pousser.

note: type: Plain text
en: The object referenced by <src> is used to update the <dst> reference on the remote side. Whether this is allowed depends on where in `refs/*` the <dst> reference lives as described in detail below, in those sections "update" means any modifications except deletes, which as noted after the next few sections are treated differently.
fr: L'objet référencé par <src> est utilisé pour mettre à jour la référence <dst> du côté distant. Le fait que cela soit autorisé dépend de l'endroit où vit la référence <dst> dans `refs/*` comme décrit en détail ci-dessous. Dans ces sections, "mise à jour" signifie tout type de modification sauf les suppressions, qui, comme indiqué après les quelques sections suivantes, sont traités différemment.

note: type: Plain text
en: The `refs/heads/*` namespace will only accept commit objects, and updates only if they can be fast-forwarded.
fr: L'espace de noms `refs/heads/*` n'acceptera que les objets commit, et les mises à jour uniquement si elles peuvent être en avance rapide.

note: type: Plain text
en: The `refs/tags/*` namespace will accept any kind of object (as commits, trees and blobs can be tagged), and any updates to them will be rejected.
fr: L'espace de noms `refs/tags/*` acceptera tout type d'objet (car les commits, les arbres et les blobs peuvent être étiquetés), et toute mise à jour de ceux-ci sera rejetée.

note: type: Plain text
en: It's possible to push any type of object to any namespace outside of `refs/{tags,heads}/*`. In the case of tags and commits, these will be treated as if they were the commits inside `refs/heads/*` for the purposes of whether the update is allowed.
fr: Il est possible de pousser n'importe quel type d'objet vers n'importe quel espace de noms en dehors de `refs/{tags,heads}/*`. Dans le cas des tags et des commit, ceux-ci seront traités comme s'ils étaient des commits à l'intérieur de `refs/heads/*` afin de déterminer si la mise à jour est autorisée.

note: type: Plain text
en: I.e. a fast-forward of commits and tags outside `refs/{tags,heads}/*` is allowed, even in cases where what's being fast-forwarded is not a commit, but a tag object which happens to point to a new commit which is a fast-forward of the commit the last tag (or commit) it's replacing. Replacing a tag with an entirely different tag is also allowed, if it points to the same commit, as well as pushing a peeled tag, i.e. pushing the commit that existing tag object points to, or a new tag object which an existing commit points to.
fr: C'est-à-dire qu'une avance rapide des commits et des étiquettes en dehors de `refs/{tags,heads}/*` est autorisée, même dans les cas où ce qui est avancé rapidement n'est pas un commit, mais un objet étiquette qui pointe vers un nouveau commit qui est une avance rapide de la dernière étiquette (ou commit) qu'il remplace. Le remplacement d'une étiquette par une étiquette entièrement différente est également autorisé, si elle pointe vers le même commit, ainsi que le fait de pousser une étiquette pelée, c'est-à-dire de pousser le commit vers lequel l'objet étiquette existant pointe, ou un nouvel objet étiquette vers lequel un commit existant pointe.

note: type: Plain text
en: Tree and blob objects outside of `refs/{tags,heads}/*` will be treated the same way as if they were inside `refs/tags/*`, any update of them will be rejected.
fr: Les objets d'arbre et de blob à l'extérieur de `refs/{tags,heads}/*` seront traités de la même manière que s'ils étaient à l'intérieur de `refs/tags/*`, toute mise à jour de ceux-ci sera rejetée.

note: type: Plain text
en: All of the rules described above about what's not allowed as an update can be overridden by adding an the optional leading `+` to a refspec (or using `--force` command line option). The only exception to this is that no amount of forcing will make the `refs/heads/*` namespace accept a non-commit object. Hooks and configuration can also override or amend these rules, see e.g. `receive.denyNonFastForwards` in linkgit:git-config[1] and `pre-receive` and `update` in linkgit:githooks[5].
fr: Toutes les règles décrites ci-dessus sur ce qui n'est pas autorisé en tant que mise à jour peuvent être passées outre en ajoutant le caractère facultatif `+` à une spéc-de-réf (ou en utilisant l'option de ligne de commande `--force`). La seule exception à cela est qu'aucune quantité de forçage ne fera que l'espace de noms `refs/heads/*` acceptera un objet non-commit. Les crochets et la configuration peuvent également remplacer ou modifier ces règles, voir par ex. `receive.denyNonFastForwards` dans linkgit:git-config[1] et `pre-receive` et `update` dans linkgit:githooks[5].

note: type: Plain text
en: Pushing an empty <src> allows you to delete the <dst> ref from the remote repository. Deletions are always accepted without a leading `+` in the refspec (or `--force`), except when forbidden by configuration or hooks. See `receive.denyDeletes` in linkgit:git-config[1] and `pre-receive` and `update` in linkgit:githooks[5].
fr: Pousser un <src> vide vous permet de supprimer la référence <dst> du dépôt distant. Les suppressions sont toujours acceptées sans signe `+` dans la spéc-de-réf (ou `--force`), sauf lorsque la configuration ou les crochets l'interdisent. Voir `receive.denyDeletes` dans linkgit:git-config[1] et `pre-receive` et `update` dans linkgit:githooks[5].

note: type: Plain text
en: The special refspec `:` (or `+:` to allow non-fast-forward updates)  directs Git to push "matching" branches: for every branch that exists on the local side, the remote side is updated if a branch of the same name already exists on the remote side.
fr: La spéc-de-réf spéciale `:` (ou `+:` pour permettre des mises à jour pas en avance rapide) ordonne à Git de pousser les branches "correspondantes" : pour chaque branche qui existe du côté local, le côté distant est mis à jour si une branche du même nom existe déjà du côté distant.

note: type: Plain text
en: `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`.
fr: `tag <étiquette>` signifie la même chose que `refs/tags/<étiquette>:refs/tags/<étiquette>`.

note: type: Plain text
en: Push all branches (i.e. refs under `refs/heads/`); cannot be used with other <refspec>.
fr: Pousser toutes les branches (c'est-à-dire les références sous `refs/heads/`) ; ne peut pas être utilisé avec d'autres <spéc-de-réf>.

note: type: Plain text
en: Remove remote branches that don't have a local counterpart. For example a remote branch `tmp` will be removed if a local branch with the same name doesn't exist any more. This also respects refspecs, e.g.  `git push --prune remote refs/heads/*:refs/tmp/*` would make sure that remote `refs/tmp/foo` will be removed if `refs/heads/foo` doesn't exist.
fr: Supprimer les branches distantes qui n'ont pas d'équivalent local. Par exemple, une branche distante `tmp` sera supprimée si une branche locale du même nom n'existe plus. Cela respecte également les spécificateurs de référence, par exemple `git push --prune remote refs/heads/*:refs/tmp/*` s'assurera que la branche distante `refs/tmp/foo` sera supprimée si `refs/heads/foo` n'existe plus.

note: type: Plain text
en: Instead of naming each ref to push, specifies that all refs under `refs/` (which includes but is not limited to `refs/heads/`, `refs/remotes/`, and `refs/tags/`)  be mirrored to the remote repository.  Newly created local refs will be pushed to the remote end, locally updated refs will be force updated on the remote end, and deleted refs will be removed from the remote end.  This is the default if the configuration option `remote.<remote>.mirror` is set.
fr: Au lieu de nommer chaque réf à pousser, spécifier que toutes les réfs sous `refs/` (ce qui inclut mais n'est pas limité à `refs/heads/`, `refs/remotes/`, et `refs/tags/`) soient reflétées dans le dépôt distant.  Les réfs locales nouvellement créées seront poussées vers l'autre extrémité, les réfs mises à jour localement seront mises à jour de force sur l'extrémité distante, et les réfs supprimées seront supprimées de l'extrémité distante.  C'est la valeur par défaut si l'option de configuration `remote.<distant>.mirror` est définie.

note: type: Plain text
en: Produce machine-readable output.  The output status line for each ref will be tab-separated and sent to stdout instead of stderr.  The full symbolic names of the refs will be given.
fr: Produire une sortie lisible par machine. La ligne d'état de sortie pour chaque référence sera séparée par des tabulations et envoyée à stdout au lieu de stderr. Les noms symboliques complets des réfs seront donnés.

note: type: Plain text
en: All listed refs are deleted from the remote repository. This is the same as prefixing all refs with a colon.
fr: Toutes les références listées sont supprimées du dépôt distant. Cela revient à préfixer toutes les références par deux points.

note: type: Plain text
en: All refs under `refs/tags` are pushed, in addition to refspecs explicitly listed on the command line.
fr: Toutes les références sous `refs/tags` sont poussées, en plus des spéc-de-réfs explicitement listés sur la ligne de commande.

note: type: Plain text
en: Push all the refs that would be pushed without this option, and also push annotated tags in `refs/tags` that are missing from the remote but are pointing at commit-ish that are reachable from the refs being pushed.  This can also be specified with configuration variable `push.followTags`.  For more information, see `push.followTags` in linkgit:git-config[1].
fr: Pousser tous les réfs qui seraient poussées sans cette option, et pousser aussi les étiquettes annotées dans `refs/tags` qui sont manquantes du distant mais qui pointent vers le commit-esque qui sont accessibles depuis les réfs poussées.  Cela peut également être spécifié avec la variable de configuration `push.followTags`.  Pour plus d'informations, voir `push.followTags` dans linkgit:git-config[1].

note: type: Plain text
en: GPG-sign the push request to update refs on the receiving side, to allow it to be checked by the hooks and/or be logged.  If `false` or `--no-signed`, no signing will be attempted.  If `true` or `--signed`, the push will fail if the server does not support signed pushes.  If set to `if-asked`, sign if and only if the server supports signed pushes.  The push will also fail if the actual call to `gpg --sign` fails.  See linkgit:git-receive-pack[1] for the details on the receiving end.
fr: Signer avec GPG la demande de poussée pour mettre à jour les références du côté réception, pour lui permettre d'être vérifié par les crochets et/ou d'être enregistrée. Si `false` ou `--no-signed`, aucune signature ne sera tentée. Si `true` ou` --signed`, la poussée échouera si le serveur ne prend pas en charge les poussées signées. S'il est défini sur `if-asked`, signer si et seulement si le serveur prend en charge les poussées signées. La poussée échouera également si l'appel réel à `gpg --sign` échoue. Voir linkgit:git-receive-pack[1] pour les détails sur l'extrémité réceptrice.

note: type: Plain text
en: Use an atomic transaction on the remote side if available.  Either all refs are updated, or on error, no refs are updated.  If the server does not support atomic pushes the push will fail.
fr: Utiliser une transaction atomique à distance, si possible.  Soit toutes les références sont mises à jour, soit, en cas d'erreur, aucune référence n'est mise à jour.  Si le serveur ne prend pas en charge les poussées atomiques, la poussée échouera.

note: type: Plain text
en: Transmit the given string to the server, which passes them to the pre-receive as well as the post-receive hook. The given string must not contain a NUL or LF character.  When multiple `--push-option=<option>` are given, they are all sent to the other side in the order listed on the command line.  When no `--push-option=<option>` is given from the command line, the values of configuration variable `push.pushOption` are used instead.
fr: Transmettre la chaîne donnée au serveur, qui les transmet au crochet pre-receive ainsi qu'au crochet post-receive. La chaîne donnée ne doit pas contenir de caractère NUL ou LF.  Lorsque plusieurs `--push-option=<option>` sont donnés, ils sont tous envoyés de l'autre côté dans l'ordre indiqué sur la ligne de commande.  Lorsqu'aucun `--push-option=<option>` n'est donné en ligne de commande, les valeurs de la variable de configuration `push.pushOption` sont utilisées à la place.

note: type: Plain text
en: Path to the 'git-receive-pack' program on the remote end.  Sometimes useful when pushing to a remote repository over ssh, and you do not have the program in a directory on the default $PATH.
fr: Chemin d'accès au programme 'git-receive-pack' sur l'extrémité distante.  Parfois utile lorsque vous poussez vers un dépôt distant via ssh, et que vous n'avez pas le programme dans un répertoire sur le $PATH par défaut.

note: type: Labeled list
en: --force-with-lease=<refname>
fr: --force-with-lease=<nom-de-réf>

note: type: Labeled list
en: --force-with-lease=<refname>:<expect>
fr: --force-with-lease=<nom-de-réf>:<attendu>

note: type: Plain text
en: Usually, "git push" refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it.
fr: Habituellement, "git push" refuse de mettre à jour une référence distante qui n'est pas un ancêtre de la référence locale utilisée pour la remplacer.

note: type: Plain text
en: This option overrides this restriction if the current value of the remote ref is the expected value.  "git push" fails otherwise.
fr: Cette option passe outre cette restriction si la valeur actuelle de la référence distante est la valeur attendue. "git push" échoue sinon.

note: type: Plain text
en: Imagine that you have to rebase what you have already published.  You will have to bypass the "must fast-forward" rule in order to replace the history you originally published with the rebased history.  If somebody else built on top of your original history while you are rebasing, the tip of the branch at the remote may advance with their commit, and blindly pushing with `--force` will lose their work.
fr: Imaginez que vous devez rebaser ce que vous avez déjà publié. Vous devrez contourner la règle "doit avancer rapidement" afin de remplacer l'historique que vous avez initialement publié par l'historique rebasé. Si quelqu'un d'autre a construit sur votre historique d'origine pendant que vous rebasez, le sommet de la branche distante peut avoir avancé avec son commit, et pousser aveuglément avec `--force` éliminera son travail.

note: type: Plain text
en: This option allows you to say that you expect the history you are updating is what you rebased and want to replace. If the remote ref still points at the commit you specified, you can be sure that no other people did anything to the ref. It is like taking a "lease" on the ref without explicitly locking it, and the remote ref is updated only if the "lease" is still valid.
fr: Cette option vous permet de dire que vous vous attendez à ce que l'historique que vous mettez à jour est ce que vous avez rebasé et que vous souhaitez remplacer. Si la référence distante pointe toujours sur le commit que vous avez spécifié, vous pouvez être sûr qu'aucune autre personne n'a fait quoi que ce soit à la référence. C'est comme prendre un "contrat" sur la référence sans la verrouiller explicitement, et la référence distante n'est mise à jour que si le "contrat" est toujours valide.

note: type: Plain text
en: `--force-with-lease` alone, without specifying the details, will protect all remote refs that are going to be updated by requiring their current value to be the same as the remote-tracking branch we have for them.
fr: Seul `--force-with-lease`, sans préciser les détails, protégera toutes les références distantes qui vont être mises à jour en exigeant leur valeur actuelle à être la même que la branche de suivi à distance que nous avons pour eux.

note: type: Plain text
en: `--force-with-lease=<refname>`, without specifying the expected value, will protect the named ref (alone), if it is going to be updated, by requiring its current value to be the same as the remote-tracking branch we have for it.
fr: `--force-with-lease=<nom-de-réf>`, sans spécifier la valeur attendue, protégera (seulement) la référence nommée, si elle va être mise à jour, en exigeant que sa valeur actuelle soit la même que la branche de suivi à distance que nous avons pour elle.

note: type: Plain text
en: `--force-with-lease=<refname>:<expect>` will protect the named ref (alone), if it is going to be updated, by requiring its current value to be the same as the specified value `<expect>` (which is allowed to be different from the remote-tracking branch we have for the refname, or we do not even have to have such a remote-tracking branch when this form is used).  If `<expect>` is the empty string, then the named ref must not already exist.
fr: `--force-with-lease = <nom-de-réf>: <attendu>` protégera (seulement) la référence nommée, si elle va être mise à jour, en exigeant que sa valeur actuelle soit la même que la valeur spécifiée `<attendu > `(qui peut être différente de la branche de suivi à distance que nous avons pour le nom de référence, ou si nous n'avons même pas besoin d'avoir une telle branche de suivi à distance lorsque cette forme est utilisée). Si `<attendu>` est la chaîne vide, alors la référence nommée ne doit pas déjà exister.

note: type: Plain text
en: Note that all forms other than `--force-with-lease=<refname>:<expect>` that specifies the expected current value of the ref explicitly are still experimental and their semantics may change as we gain experience with this feature.
fr: Notez que toutes les formes autres que `--force-with-lease=<nom-de-réf>:<attendu>` qui spécifie explicitement la valeur actuelle attendue de la référence sont toujours expérimentales et leur sémantique peut changer à mesure que nous acquérons de l'expérience avec cette fonctionnalité.

note: type: Plain text
en: "--no-force-with-lease" will cancel all the previous --force-with-lease on the command line.
fr: "--no-force-with-lease" annulera tous les précédents --force-with-lease sur la ligne de commande.

note: type: Plain text
en: A general note on safety: supplying this option without an expected value, i.e. as `--force-with-lease` or `--force-with-lease=<refname>` interacts very badly with anything that implicitly runs `git fetch` on the remote to be pushed to in the background, e.g. `git fetch origin` on your repository in a cronjob.
fr: Une note générale sur la sécurité : fournir cette option sans valeur attendue, c'est-à-dire que `--force-with-lease` ou `--force-with-lease=<nom-de-réf>` interagit très mal avec tout ce qui exécute implicitement `git fetch` sur le distant pour être poussé en arrière-plan, par exemple `git fetch origin` sur votre dépôt dans un job cron.

note: type: Plain text
en: The protection it offers over `--force` is ensuring that subsequent changes your work wasn't based on aren't clobbered, but this is trivially defeated if some background process is updating refs in the background. We don't have anything except the remote tracking info to go by as a heuristic for refs you're expected to have seen & are willing to clobber.
fr: La protection qu'il offre par rapport à `--force` est d'assurer que les modifications ultérieures sur lesquelles votre travail n'était pas basé ne sont pas supprimées, mais elle est trivialement réduite à néant si un processus de mise à jour des références est effectué en arrière-plan. Nous n'avons rien d'autre que les informations de suivi à distance à utiliser comme heuristique pour les références que vous êtes censé avoir vues et que vous êtes prêt à supprimer.

note: type: Plain text
en: If your editor or some other system is running `git fetch` in the background for you a way to mitigate this is to simply set up another remote:
fr: Si votre éditeur ou un autre système exécute `git fetch` en arrière-plan pour vous, un moyen d'atténuer cela est simplement de configurer un autre distant :

note: type: Plain text
en: Now when the background process runs `git fetch origin` the references on `origin-push` won't be updated, and thus commands like:
fr: Maintenant, lorsque le processus d'arrière-plan exécute `git fetch origin`, les références sur` origin-push` ne seront pas mises à jour, et donc des commandes comme :

note: type: Plain text
en: Will fail unless you manually run `git fetch origin-push`. This method is of course entirely defeated by something that runs `git fetch --all`, in that case you'd need to either disable it or do something more tedious like:
fr: Échouera à moins que vous ne lanciez manuellement `git fetch origin-push`. Cette méthode est bien sûr entièrement contrecarrée par quelque chose qui lance `git fetch --all`, auquel cas vous devrez soit la désactiver soit faire quelque chose de plus fastidieux comme :

note: type: Plain text
en: 	git fetch              # update 'master' from remote
    	git tag base master    # mark our base point
    	git rebase -i master   # rewrite some commits
    	git push --force-with-lease=master:base master:master
fr: 	git fetch              # mettre à jour 'master' depuis le distant
    	git tag base master    # étiqueter notre point de base
    	git rebase -i master   # réécrire quelques commits
    	git push --force-with-lease=master:base master:master

note: type: Plain text
en: I.e. create a `base` tag for versions of the upstream code that you've seen and are willing to overwrite, then rewrite history, and finally force push changes to `master` if the remote version is still at `base`, regardless of what your local `remotes/origin/master` has been updated to in the background.
fr: C'est-à-dire créer une étiquette `base` pour les versions du code amont que vous avez vues et que vous êtes prêt à écraser, puis réécrire l'historique, et enfin forcer la poussée des modification vers `master` si la version distante est toujours à `base`, indépendamment de ce que votre `remotes/origin/master` local a été mis à jour en arrière-plan.

note: type: Plain text
en: Alternatively, specifying `--force-if-includes` as an ancillary option along with `--force-with-lease[=<refname>]` (i.e., without saying what exact commit the ref on the remote side must be pointing at, or which refs on the remote side are being protected) at the time of "push" will verify if updates from the remote-tracking refs that may have been implicitly updated in the background are integrated locally before allowing a forced update.
fr: Alternativement, spécifier `--force-if-includes` comme une option auxiliaire avec `--force-with-lease[=<nom-de-réf>]` (c'est-à-dire sans dire vers quel commit exact la réf du côté distant doit pointer, ou quelles réfs du côté distant sont protégées) au moment de "push" vérifiera si les mises à jour des réfs du côté distant qui peuvent avoir été implicitement mises à jour en arrière-plan sont intégrées localement avant d'autoriser une mise à jour forcée.

note: type: Plain text
en: Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it.  Also, when `--force-with-lease` option is used, the command refuses to update a remote ref whose current value does not match what is expected.
fr: Habituellement, la commande refuse de mettre à jour une référence distante qui n'est pas un ancêtre de la référence locale utilisée pour la remplacer. De plus, lorsque l'option `--force-with-lease` est utilisée, la commande refuse de mettre à jour une référence distante dont la valeur actuelle ne correspond pas à ce qui est attendu.

note: type: Plain text
en: This flag disables these checks, and can cause the remote repository to lose commits; use it with care.
fr: Ce drapeau désactive ces contrôles et peut entraîner la perte de commits du dépôt distant ; utilisez-le avec précaution.

note: type: Plain text
en: Note that `--force` applies to all the refs that are pushed, hence using it with `push.default` set to `matching` or with multiple push destinations configured with `remote.*.push` may overwrite refs other than the current branch (including local refs that are strictly behind their remote counterpart).  To force a push to only one branch, use a `+` in front of the refspec to push (e.g `git push origin +master` to force a push to the `master` branch). See the `<refspec>...` section above for details.
fr: Notez que `--force` s'applique à toutes les refs qui sont poussées, donc l'utiliser avec `push.default` réglé sur `matching` ou avec plusieurs destinations de poussée configurées avec `remote.*.push` peut écraser les refs autres que la branche courante (y compris les refs locales qui sont strictement derrière leur homologue distante).  Pour forcer un push vers une seule branche, utilisez un " + " devant le spécificateur de référence à pousser (par exemple `git push origin +master` pour forcer une poussée vers la branche `master`). Voir la section `<spéc-de -réf>...` ci-dessus pour plus de détails.

note: type: Plain text
en: Force an update only if the tip of the remote-tracking ref has been integrated locally.
fr: Ne forcer une mise à jour que si le sommet de la référence de suivi à distance a été intégré localement.

note: type: Plain text
en: This option enables a check that verifies if the tip of the remote-tracking ref is reachable from one of the "reflog" entries of the local branch based in it for a rewrite. The check ensures that any updates from the remote have been incorporated locally by rejecting the forced update if that is not the case.
fr: Cette option permet de vérifier si le sommet de la référence de suivi à distance est accessible depuis l'une des entrées "reflog" de la branche locale qui est basée dessus pour une réécriture. Cette vérification permet de s'assurer que toutes les mises à jour du distant ont été incorporées localement en rejetant la mise à jour forcée si ce n'est pas le cas.

note: type: Plain text
en: If the option is passed without specifying `--force-with-lease`, or specified along with `--force-with-lease=<refname>:<expect>`, it is a "no-op".
fr: Si l'option est passée sans spécifier `--force-with-lease`, ou spécifiée avec `--force-with-lease=<nom-de-réf>:<attendu>`, c'est un "no-op".

note: type: Plain text
en: Specifying `--no-force-if-includes` disables this behavior.
fr: Spécifier `--no-force-if-includes` désactive ce comportement.

note: type: Labeled list
en: --repo=<repository>
fr: --repo=<dépôt>

note: type: Plain text
en: This option is equivalent to the <repository> argument. If both are specified, the command-line argument takes precedence.
fr: Cette option est équivalente à l'argument <dépôt>. Si les deux sont spécifiés, l'argument de la ligne de commande a la priorité.

note: type: Plain text
en: For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less linkgit:git-pull[1] and other commands. For more information, see `branch.<name>.merge` in linkgit:git-config[1].
fr: Pour chaque branche qui est à jour ou poussée avec succès, ajoutet une référence de suivi amont, utilisée par les commandes sans argument linkgit:git-pull[1] et autres. Pour plus d'informations, voir `branch.<nom>.merge` dans linkgit:git-config[1].

note: type: Plain text
en: These options are passed to linkgit:git-send-pack[1]. A thin transfer significantly reduces the amount of sent data when the sender and receiver share many of the same objects in common. The default is `--thin`.
fr: Ces options sont passées à linkgit:git-send-pack[1]. Un transfert fin réduit considérablement la quantité de données envoyées lorsque l'expéditeur et le destinataire ont de nombreux objets identiques en commun. La valeur par défaut est `--thin`.

note: type: Plain text
en: Suppress all output, including the listing of updated refs, unless an error occurs. Progress is not reported to the standard error stream.
fr: Supprimer toutes les sorties, y compris la liste des références mises à jour, à moins qu'une erreur ne se produise. Les progrès ne sont pas signalés dans le flux d'erreurs standard.

note: type: Plain text
en: May be used to make sure all submodule commits used by the revisions to be pushed are available on a remote-tracking branch.  If 'check' is used Git will verify that all submodule commits that changed in the revisions to be pushed are available on at least one remote of the submodule. If any commits are missing the push will be aborted and exit with non-zero status. If 'on-demand' is used all submodules that changed in the revisions to be pushed will be pushed. If on-demand was not able to push all necessary revisions it will also be aborted and exit with non-zero status. If 'only' is used all submodules will be recursively pushed while the superproject is left unpushed. A value of 'no' or using `--no-recurse-submodules` can be used to override the push.recurseSubmodules configuration variable when no submodule recursion is required.
fr: Peut être utilisé pour s'assurer que tous les commits de sous-module utilisés par les révisions à pousser sont disponibles sur une branche de suivi à distance.  Si 'check' est utilisé, Git vérifiera que tous les commits de sous-module qui ont changé dans les révisions à pousser sont disponibles sur au moins une branche distante du sous-module. S'il manque des validations, la poussée sera interrompue et sortira avec un statut non nul. Si 'on-demand' est utilisé, tous les sous-module qui ont été modifiés dans les révisions à pousser seront poussés. Si 'on-demand' n'a pas pu pousser toutes les révisions nécessaires, il sera également interrompu et sortira avec un statut non nul. Si 'only' est utilisé, tous les sous-modules seront poussés récursivement alors que le superprojet est laissé sans poussée. La valeur 'no' ou l'utilisation de `--no-recurse-submodules` peut être utilisée pour remplacer la variable de configuration push.recurseSubmodules lorsqu'aucune récursion de sous-module n'est nécessaire.

note: type: Plain text
en: Toggle the pre-push hook (see linkgit:githooks[5]).  The default is --verify, giving the hook a chance to prevent the push.  With --no-verify, the hook is bypassed completely.
fr: Basculer le crochet de pré-poussée 'pre-push' (voir linkgit:githooks[5]).  La valeur par défaut est --verify, ce qui donne au crochet une chance d'empêcher la poussée.  Avec --no-verify, le crochet est complètement contourné.

note: type: Plain text
en: The output of "git push" depends on the transport method used; this section describes the output when pushing over the Git protocol (either locally or via ssh).
fr: La sortie de "git push" dépend de la méthode de transport utilisée ; cette section décrit la sortie lors du passage par protocole Git (soit localement soit via ssh).

note: type: Plain text
en: The status of the push is output in tabular form, with each line representing the status of a single ref. Each line is of the form:
fr: L'état de la poussée est affiché sous forme de tableau, chaque ligne représentant l'état d'une seule référence. Chaque ligne est de la forme :

note: type: delimited block -
en:  <flag> <summary> <from> -> <to> (<reason>)
fr:  <drapeau> <résumé> <de> -> <à> (<raison>)

note: type: Plain text
en: If --porcelain is used, then each line of the output is of the form:
fr: Si --porcelain est utilisé, alors chaque ligne de la sortie est de la forme :

note: type: delimited block -
en:  <flag> \t <from>:<to> \t <summary> (<reason>)
fr:  <drapeau> \t <de>:<à> \t <résumé> (<raison>)

note: type: Plain text
en: The status of up-to-date refs is shown only if --porcelain or --verbose option is used.
fr: L'état des références à jour n'est indiqué que si l'option --porcelaine ou --verbose est utilisée.

note: type: Plain text
en: for a successfully pushed fast-forward;
fr: pour une poussée en avance rapide réussie ;

note: type: Plain text
en: for a successfully deleted ref;
fr: pour une réf. supprimée avec succès ;

note: type: Plain text
en: for a successfully pushed new ref;
fr: pour une nouvelle référence poussée avec succès ;

note: type: Plain text
en: for a ref that was rejected or failed to push; and
fr: pour une référence qui a été rejetée ou qui n'a pas réussi à être poussée ; et

note: type: Plain text
en: for a ref that was up to date and did not need pushing.
fr: pour une référence qui était à jour et n'avait pas besoin d'être poussée.

note: type: Plain text
en: For a successfully pushed ref, the summary shows the old and new values of the ref in a form suitable for using as an argument to `git log` (this is `<old>..<new>` in most cases, and `<old>...<new>` for forced non-fast-forward updates).
fr: Pour une réf poussée avec succès, le résumé montre les anciennes et les nouvelles valeurs de la réf sous une forme qui peut être utilisée comme argument pour `git log` (c'est `<ancien>..<nouveau>` dans la plupart des cas, et `<ancien>...<nouveau>` pour les mises à jour forcées pas en avance rapide).

note: type: Plain text
en: For a failed update, more details are given:
fr: En cas d'échec de la mise à jour, de plus amples détails sont donnés :

note: type: Labeled list
en: rejected
fr: rejeté

note: type: Plain text
en: Git did not try to send the ref at all, typically because it is not a fast-forward and you did not force the update.
fr: Git n'a pas du tout essayé d'envoyer la référence, généralement parce que ce n'est pas une avance rapide et que vous n'avez pas forcé la mise à jour.

note: type: Labeled list
en: remote rejected
fr: le distant a rejeté

note: type: Plain text
en: The remote end refused the update.  Usually caused by a hook on the remote side, or because the remote repository has one of the following safety options in effect: `receive.denyCurrentBranch` (for pushes to the checked out branch), `receive.denyNonFastForwards` (for forced non-fast-forward updates), `receive.denyDeletes` or `receive.denyDeleteCurrent`.  See linkgit:git-config[1].
fr: Le serveur distant a refusé la mise à jour.  Généralement causé par un crochet du côté distant, ou parce que le dépôt distant a l'une des options de sécurité suivantes en vigueur : `receive.denyCurrentBranch` (pour les poussées vers la branche extraite), `receive.denyNonFastForwards` (pour les mises à jour forcées mais pas en avance rapide), `receive.denyDeletes` ou `receive.denyDeleteCurrent`.  Voir linkgit:git-config[1].

note: type: Labeled list
en: remote failure
fr: échec distant

note: type: Plain text
en: The remote end did not report the successful update of the ref, perhaps because of a temporary error on the remote side, a break in the network connection, or other transient error.
fr: Le serveur distant n'a pas signalé la mise à jour réussie de la référence, peut-être en raison d'une erreur temporaire du côté distant, d'une rupture de la connexion réseau ou d'une autre erreur transitoire.

note: type: Plain text
en: The name of the local ref being pushed, minus its `refs/<type>/` prefix. In the case of deletion, the name of the local ref is omitted.
fr: Le nom de la référence locale qui est poussée, moins son préfixe `refs/<type>/`. En cas de suppression, le nom de la référence locale est omis.

note: type: Plain text
en: The name of the remote ref being updated, minus its `refs/<type>/` prefix.
fr: Le nom de la référence distante en cours de mise à jour, moins son préfixe `refs/<type>/`.

note: type: Plain text
en: A human-readable explanation. In the case of successfully pushed refs, no explanation is needed. For a failed ref, the reason for failure is described.
fr: Une explication compréhensible. Dans le cas des références qui ont été poussées avec succès, aucune explication n'est nécessaire. Dans le cas d'une référence en échec, la raison de l'échec est décrite.

note: type: Title -
en: NOTE ABOUT FAST-FORWARDS
fr: NOTE SUR LES AVANCES RAPIDES

note: type: Plain text
en: When an update changes a branch (or more in general, a ref) that used to point at commit A to point at another commit B, it is called a fast-forward update if and only if B is a descendant of A.
fr: Lorsqu'une mise à jour modifie une branche (ou plus généralement, une réf) qui pointait auparavant vers le commit A pour pointer vers un autre commit B, on parle de mise à jour en avance rapide si et seulement si B est un descendant de A.

note: type: Plain text
en: In a fast-forward update from A to B, the set of commits that the original commit A built on top of is a subset of the commits the new commit B builds on top of.  Hence, it does not lose any history.
fr: Dans une mise à jour rapide de A à B, l'ensemble des commits sur lesquels le commit original A s'appuyait est un sous-ensemble des commits sur lesquels le nouveau commit B s'appuie.  Ainsi, il ne perd pas d'historique.

note: type: Plain text
en: In contrast, a non-fast-forward update will lose history.  For example, suppose you and somebody else started at the same commit X, and you built a history leading to commit B while the other person built a history leading to commit A.  The history looks like this:
fr: En revanche, une mise à jour pas en avance rapide fera perdre de l'historique.  Par exemple, supposons que vous et quelqu'un d'autre ayez commencé au même commit X, et que vous ayez construit un historique menant au commit B alors que l'autre personne a construit un historique menant au commit A.  L'historique ressemble à ceci :

note: type: Plain text
en: Further suppose that the other person already pushed changes leading to A back to the original repository from which you two obtained the original commit X.
fr: Supposons en outre que l'autre personne ait déjà poussé les modifications menant à A vers le dépôt original dont vous avez tous deux obtenu le commit X original.

note: type: Plain text
en: The push done by the other person updated the branch that used to point at commit X to point at commit A.  It is a fast-forward.
fr: La poussée effectuée par l'autre personne a mis à jour la branche qui pointait sur le commit X pour pointer sur le commit A. Il s'agit d'une avance rapide.

note: type: Plain text
en: But if you try to push, you will attempt to update the branch (that now points at A) with commit B.  This does _not_ fast-forward.  If you did so, the changes introduced by commit A will be lost, because everybody will now start building on top of B.
fr: Mais si vous essayez de pousser, vous essaierez de mettre à jour la branche (qui pointe maintenant vers A) avec le commit B. Cela ne fait _pas_ d'avance rapide.  Si vous le faites, les modifications introduits par le commit A seront perdues, car tout le monde va maintenant commencer à construire sur B.

note: type: Plain text
en: The command by default does not allow an update that is not a fast-forward to prevent such loss of history.
fr: La commande par défaut ne permet pas une mise à jour qui ne soit pas une avance rapide pour éviter une telle perte d'historique.

note: type: Plain text
en: If you do not want to lose your work (history from X to B) or the work by the other person (history from X to A), you would need to first fetch the history from the repository, create a history that contains changes done by both parties, and push the result back.
fr: Si vous ne voulez pas perdre votre travail (historique de X à B) ou le travail de l'autre personne (historique de X à A), vous devez d'abord récupérer l'historique du dépôt, créer un historique qui contient les modifications effectuées par les deux parties et repousser le résultat.

note: type: Plain text
en: You can perform "git pull", resolve potential conflicts, and "git push" the result.  A "git pull" will create a merge commit C between commits A and B.
fr: Vous pouvez effectuer un "git pull", résoudre les conflits potentiels et "git push" le résultat.  Un "git pull" créera un commit de fusion C entre les commit A et B.

note: type: Plain text
en: Updating A with the resulting merge commit will fast-forward and your push will be accepted.
fr: La mise à jour de A avec le commit de fusion résultant sera une avance rapide et votre poussée sera acceptée.

note: type: Plain text
en: Alternatively, you can rebase your change between X and B on top of A, with "git pull --rebase", and push the result back.  The rebase will create a new commit D that builds the change between X and B on top of A.
fr: Vous pouvez également rebaser votre modification entre X et B sur A, avec "git pull --rebase", et pousser le résultat.  Le rebasage créera un nouveau commit D qui construit la modification entre X et B sur A.

note: type: Plain text
en: Again, updating A with this commit will fast-forward and your push will be accepted.
fr: Là encore, la mise à jour de A avec ce commit sera en avance rapide et votre poussée sera acceptée.

note: type: Plain text
en: There is another common situation where you may encounter non-fast-forward rejection when you try to push, and it is possible even when you are pushing into a repository nobody else pushes into. After you push commit A yourself (in the first picture in this section), replace it with "git commit --amend" to produce commit B, and you try to push it out, because forgot that you have pushed A out already. In such a case, and only if you are certain that nobody in the meantime fetched your earlier commit A (and started building on top of it), you can run "git push --force" to overwrite it. In other words, "git push --force" is a method reserved for a case where you do mean to lose history.
fr: Il existe une autre situation courante dans laquelle vous pouvez rencontrer un rejet du fait d'absence d'avance rapide lorsque vous essayez de pousser, et c'est possible même lorsque vous poussez dans un dépôt dans lequel personne d'autre ne pousse. Après avoir vous-même poussé le commit A (dans la première image de cette section), remplacez-le par "git commit --amend" pour produire le commit B, et vous essayez de le pousser, parce que vous avez oublié que vous avez déjà poussé A. Dans un tel cas, et seulement si vous êtes certain que personne n'a récupéré votre commit A précédent (et a commencé à construire dessus), vous pouvez lancer "git push --force" pour l'écraser. En d'autres termes, "git push --force" est une méthode réservée aux cas où vous voulez vraiment perdre l'historique.

note: type: Plain text
en: Works like `git push <remote>`, where <remote> is the current branch's remote (or `origin`, if no remote is configured for the current branch).
fr: Fonctionne comme `git push <distant>`, où <distant> est le distant de la branche actuelle (ou `origin`, si aucun distant n'est configuré pour la branche actuelle).

note: type: Plain text
en: Without additional configuration, pushes the current branch to the configured upstream (`branch.<name>.merge` configuration variable) if it has the same name as the current branch, and errors out without pushing otherwise.
fr: Sans configuration supplémentaire, pousse la branche en cours vers l'amont configuré (variable de configuration `branch.<nom>.merge`) si elle a le même nom que la branche actuelle et génère des erreurs sans pousser autrement.

note: type: Plain text
en: The default behavior of this command when no <refspec> is given can be configured by setting the `push` option of the remote, or the `push.default` configuration variable.
fr: Le comportement par défaut de cette commande quand aucun <spec-de-réf> n'est donné peut être configuré en définissant l'option `push` du distant, ou la variable de configuration `push.default`.

note: type: Plain text
en: For example, to default to pushing only the current branch to `origin` use `git config remote.origin.push HEAD`.  Any valid <refspec> (like the ones in the examples below) can be configured as the default for `git push origin`.
fr: Par exemple, pour pousser par défaut uniquement la branche actelle vers `origin`, utilisez `git config remote.origin.push HEAD`.  Tout <spec-de-réf> valide (comme ceux des exemples ci-dessous) peut être configuré par défaut pour `git push origin`.

note: type: Plain text
en: Push "matching" branches to `origin`. See <refspec> in the <<OPTIONS,OPTIONS>> section above for a description of "matching" branches.
fr: Pousse les branches "correspondantes" sur `originè. Voir <spec-de-réf> dans la section <<OPTIONS,OPTIONS>> ci-dessus pour une description des branches "correspondantes".

note: type: Plain text
en: Find a ref that matches `master` in the source repository (most likely, it would find `refs/heads/master`), and update the same ref (e.g. `refs/heads/master`) in `origin` repository with it.  If `master` did not exist remotely, it would be created.
fr: Trouve une réf qui correspond à `master` dans le dépôt source (le plus souvent, trouvera `refs/heads/master`), et met à jour la même réf (par exemple `refs/heads/master`) dans le dépôt `origin` avec elle.  Si `master` n'existait pas à distance, elle serait créée.

note: type: Plain text
en: A handy way to push the current branch to the same name on the remote.
fr: Un moyen pratique de pousser la branche actuelle vers le même nom sur le distant.

note: type: Labeled list
en: `git push mothership master:satellite/master dev:satellite/dev`
fr: `git push vaisseaumère master:satellite/master dev:satellite/dev`

note: type: Plain text
en: Use the source ref that matches `master` (e.g. `refs/heads/master`)  to update the ref that matches `satellite/master` (most probably `refs/remotes/satellite/master`) in the `mothership` repository; do the same for `dev` and `satellite/dev`.
fr: Utiliser la référence source qui correspond à `master` (par exemple `refs/heads/master`) pour mettre à jour la référence qui correspond à `satellite/master` (très probablement `refs/remotes/satellite/master`) dans le dépôt `vaisseaumère` ; faire de même pour `dev` et `satellite/dev`.

note: type: Plain text
en: See the section describing `<refspec>...` above for a discussion of the matching semantics.
fr: Voir la section décrivant `<spéc-de-réf>...` ci-dessus pour une discussion sur la sémantique de correspondance.

note: type: Plain text
en: This is to emulate `git fetch` run on the `mothership` using `git push` that is run in the opposite direction in order to integrate the work done on `satellite`, and is often necessary when you can only make connection in one way (i.e. satellite can ssh into mothership but mothership cannot initiate connection to satellite because the latter is behind a firewall or does not run sshd).
fr: Il s'agit d'émuler `git fetch` exécuté sur le `vaisseaumère` en utilisant `git push` qui est exécuté dans la direction opposée afin d'intégrer le travail effectué sur `satellite`, et est souvent nécessaire lorsque vous ne pouvez établir la connexion que dans un seul sens (c'est-à-dire que le satellite peut ssh dans vaisseaumère mais que le vaisseaumère ne peut pas établir de connexion avec satellite parce que ce dernier se trouve derrière un pare-feu ou n'exécute pas sshd).

note: type: Plain text
en: After running this `git push` on the `satellite` machine, you would ssh into the `mothership` and run `git merge` there to complete the emulation of `git pull` that were run on `mothership` to pull changes made on `satellite`.
fr: Après avoir lancé ce `git push` sur la machine `satellite`, vous ouvririez un ssh sur le `vaisseaumère` et y lanceriez `git merge` pour compléter l'émulation de `git pull` qui était lancée sur `vaisseaumère` afin de tirer les modifications faites sur `satellite`.

note: type: Plain text
en: Push the current branch to the remote ref matching `master` in the `origin` repository. This form is convenient to push the current branch without thinking about its local name.
fr: Pousser la branche actuelle vers la référence distante correspondant à `master` dans le dépôt `origin`. Cette forme est pratique pour pousser la branche actuelle sans avoir à penser à son nom local.

note: type: Plain text
en: Create the branch `experimental` in the `origin` repository by copying the current `master` branch.  This form is only needed to create a new branch or tag in the remote repository when the local name and the remote name are different; otherwise, the ref name on its own will work.
fr: Créer la branche `experimental` dans le dépôt `origin` en copiant la branche `master` actuelle.  Cette forme n'est nécessaire que pour créer une nouvelle branche ou étiquette dans le dépôt distant lorsque le nom local et le nom distant sont différents ; sinon, le nom de la réf seul fonctionnera.

note: type: Plain text
en: Find a ref that matches `experimental` in the `origin` repository (e.g. `refs/heads/experimental`), and delete it.
fr: Trouver une ref qui correspond à `experimental` dans le dépôt `origin` (par exemple `refs/heads/experimental`), et la supprimer.

note: type: Plain text
en: Update the origin repository's master branch with the dev branch, allowing non-fast-forward updates.  *This can leave unreferenced commits dangling in the origin repository.* Consider the following situation, where a fast-forward is not possible:
fr: Mettre à jour la branche master du dépôt origin avec la branche dev, ce qui permet des mises à jour en mode non avance rapide.  *Ceci peut laisser des commits non référencés dans le dépôt origin.* Considérez la situation suivante, où une avance rapide n'est pas possible :

note: type: Plain text
en: The above command would change the origin repository to
fr: La commande ci-dessus changerait le dépôt origin en

note: type: delimited block -
en: 		      A---B  (unnamed branch)
    		     /
    	    o---o---o---X---Y---Z  master
fr: 		      A---B  (branche sans nom)
    		     /
    	    o---o---o---X---Y---Z  master

note: type: Plain text
en: Commits A and B would no longer belong to a branch with a symbolic name, and so would be unreachable.  As such, these commits would be removed by a `git gc` command on the origin repository.
fr: Les commits A et B n'appartiendraient plus à une branche portant un nom symbolique, et seraient donc injoignables.  Dans cet état, ces commits seraient supprimés par une commande `git gc` sur le dépôt origin.

note: type: Labeled list
en: --series <file>
fr: --series <fichier>

note: type: Plain text
en: git-range-diff - Compare two commit ranges (e.g. two versions of a branch)
fr: git-range-diff - Comparer deux plages de commits (par exemple deux versions d'une branche)

note: type: Plain text
en: This flag is passed to the `git log` program (see linkgit:git-log[1]) that generates the patches.
fr: Ce drapeau est passé au programme `git log` (voir linkgit:git-log[1]) qui génère les rustines.

note: type: Labeled list
en: <range1> <range2>
fr: <plage1><plage2>

note: type: Labeled list
en: <rev1>...<rev2>
fr: <rév1>...<rév2>

note: type: Labeled list
en: <base> <rev1> <rev2>
fr: <base> <rév1> <rév2>

note: type: Title -
en: OUTPUT STABILITY
fr: STABILITÉ DE LA SORTIE

note: type: Plain text
en: git-read-tree - Reads tree information into the index
fr: git-read-tree - Lit l'information d'arbre dans l'index

note: type: Plain text
en: 'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>]
    		[-u [--exclude-per-directory=<gitignore>] | -i]]
    		[--index-output=<file>] [--no-sparse-checkout]
    		(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])
fr: 'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<préfixe>]
    		[-u [--exclude-per-directory=<gitignore>] | -i]]
    		[--index-output=<fichier>] [--no-sparse-checkout]
    		(--empty | <arbre-esque1> [<arbre-esque2> [<arbre-esque3>]])

note: type: Labeled list
en: --prefix=<prefix>
fr: --prefix=<préfixe>

note: type: Labeled list
en: --index-output=<file>
fr: --index-output=<fichier>

note: type: Plain text
en: Using --recurse-submodules will update the content of all active submodules according to the commit recorded in the superproject by calling read-tree recursively, also setting the submodules' HEAD to be detached at that commit.
fr: L'utilisation de `--recurse-submodules` permet de mettre à jour le contenu de tous les sous-modules actifs en fonction du commit enregistré dans le super-projet en appelant récursivement read-tree, en définissant également le HEAD des sous-modules à détacher à ce commit.

note: type: Labeled list
en: <tree-ish#>
fr: <arbre-esque#>

note: type: Plain text
en: git-rebase - Reapply commits on top of another base tip
fr: git-rebase - Réapplique des commits sur le sommet de l'autre base

note: type: Plain text
en: We can get this using the following command:
fr: Nous pouvons l'obtenir en utilisant la commande suivante :

note: type: Plain text
en: As a special case, you may use "A\...B" as a shortcut for the merge base of A and B if there is exactly one merge base. You can leave out at most one of A and B, in which case it defaults to HEAD.
fr: Autre cas spécial, vous pouvez utiliser « A\...B » comme raccourci pour la base de fusion de `A` et `B` s'il y a exactement une seule base de fusion. Vous pouvez ne pas spécifier `A` ou `B`, auquel cas ce sera `HEAD` par défaut.

note: type: Plain text
en: Edit the todo list during an interactive rebase.
fr: Éditer la liste à faire lors d'un rebasage interactif.

note: type: Labeled list
en: -X <strategy-option>
fr: -X <option-de-strategie>

note: type: Plain text
en: Be quiet. Implies --no-stat.
fr: Être silencieux. Implique --no-stat.

note: type: Plain text
en: Be verbose. Implies --stat.
fr: Mode bavard. Implique --stat.

note: type: Plain text
en: This option bypasses the pre-rebase hook.  See also linkgit:githooks[5].
fr: Cette option court-circuite le crochet pre-rebase. Voir aussi linkgit:githooks[5].

note: type: Plain text
en: Instead of using the current time as the committer date, use the author date of the commit being rebased as the committer date. This option implies `--force-rebase`.
fr: Au lieu d'utiliser la date actuelle comme date de validateur, utilisez la date de l'auteur du commit comme date de validateur. Cette option implique `--force-rebase`.

note: type: Title -
en: INCOMPATIBLE OPTIONS
fr: OPTIONS INCOMPATIBLES

note: type: Plain text
en: The following options:
fr: Les options suivantes :

note: type: Plain text
en: are incompatible with the following options:
fr: sont incompatibles avec les options suivantes :

note: type: Plain text
en: --preserve-merges and --interactive
fr: --preserve-merges et --interactive

note: type: Plain text
en: --preserve-merges and --signoff
fr: --preserve-merges et --signoff

note: type: Plain text
en: --preserve-merges and --rebase-merges
fr: --preserve-merges et --rebase-merges

note: type: Plain text
en: --preserve-merges and --empty=
fr: --preserve-merges et --empty=

note: type: Plain text
en: --preserve-merges and --ignore-whitespace
fr: --preserve-merges et --ignore-whitespace

note: type: Plain text
en: --preserve-merges and --committer-date-is-author-date
fr: --preserve-merges et --committer-date-is-author-date

note: type: Plain text
en: --preserve-merges and --ignore-date
fr: --preserve-merges et --ignore-date

note: type: Plain text
en: --fork-point and --root
fr: --fork-point et --root

note: type: Title ~
en: Empty commits
fr: Commits vides

note: type: Title ~
en: Context
fr: Contexte

note: type: Title ~
en: Commit Rewording
fr: Reformulation de commit

note: type: Plain text
en: You should understand the implications of using 'git rebase' on a repository that you share.  See also RECOVERING FROM UPSTREAM REBASE below.
fr: Vous devriez comprendre les implications de l'utilisation de 'git rebase' sur un dépôt partagé. Voir la section « RATTRAPER UN REBASAGE AMONT » ci-dessous.

note: type: Labeled list
en: commit
fr: valider

note: type: Plain text
en: commit it
fr: le valider

note: type: Plain text
en: git-receive-pack - Receive what is pushed into the repository
fr: git-receive-pack - Reçoit ce qui a été poussé dans un dépôt

note: type: Title -
en: QUARANTINE ENVIRONMENT
fr: ENVIRONNEMENT DE QUARANTAINE

note: type: Plain text
en: Do not actually prune any entries; just show what would have been pruned.
fr: Ne pas réellement élaguer les entrées. Montrer juste ce qui aurait été élagué.

note: type: Title -
en: ENVIRONMENT VARIABLES
fr: VARIABLES D'ENVIRONNEMENT

note: type: Title -
en: ENVIRONMENT VARIABLES PASSED TO COMMAND
fr: VARIABLES D'ENVIRONNEMENT PASSÉS À LA COMMANDE

note: type: Plain text
en: git-remote - Manage set of tracked repositories
fr: git-remote - Gère un ensemble de dépôts suivis

note: type: Plain text
en: 'git remote' [-v | --verbose]
    'git remote add' [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <name> <url>
    'git remote rename' <old> <new>
    'git remote remove' <name>
    'git remote set-head' <name> (-a | --auto | -d | --delete | <branch>)
    'git remote set-branches' [--add] <name> <branch>...
    'git remote get-url' [--push] [--all] <name>
    'git remote set-url' [--push] <name> <newurl> [<oldurl>]
    'git remote set-url --add' [--push] <name> <newurl>
    'git remote set-url --delete' [--push] <name> <url>
    'git remote' [-v | --verbose] 'show' [-n] <name>...
    'git remote prune' [-n | --dry-run] <name>...
    'git remote' [-v | --verbose] 'update' [-p | --prune] [(<group> | <remote>)...]
fr: 'git remote' [-v | --verbose]
    'git remote add' [-t <branche>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <nom> <url>
    'git remote renom' <ancien> <nouveau>
    'git remote remove' <nom>
    'git remote set-head' <nom> (-a | --auto | -d | --delete | <branche>)
    'git remote set-branches' [--add] <nom> <branche>...
    'git remote get-url' [--push] [--all] <nom>
    'git remote set-url' [--push] <nom> <nouvelle-url> [<ancienne-url>]
    'git remote set-url --add' [--push] <nom> <nouvelle-url>
    'git remote set-url --delete' [--push] <nom> <url>
    'git remote' [-v | --verbose] 'show' [-n] <nom>...
    'git remote prune' [-n | --dry-run] <nom>...
    'git remote' [-v | --verbose] 'update' [-p | --prune] [(<groupe> | <distant>)...]

note: type: Plain text
en: Manage the set of repositories ("remotes") whose branches you track.
fr: Gère un ensemble de dépôts (« distants ») dont vous suivez les branches.

note: type: Plain text
en: Be a little more verbose and show remote url after name.  NOTE: This must be placed between `remote` and subcommand.
fr: Être un peu plus verbeux et montrer les urls distantes après les noms. NOTE : cette option doit être placée entre `remote` et la sous-commande.

note: type: Plain text
en: With no arguments, shows a list of existing remotes.  Several subcommands are available to perform operations on the remotes.
fr: Sans argument, affiche la liste des distants existants. Quelques sous-commandes permettent d'appliquer des opérations sur les distants.

note: type: Plain text
en: Add a remote named <name> for the repository at <url>.  The command `git fetch <name>` can then be used to create and update remote-tracking branches <name>/<branch>.
fr: Ajouter un distant nommé <nom> pour le dépôt à <url>.  La commande `git fetch <nom>` peut alors être utilisée pour créer et mettre à jour les branches de suivi à distance <nom>/<branche>.

note: type: Plain text
en: With `-f` option, `git fetch <name>` is run immediately after the remote information is set up.
fr: Avec l'option `-f`, `git fetch <nom>` est lancé immédiatement après la mise en place des informations distantes.

note: type: Plain text
en: With `--tags` option, `git fetch <name>` imports every tag from the remote repository.
fr: Avec l'option `--tags`, `git fetch <nom>` importe chaque étiquette du dépôt distant.

note: type: Plain text
en: With `--no-tags` option, `git fetch <name>` does not import tags from the remote repository.
fr: Avec l'option `--no-tags`, `git fetch <nom>` n'importe pas les étiquettes du dépôt distant.

note: type: Plain text
en: By default, only tags on fetched branches are imported (see linkgit:git-fetch[1]).
fr: Par défaut, seules les étiquettes sur les branches récupérées sont importées (voir linkgit:git-fetch[1]).

note: type: Plain text
en: With `-t <branch>` option, instead of the default glob refspec for the remote to track all branches under the `refs/remotes/<name>/` namespace, a refspec to track only `<branch>` is created.  You can give more than one `-t <branch>` to track multiple branches without grabbing all branches.
fr: Avec l'option `-t <branche>`, au lieu du spécificateur par défaut de glob pour que le distant suive toutes les branches dans l'espace de noms `refs/remotes/<nom>/`, un spécificateur de référence de suivi uniquement pour `<branche>` est créé.  Vous pouvez donner plus d'un `-t <branche>` pour suivre plusieurs branches sans saisir toutes les branches.

note: type: Plain text
en: With `-m <master>` option, a symbolic-ref `refs/remotes/<name>/HEAD` is set up to point at remote's `<master>` branch. See also the set-head command.
fr: Avec l'option `-m <master>`, une réf symbolique `refs/remotes/<nom>/HEAD` est mise en place pour pointer sur la branche `<master>` du distant. Voir aussi la commande set-head.

note: type: Plain text
en: When a fetch mirror is created with `--mirror=fetch`, the refs will not be stored in the 'refs/remotes/' namespace, but rather everything in 'refs/' on the remote will be directly mirrored into 'refs/' in the local repository. This option only makes sense in bare repositories, because a fetch would overwrite any local commits.
fr: Lorsqu'un miroir est créé avec `--mirror=fetch`, les refs ne seront pas stockées dans l'espace de noms 'refs/remotes/', mais tout ce qui se trouve dans 'refs/' sur le serveur distant sera directement reflété dans 'refs/' dans le dépôt local. Cette option n'a de sens que dans les dépôts nus, car une récupération écraserait tous les commit locaux.

note: type: Plain text
en: When a push mirror is created with `--mirror=push`, then `git push` will always behave as if `--mirror` was passed.
fr: Lorsqu'un miroir de poussé est créé avec `--mirror=push`, alors `git push` se comportera toujours comme si `--mirror` était passé.

note: type: Plain text
en: Rename the remote named <old> to <new>. All remote-tracking branches and configuration settings for the remote are updated.
fr: Renommer le distant nommé <ancien> en <nouveau>. Toutes les branches de suivi à distance et les paramètres de configuration du distant sont mis à jour.

note: type: Plain text
en: In case <old> and <new> are the same, and <old> is a file under `$GIT_DIR/remotes` or `$GIT_DIR/branches`, the remote is converted to the configuration file format.
fr: Dans le cas où <ancien> et <nouveau> sont identiques, et que <ancien> est un fichier sous `$GIT_DIR/remotes` ou `$GIT_DIR/branches`, le distant est converti au format de fichier de configuration.

note: type: Plain text
en: Remove the remote named <name>. All remote-tracking branches and configuration settings for the remote are removed.
fr: Supprimer le distant nommé <nom>. Toutes les branches de suivi à distance et tous les paramètres de configuration du distant sont supprimés.

note: type: Plain text
en: Sets or deletes the default branch (i.e. the target of the symbolic-ref `refs/remotes/<name>/HEAD`) for the named remote. Having a default branch for a remote is not required, but allows the name of the remote to be specified in lieu of a specific branch. For example, if the default branch for `origin` is set to `master`, then `origin` may be specified wherever you would normally specify `origin/master`.
fr: Définir ou supprimet la branche par défaut (c'est-à-dire la cible de la référence symbolique `refs/remotes/<nom>/HEAD`) pour le distant nommé. Il n'est pas nécessaire de disposer d'une branche par défaut pour un distant, mais cela permet de spécifier le nom du distant à la place d'une branche spécifique. Par exemple, si la branche par défaut pour `origin` est définie à `master`, alors `origin` peut être spécifié là où vous spécifieriez normalement `origin/master`.

note: type: Plain text
en: With `-d` or `--delete`, the symbolic ref `refs/remotes/<name>/HEAD` is deleted.
fr: Avec `-d` ou `--delete`, la référence symbolique `refs/remotes/<nom>/HEAD` est supprimée.

note: type: Plain text
en: With `-a` or `--auto`, the remote is queried to determine its `HEAD`, then the symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote `HEAD` is pointed at `next`, `git remote set-head origin -a` will set the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/next`. This will only work if `refs/remotes/origin/next` already exists; if not it must be fetched first.
fr: Avec `-a` ou `--auto`, le distant est interrogé pour déterminer son `HEAD`, puis la référence symbolique `refs/remotes/<nom>/HEAD` est définie sur la même branche. Par exemple, si le distant `HEAD` est pointé sur `next`, `git remote set-head origin -a` définira la référence symbolique `refs/remotes/origin/HEAD` sur `refs/remotes/origin/next`. Cela ne fonctionnera que si `refs/remotes/origin/next` existe déjà ; sinon, il faut d'abord la récupérer.

note: type: Plain text
en: Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` explicitly. e.g., `git remote set-head origin master` will set the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/master`. This will only work if `refs/remotes/origin/master` already exists; if not it must be fetched first.
fr: Utiliser `<branche>` pour définir la référence symbolique `refs/remotes/<nom>/HEAD` explicitement. Par exemple, `git remote set-head origin master` définira la référence symbolique `refs/remotes/origin/HEAD` à `refs/remotes/origin/master`. Cela ne fonctionnera que si `refs/remotes/origin/master` existe déjà ; sinon, il faut d'abord le récupérer.

note: type: Plain text
en: Changes the list of branches tracked by the named remote.  This can be used to track a subset of the available remote branches after the initial setup for a remote.
fr: Modifier la liste des branches suivies par le distant nommé.  Cela peut être utilisé pour suivre un sous-ensemble des branches distantes disponibles après la configuration initiale d'un distant.

note: type: Plain text
en: The named branches will be interpreted as if specified with the `-t` option on the `git remote add` command line.
fr: Les branches nommées seront interprétées comme si elles étaient spécifiées avec l'option `-t` sur la ligne de commande `git remote add`.

note: type: Plain text
en: With `--add`, instead of replacing the list of currently tracked branches, adds to that list.
fr: Avec `--add`, au lieu de remplacer la liste des branches actuellement suivies, ajouter à cette liste.

note: type: Plain text
en: Retrieves the URLs for a remote. Configurations for `insteadOf` and `pushInsteadOf` are expanded here. By default, only the first URL is listed.
fr: Récupèrer les URL pour un distant. Les configurations pour `insteadOf` et `pushInsteadOf` sont développées ici. Par défaut, seule la première URL est listée.

note: type: Plain text
en: With `--push`, push URLs are queried rather than fetch URLs.
fr: Avec `--push`, on interroge les URL de poussée plutôt que les URL de récupération.

note: type: Plain text
en: With `--all`, all URLs for the remote will be listed.
fr: Avec `--all`, toutes les URL du distant seront listées.

note: type: Plain text
en: Changes URLs for the remote. Sets first URL for remote <name> that matches regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> doesn't match any URL, an error occurs and nothing is changed.
fr: Modifier les URL pour le distant. Fixer la première URL pour le distant <nom> qui correspond à la regex <ancienne-url> (première URL si aucune <ancienne-url> n'est donnée) à <nouvelle-url>. Si <ancienne-url> ne correspond à aucune URL, une erreur se produit et rien n'est modifié.

note: type: Plain text
en: With `--push`, push URLs are manipulated instead of fetch URLs.
fr: Avec `--push`, les URL de poussée sont manipulées au lieu des URL de récupération.

note: type: Plain text
en: With `--add`, instead of changing existing URLs, new URL is added.
fr: Avec `--add`, au lieu de modifier les URL existantes, on ajoute une nouvelle URL.

note: type: Plain text
en: With `--delete`, instead of changing existing URLs, all URLs matching regex <url> are deleted for remote <name>.  Trying to delete all non-push URLs is an error.
fr: Avec `--delete`, au lieu de changer les URL existantes, toutes les URL correspondant à la regex <url> sont supprimées pour le distant <nom>.  Essayer de supprimer toutes les URL non poussée est une erreur.

note: type: Plain text
en: Note that the push URL and the fetch URL, even though they can be set differently, must still refer to the same place.  What you pushed to the push URL should be what you would see if you immediately fetched from the fetch URL.  If you are trying to fetch from one place (e.g. your upstream) and push to another (e.g.  your publishing repository), use two separate remotes.
fr: Notez que l'URL de poussée et l'URL de récupération, même si elles peuvent être définies différemment, doivent toujours se référer au même endroit.  Ce que vous avez poussé à l'URL de poussée doit être ce que vous verriez si vous alliez récupérer immédiatement à l'URL de récupération.  Si vous essayez de récupérer depuis un endroit (par exemple votre site en amont) et de pousser à un autre (par exemple votre dépôt de publication), utilisez deux distants distincts.

note: type: Plain text
en: Gives some information about the remote <name>.
fr: Fournir quelques informations sur le dépôt <nom>.

note: type: Plain text
en: With `-n` option, the remote heads are not queried first with `git ls-remote <name>`; cached information is used instead.
fr: Avec l'option `-n`, les branches distantes ne sont pas interrogées en premier avec `git ls-remote <nom>` ; les informations en cache sont utilisées à la place.

note: type: Plain text
en: Deletes stale references associated with <name>. By default, stale remote-tracking branches under <name> are deleted, but depending on global configuration and the configuration of the remote we might even prune local tags that haven't been pushed there. Equivalent to `git fetch --prune <name>`, except that no new references will be fetched.
fr: Supprimer les références périmées associées à <nom>. Par défaut, les branches de suivi à distance périmées sous <nom> sont supprimées, mais en fonction de la configuration globale et de la configuration du distant, nous pourrions même élaguer les étiquettes locales qui n'y ont pas été poussées. Équivalent à `git fetch --prune <nom>`, sauf qu'aucune nouvelle référence ne sera récupérée.

note: type: Plain text
en: See the PRUNING section of linkgit:git-fetch[1] for what it'll prune depending on various configuration.
fr: Voir la section ÉLAGAGE de linkgit:git-fetch[1] pour savoir ce qui sera élagué en fonction des différentes configurations.

note: type: Plain text
en: With `--dry-run` option, report what branches would be pruned, but do not actually prune them.
fr: Avec l'option `--dry-run`, signaler les branches qui seraient élaguées, mais ne pas réellement les élaguer.

note: type: Plain text
en: Fetch updates for remotes or remote groups in the repository as defined by `remotes.<group>`. If neither group nor remote is specified on the command line, the configuration parameter remotes.default will be used; if remotes.default is not defined, all remotes which do not have the configuration parameter `remote.<name>.skipDefaultUpdate` set to true will be updated.  (See linkgit:git-config[1]).
fr: Récupérer les mises à jour pour les distants ou les groupes de distants dans le dépôt comme défini par `remotes.<groupe>`.  Si aucun groupe ni aucun distant n'est spécifié sur la ligne de commande, le paramètre de configuration `remotes.default` sera utilisé ; si `remotes.default` n'est pas défini, tous les distants dont le paramètre de configuration `remote.<nom>.skipDefaultUpdate` n'est pas défini à true seront mis à jour.  (Voir linkgit:git-config[1]).

note: type: Plain text
en: With `--prune` option, run pruning against all the remotes that are updated.
fr: Avec l'option `--prune`, lancer l'élagage contre tous les distants qui sont mises à jour.

note: type: Plain text
en: The remote configuration is achieved using the `remote.origin.url` and `remote.origin.fetch` configuration variables.  (See linkgit:git-config[1]).
fr: Le paramètrage des informations de connexion est réalisé par les variables de configuration `remote.origin.url` et `remote.origin.fetch`. (Voir linkgit:git-config[1]).

note: type: Plain text
en: On success, the exit status is `0`.
fr: En cas de succès, l'état de sortie est `0`.

note: type: Plain text
en: When subcommands such as 'add', 'rename', and 'remove' can't find the remote in question, the exit status is `2`. When the remote already exists, the exit status is `3`.
fr: Lorsque des sous-commandes telles que 'add', 'rename' et 'remove' ne trouvent pas le distant en question, l'état de sortie est `2`. Lorsque le distant existe déjà, l'état de sortie est `3`.

note: type: Plain text
en: On any other error, the exit status may be any other non-zero value.
fr: Pour toute autre erreur, l'état de sortie peut être toute autre valeur non nulle.

note: type: Plain text
en: Add a new remote, fetch, and check out a branch from it
fr: Ajouter un nouveau distant, le récupérer et en extraire une branche

note: type: Plain text
en: Imitate 'git clone' but track only selected branches
fr: Imiter 'git clone' mais ne suivre que certaines branches sélectionnées

note: type: Plain text
en: git-repack - Pack unpacked objects in a repository
fr: git-repack - Empaquète les objets non empaquetés dans le dépôt

note: type: Plain text
en: Pass the `--local` option to 'git pack-objects'. See linkgit:git-pack-objects[1].
fr: Passer l'option `--local` à 'git pack-objects'. Voir linkgit:git-pack-objects[1].

note: type: Plain text
en: Pass the `--no-reuse-delta` option to `git-pack-objects`, see linkgit:git-pack-objects[1].
fr: Passer l'option `--no-reuse-delta` à `git-pack-objects`. Voir linkgit:git-pack-objects[1].

note: type: Plain text
en: Pass the `--no-reuse-object` option to `git-pack-objects`, see linkgit:git-pack-objects[1].
fr: Passer l'option `--no-reuse-object` à `git-pack-objects`. Voir linkgit:git-pack-objects[1].

note: type: Plain text
en: Pass the `-q` option to 'git pack-objects'. See linkgit:git-pack-objects[1].
fr: Passer l'option `-q` à 'git pack-objects'. Voir linkgit:git-pack-objects[1].

note: type: Plain text
en: Pass the `--delta-islands` option to `git-pack-objects`, see linkgit:git-pack-objects[1].
fr: Passer l'option `--delta-islands` à `git-pack-objects`, voir linkgit:git-pack-objects[1].

note: type: Plain text
en: git-replace - Create, list, delete refs to replace objects
fr: git-replace - Crée, liste, supprime des référence pour remplacer des objets

note: type: Labeled list
en: -l <pattern>
fr: -l <motif>

note: type: Labeled list
en: --list <pattern>
fr: --list <motif>

note: type: Plain text
en: git-rerere - Reuse recorded resolution of conflicted merges
fr: git-rerere - Réutilise une résolution enregistrée de fusions conflictuelles

note: type: Plain text
en: git-reset - Reset current HEAD to the specified state
fr: git-reset - Réinitialise la HEAD actuelle à l'état spécifié

note: type: Plain text
en: 'git reset' [-q] [<tree-ish>] [--] <pathspec>...
    'git reset' [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
    'git reset' (--patch | -p) [<tree-ish>] [--] [<pathspec>...]
    'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
fr: 'git reset' [-q] [<arbre-esque>] [--] <spec-de-chemin>...
    'git reset' [-q] [--pathspec-from-file=<fichier> [--pathspec-file-nul]] [<arbre-esque>]
    'git reset' (--patch | -p) [<arbre-esque>] [--] [<spec-de-chemin>...]
    'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

note: type: Plain text
en: In the first three forms, copy entries from `<tree-ish>` to the index.  In the last form, set the current branch head (`HEAD`) to `<commit>`, optionally modifying index and working tree to match.  The `<tree-ish>`/`<commit>` defaults to `HEAD` in all forms.
fr: Dans la première et la troisième forme, cette commande copie les entrées depuis `<arbre-esque>` vers l'index. Dans la dernière forme, elle amène le sommet de la branche actuelle (`HEAD`) à `<commit>`, optionnellement en modifiant l'index et l'arbre de travail en correspondance. L'`<arbre-esque>`/`<commit>` vaut par défaut `HEAD` dans toutes les formes.

note: type: Labeled list
en: 'git reset' [-q] [<tree-ish>] [--] <pathspec>...
fr: 'git reset' [-q] [<arbre-esque>] [--] <spec-de-chemin>...

note: type: Labeled list
en: 'git reset' [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
fr: 'git reset' [-q] [--pathspec-from-file=<fichier> [--pathspec-file-nul]] [<arbre-esque>]

note: type: Plain text
en: These forms reset the index entries for all paths that match the `<pathspec>` to their state at `<tree-ish>`.  (It does not affect the working tree or the current branch.)
fr: Ces formes réinitialisent les entrées d'index pour tous fichiers correspondant à <spec-de-chemin> à leur état de `<arbre-esque>` (ceci n'affecte pas l'arbre de travail ou la branche actuelle.)

note: type: Plain text
en: This means that `git reset <pathspec>` is the opposite of `git add <pathspec>`. This command is equivalent to `git restore [--source=<tree-ish>] --staged <pathspec>...`.
fr: Cela signifie que `git reset <spec-de-chemin>` est l'opposé de `git add <spec-de-chemin>`. Cette commande est équivalent à `git restore [--source=<arbre-esque>] --staged <spec-de-chemin>...`.

note: type: Plain text
en: After running `git reset <pathspec>` to update the index entry, you can use linkgit:git-restore[1] to check the contents out of the index to the working tree. Alternatively, using linkgit:git-restore[1] and specifying a commit with `--source`, you can copy the contents of a path out of a commit to the index and to the working tree in one go.
fr: Après avoir lancé `git reset <spec-de-chemin>` pour mettre à jour l'entrée d'index, vous pouvez linkgit:git-restore[1] pour extraire le contenu de l'index dans l'arbre de travail. Alternativement, en utilisant linkgit:git-restore[1] et en spécifiant un commit avec `--source`, vous pouvez copier le contenu d'un chemin d'un commit vers l'index et l'arbre de travail d'une seule traite.

note: type: Labeled list
en: 'git reset' (--patch | -p) [<tree-ish>] [--] [<pathspec>...]
fr: 'git reset' (--patch | -p) [<arbre-esque>] [--] [<spec-de-chemin>...]

note: type: Plain text
en: Interactively select hunks in the difference between the index and `<tree-ish>` (defaults to `HEAD`).  The chosen hunks are applied in reverse to the index.
fr: Sélectionner interactivement les sections dans la différence entre  l'index et l'<arbre-esque> (par défaut `HEAD`). Les sections choisies sont ensuite appliquées en ordre inversé à l'index.

note: type: Plain text
en: This means that `git reset -p` is the opposite of `git add -p`, i.e.  you can use it to selectively reset hunks. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
fr: Ceci signifie que `git reset -p` est l'opposé de `git add -p`, autrement dit, vous pouvez l'utiliser pour réinitialiser sélectivement les sections. Voir la section « Mode interactif » de linkgit:git-add[1] pour apprendre comment utiliser le mode `--patch`.

note: type: Plain text
en: This form resets the current branch head to `<commit>` and possibly updates the index (resetting it to the tree of `<commit>`) and the working tree depending on `<mode>`. If `<mode>` is omitted, defaults to `--mixed`. The `<mode>` must be one of the following:
fr: Cette forme réinitialise le sommet de la branche courante à `<commit>` et met à jour l'index éventuellement (en le réinitialisant à l'arbre de `<commit>`) et l'arbre de travail en fonction de `<mode>`. Si `<mode>` est omis, l'option par défaut est `--mixed`. Le mode est une valeur parmi :

note: type: Plain text
en: Does not touch the index file or the working tree at all (but resets the head to `<commit>`, just like all modes do). This leaves all your changed files "Changes to be committed", as `git status` would put it.
fr: Ne pas toucher du tout le fichier d'index ou l'arbre de travail (mais réinitialise le sommet à `<commit>`, juste comme le font tous les modes). Cela laisse tous vos fichiers modifiés « Modifications qui seront validées », comme l'indiquerait `git status`.

note: type: Plain text
en: Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. This is the default action.
fr: Réinitialiser l'index mais pas l'arbre de travail (c'est-à-dire, les fichiers modifiés sont préservés mais marqués pour la validation) et affiche ce qui n'a pas été mis à jour. C'est l'action par défaut.

note: type: Plain text
en: If `-N` is specified, removed paths are marked as intent-to-add (see linkgit:git-add[1]).
fr: Si `-N` est spécifié, les chemins supprimés sont marqués comme « à ajouter » (voir linkgit:git-add[1]).

note: type: Plain text
en: Resets the index and working tree. Any changes to tracked files in the working tree since `<commit>` are discarded.
fr: Réinitialiser l'index et l'arbre de travail. Toute modification sur les fichiers suivis dans l'arbre de travail depuis `<commit>` est supprimée.

note: type: Plain text
en: Resets the index and updates the files in the working tree that are different between `<commit>` and `HEAD`, but keeps those which are different between the index and working tree (i.e. which have changes which have not been added).  If a file that is different between `<commit>` and the index has unstaged changes, reset is aborted.
fr: Réinitialiser l'index et mettre à jour les fichiers de l'arbre de travail qui sont différents entre `<commit>` et `HEAD`, mais conserver ceux qui sont différents entre l'index et l'arbre de travail (c-à-d qui ont des modifications qui n'ont pas été indexés). Si un fichier qui est différent entre `<commit>` et l'index a des modifications non indexées, la réinitialisation est annulée.

note: type: Plain text
en: In other words, `--merge` does something like a `git read-tree -u -m <commit>`, but carries forward unmerged index entries.
fr: En d'autres termes, `--merge` fait quelque chose comme `git read-tree -u -m <commit>`, mais transfère les entrées d'index non indexées.

note: type: Plain text
en: Resets index entries and updates files in the working tree that are different between `<commit>` and `HEAD`.  If a file that is different between `<commit>` and `HEAD` has local changes, reset is aborted.
fr: Réinitialiser les entrées d'index et mettre à jour les fichiers dans l'arbre de travail qui sont différents entre `<commit>` et `HEAD`. Si un fichier qui est différent entre `<commit>` et `HEAD` a des modifications locales, la réinitialisation est annulée.

note: type: Plain text
en: When the working tree is updated, using --recurse-submodules will also recursively reset the working tree of all active submodules according to the commit recorded in the superproject, also setting the submodules' HEAD to be detached at that commit.
fr: Lorsque l'arbre de travail est mis à jour, l'utilisation de --recurse-submodules réinitialisera également de manière récursive l'arbre de travail de tous les sous-modules actifs en fonction du commit enregistré dans le superprojet, en définissant également la HEAD des sous-modules à détacher à ce commit.

note: type: Plain text
en: See "Reset, restore and revert" in linkgit:git[1] for the differences between the three commands.
fr: Voir « Reset, restore et revert » dans linkgit:git[1] pour les différences entre les trois commandes.

note: type: Plain text
en: Be quiet, only report errors. The default behavior is set by the `reset.quiet` config option. `--quiet` and `--no-quiet` will override the default behavior.
fr: Mode silencieux, ne reporter que les erreurs. Le comportement par défaut est géré par l'option de configuration `reset.quiet`. `--quiet` et `--no-quiet` outrepassent le comportement par défaut.

note: type: Labeled list
en: Undo add
fr: Défaire un ajout

note: type: Plain text
en: You are happily working on something, and find the changes in these files are in good order.  You do not want to see them when you run `git diff`, because you plan to work on other files and changes with these files are distracting.
fr: Vous travaillez joyeusement sur quelque chose, et trouvez que les modifications dans ces fichiers sont prêtes. Vous ne voulez pas les voir lorsque vous lancez `git diff`, parce que vous allez travailler sur d'autres fichiers et les modifications à ces fichiers vous distrairaient de votre travail.

note: type: Plain text
en: Somebody asks you to pull, and the changes sound worthy of merging.
fr: Quelqu'un vous demande de tirer, et les modifications paraissent valoir le coup d'être fusionnées.

note: type: Plain text
en: However, you already dirtied the index (i.e. your index does not match the `HEAD` commit).  But you know the pull you are going to make does not affect `frotz.c` or `filfre.c`, so you revert the index changes for these two files.  Your changes in working tree remain there.
fr: Cependant, vous avez déjà sali l'index (c-à-d votre index ne correspond pas au commit `HEAD`). Mais vous savez que le tirage que vous allez faire n'affecte ni `frotz.c` ni `filfre.c`, donc vous rembobinez les modifications de l'index pour ces deux fichiers. Vos modifications dans l'arbre de travail restent là.

note: type: Plain text
en: Then you can pull and merge, leaving `frotz.c` and `filfre.c` changes still in the working tree.
fr: Puis vous pouvez tirer et fusionner, en laissant les modifications à `frotz.c` et `filfre.c` dans l'arbre de travail.

note: type: Labeled list
en: Undo a commit and redo
fr: Défaire un commit et le refaire

note: type: delimited block -
en: $ git commit ...
    $ git reset --soft HEAD^      <1>
    $ edit                        <2>
    $ git commit -a -c ORIG_HEAD  <3>
fr: $ git commit ...
    $ git reset --soft HEAD^      <1>
    $ éditer                      <2>
    $ git commit -a -c ORIG_HEAD  <3>

note: type: Plain text
en: This is most often done when you remembered what you just committed is incomplete, or you misspelled your commit message, or both.  Leaves working tree as it was before "reset".
fr: Cela sert le plus souvent quand vous vous êtes souvenu que ce que vous avez validé est incomplet, ou que vous avez mal orthographié votre message de validation, ou les deux. Cela laisse l'arbre de travail comme il était avant « reset ».

note: type: Plain text
en: Make corrections to working tree files.
fr: Corrige les fichiers de l'arbre de travail.

note: type: Plain text
en: "reset" copies the old head to `.git/ORIG_HEAD`; redo the commit by starting with its log message.  If you do not need to edit the message further, you can give `-C` option instead.
fr: "reset" copie l'ancienne HEAD vers `.git/ORIG_HEAD` ; refait le commit en démarrant par son message de validation. Si vous n'avez pas besoin d'éditer plus le message, vous pouvez plutôt passer l'option `-C`.

note: type: Plain text
en: See also the `--amend` option to linkgit:git-commit[1].
fr: Voir aussi l'option `--amend` de linkgit:git-commit[1].

note: type: Labeled list
en: Undo a commit, making it a topic branch
fr: Défaire le commit, en le transformant en branche thématique

note: type: delimited block -
en: $ git branch topic/wip          <1>
    $ git reset --hard HEAD~3       <2>
    $ git switch topic/wip          <3>
fr: $ git branch theme/wip     <1>
    $ git reset --hard HEAD~3  <2>
    $ git switch theme/wip   <3>

note: type: Plain text
en: You have made some commits, but realize they were premature to be in the `master` branch.  You want to continue polishing them in a topic branch, so create `topic/wip` branch off of the current `HEAD`.
fr: Vous avez fait des commits, mais vous vous êtes aperçu qu'ils étaient prématurés pour la branche `master`. Vous voulez continuer à le polir dans une branche thématique, donc vous créez la branche `theme/wip` de la `HEAD` actuelle.

note: type: Plain text
en: Rewind the master branch to get rid of those three commits.
fr: Rembobinez la branche `master` pour en éliminer ces trois commits.

note: type: Plain text
en: Switch to `topic/wip` branch and keep working.
fr: Basculez sur la branche `theme/wip` et continuez à travailler.

note: type: Labeled list
en: Undo commits permanently
fr: Défaire des commit de manière permanente

note: type: Plain text
en: The last three commits (`HEAD`, `HEAD^`, and `HEAD~2`) were bad and you do not want to ever see them again.  Do *not* do this if you have already given these commits to somebody else.  (See the "RECOVERING FROM UPSTREAM REBASE" section in linkgit:git-rebase[1] for the implications of doing so.)
fr: Les trois derniers commits (`HEAD`, `HEAD^` et `HEAD~2`) étaient mauvais et vous ne plus jamais les voir. *Ne faites pas* ceci si vous avez déjà fourni ces commits à quelqu'un d'autre. (Voir la section « RÉPARER UN REBASAGE AMONT » dans linkgit:git-rebase[1] pour les implications d'une telle action.)

note: type: Labeled list
en: Undo a merge or pull
fr: Défaire une fusion ou un tirage

note: type: delimited block -
en: $ git pull                         <1>
    Auto-merging nitfol
    CONFLICT (content): Merge conflict in nitfol
    Automatic merge failed; fix conflicts and then commit the result.
    $ git reset --hard                 <2>
    $ git pull . topic/branch          <3>
    Updating from 41223... to 13134...
    Fast-forward
    $ git reset --hard ORIG_HEAD       <4>
fr: $ git pull                         <1>
    Auto-fusion nitfol
    CONFLIT (contenu): Conflit de fusion dans nitfol
    La fusion automatique a échoué ; réglez les conflits et validez le résultat.
    $ git reset --hard                 <2>
    $ git pull . theme/branche         <3>
    Avance rapide de  41223... sur 13134...
    
    $ git reset --hard ORIG_HEAD       <4>

note: type: Plain text
en: Try to update from the upstream resulted in a lot of conflicts; you were not ready to spend a lot of time merging right now, so you decide to do that later.
fr: L'essai de mettre à jour depuis l'amont a apporté beaucoup de conflits ; vous n'êtes pas prêt à passer beaucoup de temps à les fusionner maintenant, donc vous décidez de le faire plus tard.

note: type: Plain text
en: "pull" has not made merge commit, so `git reset --hard` which is a synonym for `git reset --hard HEAD` clears the mess from the index file and the working tree.
fr: "pull" n'a pas créé de commit de fusion, donc `git reset --hard` qui est synonyme de `git reset --hard HEAD` nettoie le bazar dans l'index et l'arbre de travail.

note: type: Plain text
en: Merge a topic branch into the current branch, which resulted in a fast-forward.
fr: Fusionne une branche thématique dans la branche actuelle, qui a résulté en une avance rapide.

note: type: Plain text
en: But you decided that the topic branch is not ready for public consumption yet.  "pull" or "merge" always leaves the original tip of the current branch in `ORIG_HEAD`, so resetting hard to it brings your index file and the working tree back to that state, and resets the tip of the branch to that commit.
fr: Mais vous avez décidé que la branche thématique n'est pas encore prête pour la publication. "pull" et "merge" laissent toujours le sommet originel de la branche actuelle dans `ORIG_HEAD`, donc la réinitialisation dure sur elle remet votre fichier d'index et l'arbre de travail à cet état et réinitialise le sommet de la branche à ce commit.

note: type: Labeled list
en: Undo a merge or pull inside a dirty working tree
fr: Défaire une fusion ou un tirage dans un arbre de travail sale

note: type: Plain text
en: Even if you may have local modifications in your working tree, you can safely say `git pull` when you know that the change in the other branch does not overlap with them.
fr: Même si vous pouviez avoir des modifications locales dans votre arbre de travail, vous pouvez lancer `git pull` en toute sécurité quand vous savez que les modifications dans l'autre branche n'entrent pas en conflit avec elles.

note: type: Plain text
en: After inspecting the result of the merge, you may find that the change in the other branch is unsatisfactory.  Running `git reset --hard ORIG_HEAD` will let you go back to where you were, but it will discard your local changes, which you do not want.  `git reset --merge` keeps your local changes.
fr: Après inspection du résultat de la fusion, vous pouvez trouver que cette modification dans l'autre branche n'est pas satisfaisante. Lancer `git reset --hard ORIG_HEAD` vous ramènera à l'état antérieur, mais cela éliminera aussi vos modifications locales, ce que vous ne désirez pas. `git reset --merge` conserve vos modifications locales.

note: type: Labeled list
en: Interrupted workflow
fr: Interruption du flux de travail

note: type: Plain text
en: Suppose you are interrupted by an urgent fix request while you are in the middle of a large change.  The files in your working tree are not in any shape to be committed yet, but you need to get to the other branch for a quick bugfix.
fr: Supposons que vous êtes interrompu par une demande urgente de correctif pendant que vous êtes au milieu d'une grande modification. Les fichiers dans votre arbre de travail ne sont pas du tout en état d'être validés, mais vous devez aller sur une autre branche pour votre correctif rapide.

note: type: delimited block -
en: $ git switch feature  ;# you were working in "feature" branch and
    $ work work work      ;# got interrupted
    $ git commit -a -m "snapshot WIP"                 <1>
    $ git switch master
    $ fix fix fix
    $ git commit ;# commit with real log
    $ git switch feature
    $ git reset --soft HEAD^ ;# go back to WIP state  <2>
    $ git reset                                       <3>
fr: $ git switch feature ;# vous travailliez sur la branche feature
    $ travail travail      ;# et arrive une interruption
    $ git commit -a -m "instantané en cours"          <1>
    $ git switch master
    $ correctif correctif
    $ git commit           ;# validation avec un vrai message
    $ git switch feature
    $ git reset --soft HEAD^ ;# retour au travail     <2>
    $ git reset                                       <3>

note: type: Plain text
en: This commit will get blown away so a throw-away log message is OK.
fr: Ce commit sera écrasé donc un message de validation jetable, c'est OK.

note: type: Plain text
en: This removes the 'WIP' commit from the commit history, and sets your working tree to the state just before you made that snapshot.
fr: Ceci élimine le commit « instantané » de l'historique des commits et met votre arbre de travail dans l'état précédent cet instantané.

note: type: Plain text
en: At this point the index file still has all the WIP changes you committed as 'snapshot WIP'.  This updates the index to show your WIP files as uncommitted.
fr: À ce point, le fichier d'index a toujours toutes les modifications en cours que vous avez validées comme « instantané en cours ». Ceci met à jour l'index pour afficher vos fichiers en cours d'édition comme non validés.

note: type: Plain text
en: See also linkgit:git-stash[1].
fr: Voir aussi linkgit:git-stash[1].

note: type: Labeled list
en: Reset a single file in the index
fr: Réinitialiser un seul fichier dans l'index

note: type: Plain text
en: Suppose you have added a file to your index, but later decide you do not want to add it to your commit. You can remove the file from the index while keeping your changes with git reset.
fr: Supposons que vous avez ajouté un fichier à votre index, mais décidez plus tard que vous ne voulez plus l'ajouter à votre validation. Vous pouvez retirer le fichier de l'index tout en conservant vos modifications avec git reset.

note: type: delimited block -
en: $ git reset -- frotz.c                      <1>
    $ git commit -m "Commit files in index"     <2>
    $ git add frotz.c                           <3>
fr: $ git reset -- frotz.c                      <1>
    $ git commit -m "Validation de l'index"     <2>
    $ git add frotz.c                           <3>

note: type: Plain text
en: This removes the file from the index while keeping it in the working directory.
fr: Ceci supprime un fichier de l'index tout en le conservant dans le répertoire de travail.

note: type: Plain text
en: This commits all other changes in the index.
fr: Ceci valide tous les autres fichiers dans l'index.

note: type: Plain text
en: Adds the file to the index again.
fr: Ajouter à nouveau le fichier à l'index.

note: type: Labeled list
en: Keep changes in working tree while discarding some previous commits
fr: Conserver les modifications dans l'arbre de travail tout en éliminant les validations précédentes

note: type: Plain text
en: Suppose you are working on something and you commit it, and then you continue working a bit more, but now you think that what you have in your working tree should be in another branch that has nothing to do with what you committed previously. You can start a new branch and reset it while keeping the changes in your working tree.
fr: Supposons que vous êtes en train de travailler sur quelque chose et que vous le validez, et qu'alors vous continuez à travailler un peu plus, mais vous pensez maintenant que ce que vous avez dans votre arbre de travail devrait aller dans une autre branche qui n'a rien à voir avec ce que vous avez validé précédemment. Vous pouvez commencer une nouvelle branche et la réinitialiser tout en conservant les modifications dans votre arbre de travail.

note: type: delimited block -
en: $ git tag start
    $ git switch -c branch1
    $ edit
    $ git commit ...                            <1>
    $ edit
    $ git switch -c branch2                     <2>
    $ git reset --keep start                    <3>
fr: $ git tag debut
    $ git switch -c branche1
    $ édition
    $ git commit ...                            <1>
    $ édition
    $ git switch -c branche2                  <2>
    $ git reset --keep debut                    <3>

note: type: Plain text
en: This commits your first edits in `branch1`.
fr: Ceci valide vos premières éditions dans `branche1`.

note: type: Plain text
en: In the ideal world, you could have realized that the earlier commit did not belong to the new topic when you created and switched to `branch2` (i.e. `git switch -c branch2 start`), but nobody is perfect.
fr: Dans un monde idéal, vous pourriez avoir réalisé que le commit précédent n'appartenait pas au nouveau sujet quand vous avez créé et avez basculé sur `branche2` (c-à-d `git switch -c branche2 debut`), mais personne n'est parfait.

note: type: Plain text
en: But you can use `reset --keep` to remove the unwanted commit after you switched to `branch2`.
fr: Mais vous pouvez utiliser `reset --keep` pour retirer le commit non voulu après avoir basculé sur `branche2`.

note: type: Labeled list
en: Split a commit apart into a sequence of commits
fr: Découper un commit en une séquence de commits

note: type: Plain text
en: Suppose that you have created lots of logically separate changes and committed them together. Then, later you decide that it might be better to have each logical chunk associated with its own commit. You can use git reset to rewind history without changing the contents of your local files, and then successively use `git add -p` to interactively select which hunks to include into each commit, using `git commit -c` to pre-populate the commit message.
fr: Supposons que vous avez créé de nombreuses modifications logiquement atomiques et les avez toutes validées ensemble. Plus tard, vous décidez qu'il serait mieux d'avoir chaque section logique associée à son propre commit. Vous pouvez utiliser git reset pour rembobiner l'historique sans changer le contenu de vos fichiers locaux, puis successivement utiliser `git add -p` pour sélectionner interactivement quelles sections inclure dans chaque validation, en utilisant `git commit -c` pour pré-charger le message de validation.

note: type: Plain text
en: First, reset the history back one commit so that we remove the original commit, but leave the working tree with all the changes. The -N ensures that any new files added with `HEAD` are still marked so that `git add -p` will find them.
fr: Réinitialise d'abord l'historique en arrière d'un commit de manière à retirer le commit original, mais laisse l'arbre de travail avec toutes ses modifications. Le drapeau -N garantit que tous les nouveaux fichiers ajoutés avec `HEAD` sont toujours marqués de telle manière que `git add -p` les trouve.

note: type: Plain text
en: Next, we interactively select diff hunks to add using the `git add -p` facility. This will ask you about each diff hunk in sequence and you can use simple commands such as "yes, include this", "No don't include this" or even the very powerful "edit" facility.
fr: Ensuite, on sélectionne interactivement les sections de diff à ajouter en utilisant `git add -p`. Ceci vous demandera pour chaque section de diff l'une après l'autre et vous pouvez répondre simplement « oui, à inclure », « non, ne pas inclure » ou même utiliser la fonctionnalité puissante d'édition de la section.

note: type: Plain text
en: Once satisfied with the hunks you want to include, you should verify what has been prepared for the first commit by using `git diff --cached`. This shows all the changes that have been moved into the index and are about to be committed.
fr: Une fois satisfait des sections à inclure, vous devriez vérifier ce qui a été préparé pour la première validation en utilisant `git diff --cached`. Cela montre toutes les modifications qui ont été indexées et sont sur le point d'être validées.

note: type: Plain text
en: Next, commit the changes stored in the index. The `-c` option specifies to pre-populate the commit message from the original message that you started with in the first commit. This is helpful to avoid retyping it. The `HEAD@{1}` is a special notation for the commit that `HEAD` used to be at prior to the original reset commit (1 change ago).  See linkgit:git-reflog[1] for more details. You may also use any other valid commit reference.
fr: Ensuite, valider les modifications stockées dans l'index. L'option `-c` indique de pré-remplir le message de validation avec le message original qui a servi au premier commit. C'est utile pour éviter de le retaper. Le `HEAD@{1}` est une notation spéciale pour le commit que `HEAD` a été avant le commit original réinitialisé (il y a une modification). Voir linkgit:git-reflog[1] pour plus de détails. Vous pouvez aussi utiliser une référence à tout autre commit valide.

note: type: Plain text
en: You can repeat steps 2-4 multiple times to break the original code into any number of commits.
fr: Vous pouvez répéter les étapes 2 à 4 plusieurs fois pour scinder le code original en un certain nombre de commits.

note: type: Plain text
en: Now you've split out many of the changes into their own commits, and might no longer use the patch mode of `git add`, in order to select all remaining uncommitted changes.
fr: Maintenant, vous avez séparé beaucoup des modifications dans leurs propres commits, et pourriez ne plus utiliser le mode patch du `git add` pour sélectionner toutes les modifications non validées restantes.

note: type: Plain text
en: Once again, check to verify that you've included what you want to. You may also wish to verify that git diff doesn't show any remaining changes to be committed later.
fr: Une fois de plus, vérifiez que vous avez inclus ce que vous souhaitez. Vous souhaitez peut-être vérifier que git diff ne montre aucune modification restante à valider plus tard.

note: type: Plain text
en: And finally create the final commit.
fr: Et finalement crée le commit final.

note: type: Plain text
en: The tables below show what happens when running:
fr: Les tables ci-dessous montrent ce qui arrive lorsqu'on lance :

note: type: delimited block -
en: git reset --option target
fr: git reset --option cible

note: type: Plain text
en: to reset the `HEAD` to another commit (`target`) with the different reset options depending on the state of the files.
fr: pour réinitialiser `HEAD` à un autre commit (`cible`) avec des options de réinitialisation en fonction de l'état des fichiers.

note: type: Plain text
en: In these tables, `A`, `B`, `C` and `D` are some different states of a file. For example, the first line of the first table means that if a file is in state `A` in the working tree, in state `B` in the index, in state `C` in `HEAD` and in state `D` in the target, then `git reset --soft target` will leave the file in the working tree in state `A` and in the index in state `B`.  It resets (i.e. moves) the `HEAD` (i.e. the tip of the current branch, if you are on one) to `target` (which has the file in state `D`).
fr: Dans ces tableaux, `A`, `B`, `C` et `D` sont différents états d'un fichier. Par exemple, la première ligne du premier tableau signifie que si un fichier est dans l'état `A` dans l'arbre de travail, dans l'état `B` dans l'index, dans l'état `C` dans `HEAD` et dans l'état `D` dans la cible, alors `git reset --soft cible` laissera le fichier dans l'arbre de travail dans l'état `A` et dans l'index dans l'état `B`. Il réinitialise (c-à-d déplace) la `HEAD` (en d'autres termes le sommet de la branche actuelle, si vous êtes dessus) à `cible` (qui a le fichier dans l'état `D`).

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     A       B     C    D     --soft   A       B     D
    			  --mixed  A       D     D
    			  --hard   D       D     D
    			  --merge (disallowed)
    			  --keep  (disallowed)
fr: travail index HEAD cible         travail index HEAD
    ----------------------------------------------------
     A       B     C    D     --soft   A       B     D
    			  --mixed  A       D     D
    			  --hard   D       D     D
    			  --merge (interdit)
    			  --keep  (interdit)

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     A       B     C    C     --soft   A       B     C
    			  --mixed  A       C     C
    			  --hard   C       C     C
    			  --merge (disallowed)
    			  --keep   A       C     C
fr: travail index HEAD cible         travail index HEAD
    ----------------------------------------------------
     A       B     C    C     --soft   A       B     C
    			  --mixed  A       C     C
    			  --hard   C       C     C
    			  --merge (interdit)
    			  --keep   A       C     C

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       B     C    D     --soft   B       B     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge  D       D     D
    			  --keep  (disallowed)
fr: travail index HEAD cible         travail index HEAD
    ----------------------------------------------------
     B       B     C    D     --soft   B       B     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge  D       D     D
    			  --keep  (interdit)

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       B     C    C     --soft   B       B     C
    			  --mixed  B       C     C
    			  --hard   C       C     C
    			  --merge  C       C     C
    			  --keep   B       C     C
fr: travail index HEAD cible         travail index HEAD
    ----------------------------------------------------
     B       B     C    C     --soft   B       B     C
    			  --mixed  B       C     C
    			  --hard   C       C     C
    			  --merge  C       C     C
    			  --keep   B       C     C

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       C     C    D     --soft   B       C     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge (disallowed)
    			  --keep  (disallowed)
fr: travail index HEAD cible         travail index HEAD
    ----------------------------------------------------
     B       C     C    D     --soft   B       C     D
    			  --mixed  B       D     D
    			  --hard   D       D     D
    			  --merge (interdit)
    			  --keep  (interdit)

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     B       C     C    C     --soft   B       C     C
    			  --mixed  B       C     C
    			  --hard   C       C     C
    			  --merge  B       C     C
    			  --keep   B       C     C
fr: travail index HEAD cible         travail index HEAD
    ----------------------------------------------------
     B       C     C    C     --soft   B       C     C
    			  --mixed  B       C     C
    			  --hard   C       C     C
    			  --merge  B       C     C
    			  --keep   B       C     C

note: type: Plain text
en: `reset --merge` is meant to be used when resetting out of a conflicted merge. Any mergy operation guarantees that the working tree file that is involved in the merge does not have a local change with respect to the index before it starts, and that it writes the result out to the working tree. So if we see some difference between the index and the target and also between the index and the working tree, then it means that we are not resetting out from a state that a mergy operation left after failing with a conflict. That is why we disallow `--merge` option in this case.
fr: `reset --merge` est fait pour être utilisé lors de la réinitialisation d'une fusion conflictuelle. Toute opération de type fusion garantit que le fichier de l'arbre de travail qui est impliqué dans une fusion ne subit pas de modification locale par rapport à l'index avant son démarrage, et qu'elle écrit le résultat dans l'arbre de travail. Donc si nous voyons des différences entre l'index et la cible et aussi entre l'index et l'arbre de travail, alors cela signifie que nous ne réinitialisons pas depuis un état qu'une opération de type fusion a laissé après un échec de conflit. C'est pourquoi l'option `--merge` est interdite dans ce cas.

note: type: Plain text
en: `reset --keep` is meant to be used when removing some of the last commits in the current branch while keeping changes in the working tree. If there could be conflicts between the changes in the commit we want to remove and the changes in the working tree we want to keep, the reset is disallowed. That's why it is disallowed if there are both changes between the working tree and `HEAD`, and between `HEAD` and the target. To be safe, it is also disallowed when there are unmerged entries.
fr: `reset --keep` est fait pour être utilisé lors de la suppression d'un certain nombre des derniers commits dans la branche actuelle tout en conservant les modifications dans l'arbre de travail. S'il pouvait y avoir conflit entre les modifications dans le commit que nous souhaitons retirer et les modifications dans l'arbre de travail que nous souhaitons conserver, la réinitialisation est interdite. C'est pourquoi il est interdit s'il y a des modifications à la fois dans l'arbre de travail et dans `HEAD`, et entre `HEAD` et la cible. Pour plus de sécurité, c'est aussi interdit quand des entrées sont non fusionnées.

note: type: Plain text
en: The following tables show what happens when there are unmerged entries:
fr: Le tableau suivant montre ce qui arrive quand il y a des entrées non fusionnées :

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     X       U     A    B     --soft  (disallowed)
    			  --mixed  X       B     B
    			  --hard   B       B     B
    			  --merge  B       B     B
    			  --keep  (disallowed)
fr: travail index HEAD cible          travail index HEAD
    ----------------------------------------------------
     X       U     A    B     --soft  (disallowed)
    			  --mixed  X       B     B
    			  --hard   B       B     B
    			  --merge  B       B     B
    			  --keep  (disallowed)

note: type: delimited block .
en: working index HEAD target         working index HEAD
    ----------------------------------------------------
     X       U     A    A     --soft  (disallowed)
    			  --mixed  X       A     A
    			  --hard   A       A     A
    			  --merge  A       A     A
    			  --keep  (disallowed)
fr: travail index HEAD cible          travail index HEAD
    ----------------------------------------------------
     X       U     A    A     --soft  (interdit)
    			  --mixed  X       A     A
    			  --hard   A       A     A
    			  --merge  A       A     A
    			  --keep  (interdit)

note: type: Plain text
en: `X` means any state and `U` means an unmerged index.
fr: `X` signifie n'importe quel état et `U` signifie un index non fusionné.

note: type: Plain text
en: git-restore - Restore working tree files
fr: git-restore - Restaure les fichier d'un arbre de travail

note: type: Plain text
en: 'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>...
    'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] --pathspec-from-file=<file> [--pathspec-file-nul]
    'git restore' (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [--] [<pathspec>...]
fr: 'git restore' [<options>] [--source=<arbre>] [--staged] [--worktree] [--] <spec-de-chemin>...
    'git restore' [<options>] [--source=<arbre>] [--staged] [--worktree] --pathspec-from-file=<fichier> [--pathspec-file-nul]
    'git restore' (-p|--patch) [<options>] [--source=<arbre>] [--staged] [--worktree] [--] [<spec-de-chemin>...]

note: type: Plain text
en: Restore specified paths in the working tree with some contents from a restore source. If a path is tracked but does not exist in the restore source, it will be removed to match the source.
fr: Restaurer les chemins spécifiés dans l'arbre de travail avec certains contenus d'une source de restauration. Si un chemin est suivi mais n'existe pas dans la source de restauration, il sera supprimé pour correspondre à la source.

note: type: Plain text
en: The command can also be used to restore the content in the index with `--staged`, or restore both the working tree and the index with `--staged --worktree`.
fr: La commande peut aussi être utilisée pour restaurer le contenu de l'index avec `--staged`, ou restaurer à la fois l'arbre de travail et l'index avec `--staged --worktree`.

note: type: Plain text
en: By default, if `--staged` is given, the contents are restored from `HEAD`, otherwise from the index. Use `--source` to restore from a different commit.
fr: Par défaut, si `--staged` est donné, le contenu est restauré depuis `HEAD`, sinon depuis l'index. Utilisez `--source` pour restaurer à partir d'un commit différent.

note: type: Plain text
en: THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
fr: CETTE COMMANDE EST EXPÉRIMENTALE. LE COMPORTEMENT PEUT CHANGER.

note: type: Labeled list
en: -s <tree>
fr: -s <arbre>

note: type: Labeled list
en: --source=<tree>
fr: --source=<arbre>

note: type: Plain text
en: Restore the working tree files with the content from the given tree. It is common to specify the source tree by naming a commit, branch or tag associated with it.
fr: Restaurer les fichiers de l'arbre de travail avec le contenu de l'arbre donné. Il est courant de spécifier l'arbre source en nommant un commit, une branche ou une étiquette qui lui est associée.

note: type: Plain text
en: If not specified, the contents are restored from `HEAD` if `--staged` is given, otherwise from the index.
fr: Si ce n'est pas spécifié, le contenu est restauré depuis `HEAD`. Si `--staged` est donné sinon, depuis l'index.

note: type: Plain text
en: Interactively select hunks in the difference between the restore source and the restore location. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
fr: Sélectionner interactivement les sections dans la différence entre la source de restauration et location de restauration. Voir la section « Mode Interactif » de linkgit:git-add[1] pour apprendre à utiliser le mode `--patch`.

note: type: Plain text
en: Note that `--patch` can accept no pathspec and will prompt to restore all modified paths.
fr: Notez que `--patch` peut accepter une absence de spécificateur de chemin et demandera de restaurer tous les chemins modifiés.

note: type: Plain text
en: Specify the restore location. If neither option is specified, by default the working tree is restored. Specifying `--staged` will only restore the index. Specifying both restores both.
fr: Spécifier l'emplacement de restauration. Si aucune option n'est spécifiée, l'arbre de travail est restauré par défaut. En spécifiant `--staged`, seul l'index sera restauré. Spécifier les deux restaure les deux.

note: type: Plain text
en: Quiet, suppress feedback messages. Implies `--no-progress`.
fr: Silencieux, supprimer les messages d'état. Implique `--no-progress`.

note: type: Plain text
en: When restoring files in the working tree from the index, use stage #2 ('ours') or #3 ('theirs') for unmerged paths.
fr: Lors de la restauration de fichiers dans l'arbre de travail, utiliser l'état #2 ('ours', le nôtre) ou #3 ('theirs', le leur) pour les chemins non fusionnés.

note: type: Plain text
en: Note that during `git rebase` and `git pull --rebase`, 'ours' and 'theirs' may appear swapped. See the explanation of the same options in linkgit:git-checkout[1] for details.
fr: Veuillez noter que pendant `git rebase` et `git pull --rebase`, `ours` et `theirs` peuvent sembler échangés. Voir l'explication des mêmes options dans linkgit:git-checkout[1] pour plus de détails.

note: type: Plain text
en: When restoring files on the working tree from the index, recreate the conflicted merge in the unmerged paths.
fr: Lors de la restauration de l'arbre de travail depuis l'index, récréer la fusion en conflit dans les chemins non fusionnés.

note: type: Plain text
en: When restoring files on the working tree from the index, do not abort the operation if there are unmerged entries and neither `--ours`, `--theirs`, `--merge` or `--conflict` is specified. Unmerged paths on the working tree are left alone.
fr: Lors de la restauration des fichiers sur l’arbre de travail à partir de l’index, ne pas interrompre l’opération s’il y a des entrées non fusionnées et qu’aucune option `--ours`, `--theirs`, `--merge` ou `--conflict` n’est spécifiée. Les chemins non-fusionnés sur l’arbre de travail sont laissés seuls.

note: type: Plain text
en: In sparse checkout mode, by default is to only update entries matched by `<pathspec>` and sparse patterns in $GIT_DIR/info/sparse-checkout. This option ignores the sparse patterns and unconditionally restores any files in `<pathspec>`.
fr: En mode d'extraction clairsemé, le comportement par défaut met seulement à jour les entrées correspondant à `<spécificateur-de-chemin>` et aux motifs clairsemés dans $GIT_DIR/info/sparse-checkout. Cette option ignore les motifs clairsemés et restaure tous les fichiers de `<spécificateur-de-chemin>`.

note: type: Plain text
en: If `<pathspec>` names an active submodule and the restore location includes the working tree, the submodule will only be updated if this option is given, in which case its working tree will be restored to the commit recorded in the superproject, and any local modifications overwritten. If nothing (or `--no-recurse-submodules`) is used, submodules working trees will not be updated. Just like linkgit:git-checkout[1], this will detach `HEAD` of the submodule.
fr: Si `<pathspec>` nomme un sous-module actif et que l'emplacement de la restauration inclut l'arbre de travail, le sous-module ne sera mis à jour que si cette option est donnée, auquel cas son arbre de travail sera restauré au commit enregistré dans le superprojet, et toute modification locale sera écrasée. Si rien (ou `--no-recurse-submodules`) n'est utilisé, les arbres de travail des sous-modules ne seront pas mis à jour. Tout comme linkgit:git-checkout[1], cela détachera le `HEAD` du sous-module.

note: type: Plain text
en: In overlay mode, the command never removes files when restoring. In no-overlay mode, tracked files that do not appear in the `--source` tree are removed, to make them match `<tree>` exactly. The default is no-overlay mode.
fr: En mode sur-écriture, la commande ne supprime jamais les fichiers lors de la restauration. En mode sans sur-écriture, les fichiers suivis qui n'apparaissent pas dans l'arbre `--source` sont supprimés, pour qu'ils correspondent exactement à `<arbre>`. La valeur par défaut est le mode sans sur-écriture.

note: type: Plain text
en: The following sequence switches to the `master` branch, reverts the `Makefile` to two revisions back, deletes hello.c by mistake, and gets it back from the index.
fr: La séquence suivante bascule sur la branche `master`, ramène le fichier `Makefile` à deux révisions en arrière, supprime hello.c par erreur et le récupère de l'index.

note: type: Plain text
en: restore hello.c from the index
fr: restaure hello.c depuis l'index

note: type: Plain text
en: If you want to restore _all_ C source files to match the version in the index, you can say
fr: Si vous souhaitez restaurer _tous_ les fichiers source C pour correspondre à la version de l'index, vous pouvez lancer

note: type: Plain text
en: Note the quotes around `*.c`.  The file `hello.c` will also be restored, even though it is no longer in the working tree, because the file globbing is used to match entries in the index (not in the working tree by the shell).
fr: Notez les guillemets autour de `*.c`. Le fichier `hello.c` sera aussi restauré, même s'il n'est plus dans l'arbre de travail, parce que le patron de fichier est utilisé pour trouver les entrées dans l'index (et non dans l'arbre de travail par le shell).

note: type: Plain text
en: To restore all files in the current directory
fr: Pour restaurer tous les fichiers du répertoire actuel

note: type: Plain text
en: or to restore all working tree files with 'top' pathspec magic (see linkgit:gitglossary[7])
fr: ou pour restaurer tous les fichiers de l'arbre de travail avec la magie du spécificateur de chemin 'top' (voir linkgit:gitglossary[7])

note: type: Plain text
en: To restore a file in the index to match the version in `HEAD` (this is the same as using linkgit:git-reset[1])
fr: Pour restaurer un fichier dans l'index pour qu'il corresponde à la version dans `HEAD` (c'est la même chose que d'utiliser linkgit:git-reset[1])

note: type: Plain text
en: or you can restore both the index and the working tree (this the same as using linkgit:git-checkout[1])
fr: ou vous pouvez restaurer à la fois l'index et l'arbre de travail (c'est la même chose que d'utiliser linkgit:git-checkout[1])

note: type: Plain text
en: or the short form which is more practical but less readable:
fr: ou la forme courte qui est plus pratique mais moins lisible :

note: type: Plain text
en: git-rev-list - Lists commit objects in reverse chronological order
fr: git-rev-list - Affiche les objets commit dans l'ordre chronologique inverse

note: type: Plain text
en: 'git rev-list' [<options>] <commit>... [[--] <path>...]
fr: 'git rev-list' [<options>] <commit> ...[[--] <chemin>...]

note: type: Plain text
en: Print the list of commits reachable from the current branch.
fr: Afficher la liste des commits accessibles à partir de la branche actuelle.

note: type: Plain text
en: Print the list of commits on the current branch that touched any file in the `Documentation` directory.
fr: Afficher la liste des commits sur la branche courante qui ont touché un fichier quelconque du répertoire `Documentation`.

note: type: Labeled list
en: --short[=length]
fr: --short[=longueur]

note: type: Labeled list
en: --exclude=<glob-pattern>
fr: --exclude=<motif-glob>

note: type: Plain text
en: Do not include refs matching '<glob-pattern>' that the next `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` would otherwise consider. Repetitions of this option accumulate exclusion patterns up to the next `--all`, `--branches`, `--tags`, `--remotes`, or `--glob` option (other options or arguments do not clear accumulated patterns).
fr: Ne pas inclure les références correspondant à'<glob-pattern>' que les `--all`, `--branches`, `--tags`, `--remotes`, ou `--glob` suivantes considéreraient autrement. Les répétitions de cette option accumulent les motifs d'exclusion jusqu'à la prochaine option `--all`, `--branches`, `--tags`, `--remotes` ou `--glob` (les autres options ou arguments n'éliminent pas les motifs accumulés).

note: type: Plain text
en: The patterns given should not begin with `refs/heads`, `refs/tags`, or `refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`, respectively, and they must begin with `refs/` when applied to `--glob` or `--all`. If a trailing '/{asterisk}' is intended, it must be given explicitly.
fr: Les motifs donnés ne doivent pas commencer par `refs/heads`, `refs/tags`, ou `refs/remotes` lorsqu'ils sont appliqués à `--branches`, `--tags`, ou `--remotes`, respectivement, et ils doivent commencer par `refs/` lorsqu'ils sont appliqués à `--glob` ou `--all`. Si un'/{asterisk}' final est intentionnel, il doit être donné explicitement.

note: type: Plain text
en: The following options are modified by `--path-format`:
fr: Les options suivantes sont modifiées par `--path-format` :

note: type: Labeled list
en: --resolve-git-dir <path>
fr: --resolve-git-dir <chemin>

note: type: Labeled list
en: --git-path <path>
fr: --git-path <chemin>

note: type: Plain text
en: The following options are unaffected by `--path-format`:
fr: Les options suivantes ne sont pas affectées par `--path-format` :

note: type: Title ~
en: Input Format
fr: Format d'entrée

note: type: Plain text
en: git-rm - Remove files from the working tree and from the index
fr: git-rm - Supprime des fichiers de l'arbre de travail et de l'index

note: type: Plain text
en: 'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]
    	  [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	  [--] [<pathspec>...]
fr: 'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch]
    	  [--quiet] [--pathspec-from-file=<fichier> [--pathspec-file-nul]]
    	  [--] [<spec-de-fichier>...]

note: type: Plain text
en: Remove files matching pathspec from the index, or from the working tree and the index. `git rm` will not remove a file from just your working directory. (There is no option to remove a file only from the working tree and yet keep it in the index; use `/bin/rm` if you want to do that.) The files being removed have to be identical to the tip of the branch, and no updates to their contents can be staged in the index, though that default behavior can be overridden with the `-f` option.  When `--cached` is given, the staged content has to match either the tip of the branch or the file on disk, allowing the file to be removed from just the index. When sparse-checkouts are in use (see linkgit:git-sparse-checkout[1]), `git rm` will only remove paths within the sparse-checkout patterns.
fr: Supprime les fichiers correspondant à spec-de-fichier de l'index, ou de l'arbre de travail et de l'index. `git rm` ne supprimera pas un fichier seulement de votre répertoire de travail (il n'y a aucune option pour supprimer un fichier seulement depuis l'arbre de travail et le conserver dans l'index ; utilisez `/bin/rm` si c'est ce que vous souhaitez faire). Les fichiers à supprimer doivent être identiques à ceux du sommet de la branche, et avec aucune mise à jour indexée, mais ce comportement par défaut peut être outrepassé avec l'option `-f`. Quand `--cached` est fourni, le contenu indexé doit correspondre soit au sommet de la branche soit au fichier sur disque, de sorte que le fichier puisse n'être supprimé que de l'index. Lorsque des extractions partielles sont utilisées (voir linkgit:git-sparse-checkout[1]), `git rm` ne supprimera que les chemins qui correspondent aux motifs d'extraction partielle.

note: type: Plain text
en: Files to remove.  A leading directory name (e.g. `dir` to remove `dir/file1` and `dir/file2`) can be given to remove all files in the directory, and recursively all sub-directories, but this requires the `-r` option to be explicitly given.
fr: Fichiers à supprimer. Un nom de répertoire en préfixe (par exemple `rép` pour supprimer `rép/fichier1` et `rép/fichier2`) peut être indiqué pour supprimer tous les fichiers dans un répertoire, et récursivement dans tous ses sous-répertoires, mais cela nécessite explicitement l'option `-r`.

note: type: Plain text
en: The command removes only the paths that are known to Git.
fr: La commande ne supprime que les chemins qui sont connus de Git.

note: type: Plain text
en: File globbing matches across directory boundaries.  Thus, given two directories `d` and `d2`, there is a difference between using `git rm 'd*'` and `git rm 'd/*'`, as the former will also remove all of directory `d2`.
fr: La correspondance de motifs de fichiers fonctionne à travers les limites de répertoires. Ainsi, étant donnés deux répertoires `r` et `r2`, il y a une différence entre utiliser `git rm 'r*'` et `git rm 'r/*'`, car la première forme supprime aussi le répertoire `r2`.

note: type: Plain text
en: Override the up-to-date check.
fr: Outrepasser la vérification de synchronisation.

note: type: Plain text
en: Don't actually remove any file(s).  Instead, just show if they exist in the index and would otherwise be removed by the command.
fr: Ne pas supprimer réellement les fichiers. À la place, montrer juste s'ils existent dans l'index et seraient de ce fait supprimés par la commande.

note: type: Plain text
en: Allow recursive removal when a leading directory name is given.
fr: Permettre la suppression récursive quand un répertoire est fourni.

note: type: Plain text
en: Use this option to unstage and remove paths only from the index.  Working tree files, whether modified or not, will be left alone.
fr: Utilisez cette option pour désindexer et supprimer les chemins seulement depuis l'index. Les fichiers de l'arbre de travail, qu'ils soient modifiés ou non, seront préservés.

note: type: Plain text
en: Exit with a zero status even if no files matched.
fr: Sortir avec un état zéro même si rien ne correspondait.

note: type: Plain text
en: `git rm` normally outputs one line (in the form of an `rm` command)  for each file removed. This option suppresses that output.
fr: `git rm` affiche normalement une ligne (sous la forme d'une commande `rm`) pour chaque fichier supprimé. Cette option élimine cet affichage.

note: type: Title -
en: REMOVING FILES THAT HAVE DISAPPEARED FROM THE FILESYSTEM
fr: SUPPRESSION DE FICHIERS QUI ONT DISPARU DU SYSTÈME DE FICHIERS

note: type: Plain text
en: There is no option for `git rm` to remove from the index only the paths that have disappeared from the filesystem. However, depending on the use case, there are several ways that can be done.
fr: Il n'y a aucune option de `git rm` pour ne supprimer de l'index que les chemins qui ont disparu du système de fichier. Cependant, en fonction des cas, il y divers moyens d'y arriver.

note: type: Title ~
en: Using ``git commit -a''
fr: En utilisant ``git commit -a''

note: type: Plain text
en: If you intend that your next commit should record all modifications of tracked files in the working tree and record all removals of files that have been removed from the working tree with `rm` (as opposed to `git rm`), use `git commit -a`, as it will automatically notice and record all removals.  You can also have a similar effect without committing by using `git add -u`.
fr: Si votre objectif est que le prochain commit enregistre toutes les modifications des fichiers suivis dans l'arbre de travail et enregistre toutes les suppressions de fichiers qui ont été supprimés de l'arbre de travail avec `rm` (par opposition à `git rm`), utilisez `git commit -a`, qui va automatiquement détecter et enregistrer toutes les suppressions. Vous pouvez aussi obtenir un effet similaire sans valider en utilisant `git add -u`.

note: type: Title ~
en: Using ``git add -A''
fr: En utilisant ``git add -A''

note: type: Plain text
en: When accepting a new code drop for a vendor branch, you probably want to record both the removal of paths and additions of new paths as well as modifications of existing paths.
fr: Pour accepter une nouvelle livraison de code d'une branche de vendeur, vous souhaiterez probablement enregistrer à la fois les suppressions de chemins et les ajouts de nouveaux chemins ainsi que les modifications de chemins existants.

note: type: Plain text
en: Typically you would first remove all tracked files from the working tree using this command:
fr: Typiquement, vous supprimeriez d'abord tous les fichiers suivis de l'arbre de travail en utilisant la commande :

note: type: Plain text
en: and then untar the new code in the working tree. Alternately you could 'rsync' the changes into the working tree.
fr: Ensuite, vous décompresseriez le nouveau code dans l'arbre de travail. D'une autre manière, vous pourriez utiliser `rsync` dans votre arbre de travail.

note: type: Plain text
en: After that, the easiest way to record all removals, additions, and modifications in the working tree is:
fr: Après cela, le moyen le plus simple d'enregistrer toutes les suppressions, les ajouts et les modifications dans l'arbre de travail consiste à :

note: type: Plain text
en: See linkgit:git-add[1].
fr: Voir linkgit:git-add[1].

note: type: Title ~
en: Other ways
fr: Autres moyens

note: type: Plain text
en: If all you really want to do is to remove from the index the files that are no longer present in the working tree (perhaps because your working tree is dirty so that you cannot use `git commit -a`), use the following command:
fr: Si tout ce que vous voulez vraiment faire, c'est de supprimer de l'index les fichiers qui ne sont plus présents dans l'arbre de travail (peut-être parce que votre arbre de travail est sale, donc vous ne pouvez pas utiliser `git commit -a`), utilisez la commande suivante :

note: type: Plain text
en: Only submodules using a gitfile (which means they were cloned with a Git version 1.7.8 or newer) will be removed from the work tree, as their repository lives inside the .git directory of the superproject. If a submodule (or one of those nested inside it)  still uses a .git directory, `git rm` will move the submodules git directory into the superprojects git directory to protect the submodule's history. If it exists the submodule.<name> section in the linkgit:gitmodules[5] file will also be removed and that file will be staged (unless --cached or -n are used).
fr: Seuls les sous-modules utilisant un gitfile (ce qui signifie qu'ils ont été clonés avec Git version 1.7.8 ou plus récent) seront supprimés de l'arbre de travail, car leur dépôt réside dans le répertoire `.git` du superprojet. Si un sous-module (ou un sous-module de celui-ci) utilise encore un répertoire `.git`, `git rm` va déplacer le répertoire git du sous-module dans le répertoire git du superprojet pour protéger l'historique du sous-module. Si elle existe, la section `submodule.<nom>` dans le fichier linkgit:gitmodules[5] sera aussi supprimée et ce fichier sera indexé (à moins que --cached ou -n ne soient utilisés).

note: type: Plain text
en: A submodule is considered up to date when the HEAD is the same as recorded in the index, no tracked files are modified and no untracked files that aren't ignored are present in the submodules work tree.  Ignored files are deemed expendable and won't stop a submodule's work tree from being removed.
fr: Un sous-module est considéré à jour quand la HEAD est identique à ce qui est enregistré dans l'index, qu'aucun fichier suivi n'est modifié ni qu'aucun fichier non suivi non ignoré n'est présent dans l'arbre de travail du sous-module. Les fichiers ignorés sont considérés jetables et n'empêchent pas un sous-module d'être supprimé.

note: type: Plain text
en: If you only want to remove the local checkout of a submodule from your work tree without committing the removal, use linkgit:git-submodule[1] `deinit` instead. Also see linkgit:gitsubmodules[7] for details on submodule removal.
fr: Si vous voulez seulement supprimer une extraction locale d'un sous-module de votre arbre de travail sans valider la suppression, utilisez linkgit:git-submodules[1] `deinit` à la place. Voir aussi linkgit:gitsubmodules[7] pour des détails sur la suppression de sous-modules.

note: type: Plain text
en: Removes all `*.txt` files from the index that are under the `Documentation` directory and any of its subdirectories.
fr: Supprimer tous les fichiers `*.txt` de l'index qui sont sous le répertoire `Documentation` et ses sous-répertoires.

note: type: Plain text
en: Note that the asterisk `*` is quoted from the shell in this example; this lets Git, and not the shell, expand the pathnames of files and subdirectories under the `Documentation/` directory.
fr: Remarquez que l'astérisque `*` est échappé du shell dans cet exemple ; cela permet, par l'expansion des chemins par Git et non par le shell, d'inclure les fichiers dans les sous-répertoires du Répertoire `Documentation/`.

note: type: Plain text
en: Because this example lets the shell expand the asterisk (i.e. you are listing the files explicitly), it does not remove `subdir/git-foo.sh`.
fr: Comme cet exemple laisse le shell réaliser l'expansion de l'astérisque (c'est-à-dire que vous listez explicitement les fichiers du répertoire), il ne supprime pas `sous-répertoire/git-toto.sh`.

note: type: Plain text
en: Each time a superproject update removes a populated submodule (e.g. when switching between commits before and after the removal) a stale submodule checkout will remain in the old location. Removing the old directory is only safe when it uses a gitfile, as otherwise the history of the submodule will be deleted too. This step will be obsolete when recursive submodule update has been implemented.
fr: Chaque fois qu'une mise à jour du super-projet supprime un sous-module peuplé (par exemple, lors d'un basculement d'un commit précédent la suppression à un commit postérieur), une extraction périmée du sous-module restera à l'ancienne place. La suppression de l'ancien répertoire n'est sécurisée que lorsque le sous-module utilise un gitfile, car sinon l'historique du sous-module serait aussi supprimé. Cette étape sera obsolète lorsque la mise à jour récursive de sous-modules sera implantée.

note: type: Labeled list
en: --subject=<string>
fr: --subject=<chaîne>

note: type: Labeled list
en: --sendmail-cmd=<command>
fr: --sendmail-cmd=<commande>

note: type: Labeled list
en: --identity=<identity>
fr: --identity=<identité>

note: type: Plain text
en: git-send-pack - Push objects over Git protocol to another repository
fr: git-send-pack - Pousse des objets par le protocole Git vers un autre dépôt

note: type: Plain text
en: Same as --receive-pack=<git-receive-pack>.
fr: Identique à --receive-pack=<git-receive-pack>.

note: type: Labeled list
en: --push-option=<string>
fr: --push-option=<chaîne>

note: type: Plain text
en: git-shell - Restricted login shell for Git-only SSH access
fr: git-shell - Shell de login restreint pour un accès SSH vers Git seulement

note: type: Title -
en: INTERACTIVE USE
fr: UTILISATION INTERACTIVE

note: type: Plain text
en: git-shortlog - Summarize 'git log' output
fr: git-shortlog - Résume 'git log' sortie

note: type: Plain text
en: 'git shortlog' [<options>] [<revision range>] [[--] <path>...]
    git log --pretty=short | 'git shortlog' [<options>]
fr: 'git shortlog' [<options>] [<intervalle de révision>] [[--] <chemin>...]
    git log --pretty=short | 'git shortlog' [<options>]

note: type: Plain text
en: Summarizes 'git log' output in a format suitable for inclusion in release announcements. Each commit will be grouped by author and title.
fr: Récapitule la sortie du « git log » dans un format adapté à l'inclusion dans les annonces de version. Chaque commit sera regroupé par auteur et titre.

note: type: Plain text
en: Additionally, "[PATCH]" will be stripped from the commit description.
fr: En outre, "[PATCH]" sera supprimé de la description de validation.

note: type: Plain text
en: If no revisions are passed on the command line and either standard input is not a terminal or there is no current branch, 'git shortlog' will output a summary of the log read from standard input, without reference to the current repository.
fr: Si aucune révision n'est passée sur la ligne de commande et que soit l'entrée standard n'est pas un terminal, soit il n'y a pas de branche courante,'git shortlog' affichera un résumé du journal lu depuis l'entrée standard, sans référence au référentiel courant.

note: type: Plain text
en: Sort output according to the number of commits per author instead of author alphabetic order.
fr: Trier la sortie en fonction du nombre de livraisons par auteur au lieu de l'ordre alphabétique des auteurs.

note: type: Plain text
en: Suppress commit description and provide a commit count summary only.
fr: Supprimer la description des commits et fournir un résumé du décompte des validations seulement.

note: type: Plain text
en: Show the email address of each author.
fr: Afficher l'adresse courriel de chaque auteur.

note: type: Plain text
en: Instead of the commit subject, use some other information to describe each commit.  '<format>' can be any string accepted by the `--format` option of 'git log', such as '* [%h] %s'.  (See the "PRETTY FORMATS" section of linkgit:git-log[1].)
fr: Au lieu du sujet du commit, utiliser d'autres informations pour décrire chaque commit.  <format>' peut être n'importe quelle chaîne acceptée par l'option `--format' de'git log', telle que'*[%h] %s'.  (Voir la section "MISES EN FORME" de linkgit:git-log[1].)

note: type: Plain text
en: Each pretty-printed commit will be rewrapped before it is shown.
fr: Chaque commit mis en forme sera reformaté avant d'être affiché.

note: type: Plain text
en: Group commits based on `<type>`. If no `--group` option is specified, the default is `author`. `<type>` is one of:
fr: Grouper les commits basés sur `<type>`. Si aucune option `--group` n'est spécifiée, la valeur par défaut est `author`. `<type>` peut être :

note: type: Plain text
en: `author`, commits are grouped by author
fr: `author`, les commits sont groupés par auteur

note: type: Plain text
en: `committer`, commits are grouped by committer (the same as `-c`)
fr: `committer`, les commits sont groupés par validateur (équivalent à `-c`)

note: type: Plain text
en: `trailer:<field>`, the `<field>` is interpreted as a case-insensitive commit message trailer (see linkgit:git-interpret-trailers[1]). For example, if your project uses `Reviewed-by` trailers, you might want to see who has been reviewing with `git shortlog -ns --group=trailer:reviewed-by`.
fr: `trailer:<field>`, Le champ `<field>` est interprété comme un message de fin de commit sans prise en compte de la casse (voir linkgit:git-interpret-trailers[1]). Par exemple, si votre projet utilise des fins de messages `Reviewed-by`, vous voulez sans doute voir qui a fait des revisions avec `git shortlog -ns --group=trailer:reviewed-by`.

note: type: Plain text
en: Note that commits that do not include the trailer will not be counted.  Likewise, commits with multiple trailers (e.g., multiple signoffs) may be counted more than once (but only once per unique trailer value in that commit).
fr: Notez que les commits qui n'incluent pas de fin de message ne seront pas comptés.  De la même façon, les commits avec plusieurs fins de message (par ex., plusieurs approbations) peuvent être comptés plus d'une fois (mais seulement une fois par valeur unique de fin de message sur ce commit).

note: type: Plain text
en: Shortlog will attempt to parse each trailer value as a `name <email>` identity. If successful, the mailmap is applied and the email is omitted unless the `--email` option is specified. If the value cannot be parsed as an identity, it will be taken literally and completely.
fr: Shortlog tentera d'analyser chaque valeur de fin de texte comme une identité "nom <email>". En cas de succès, la carte de courrier est appliquée et le courriel est omis à moins que l'option `--email` ne soit spécifiée. Si la valeur ne peut pas être analysée comme une identité, elle sera prise littéralement et complètement.

note: type: Plain text
en: If `--group` is specified multiple times, commits are counted under each value (but again, only once per unique value in that commit). For example, `git shortlog --group=author --group=trailer:co-authored-by` counts both authors and co-authors.
fr: Si `--group` est spécifié plusieurs fois, les commit sont comptés sous chaque valeur (mais encore une fois, une seule fois par valeur unique dans ce commit). Par exemple, `git shortlog --group=author --group=trailer:co-authored-by` compte à la fois les auteurs et les co-auteurs.

note: type: Plain text
en: This is an alias for `--group=committer`.
fr: Il s'agit d'un alias pour `--group=committer`.

note: type: Labeled list
en: -w[<width>[,<indent1>[,<indent2>]]]
fr: -w[<largeur>[,<indent1>[,<indent2>]]]

note: type: Plain text
en: Linewrap the output by wrapping each line at `width`.  The first line of each entry is indented by `indent1` spaces, and the second and subsequent lines are indented by `indent2` spaces. `width`, `indent1`, and `indent2` default to 76, 6 and 9 respectively.
fr: Formater la sortie en coupant chaque ligne à la longueur  `largeur`.  La première ligne de chaque entrée est indentée à `indent1` espaces, et la deuxième ligne et les suivantes sont indentées à `indent2` espaces. `largeur`, `indent1` et `indent2` valent par défaut à 76, 6 et 9 respectivement.

note: type: Plain text
en: If width is `0` (zero) then indent the lines of the output without wrapping them.
fr: Si la largeur est `0` (zéro) alors indenter les lignes de la sortie sans les recouper.

note: type: Plain text
en: Show only commits in the specified revision range.  When no <revision range> is specified, it defaults to `HEAD` (i.e. the whole history leading to the current commit).  `origin..HEAD` specifies all the commits reachable from the current commit (i.e. `HEAD`), but not from `origin`. For a complete list of ways to spell <revision range>, see the "Specifying Ranges" section of linkgit:gitrevisions[7].
fr: Afficher uniquement les commits dans la plage de révision spécifiée.  Lorsqu'aucune <plage de révision> n'est spécifiée, elle vaut par défaut à `HEAD` (c'est-à-dire tout l'historique menant au commit actuel). `origin.. HEAD` spécifie tous les commits accessibles à partir du commit actuel (c'est-à-dire `HEAD`), mais pas de `origin`. Pour une liste complète des moyens d'épeler une <plage de révision>, consultez la section « Spécification de plage » de linkgit:gitrevisions[7].

note: type: Plain text
en: Consider only commits that are enough to explain how the files that match the specified paths came to be.
fr: Ne considérer que les commits qui sont suffisants pour expliquer comment les fichiers qui correspondent aux chemins spécifiés ont été créés.

note: type: Plain text
en: Note that if `git shortlog` is run outside of a repository (to process log contents on standard input), it will look for a `.mailmap` file in the current directory.
fr: Notez que si `git shortlog` est exécuté en dehors d'un dépôt (pour traiter le contenu du journal sur une entrée standard), il cherchera un fichier `.mailmap` dans le répertoire actuel.

note: type: Plain text
en: 'git show-branch' [-a|--all] [-r|--remotes] [--topo-order | --date-order]
    		[--current] [--color[=<when>] | --no-color] [--sparse]
    		[--more=<n> | --list | --independent | --merge-base]
    		[--no-name | --sha1-name] [--topics]
    		[(<rev> | <glob>)...]
    'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]
fr: 'git show-branch' [-a | --all] [-r|--remotes] [--topo-order | --date-order]
    		[--current] [--color[=<quand>] | --no-color] [--sparse]
    		[--more=<n> | --list | --independent | --merge-base]
    		[--no-name | --sha1-name] [--topics]
    		[(<rév> | <glob>)...]
    'git show-branch' (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]

note: type: Plain text
en: Show the remote-tracking branches.
fr: Afficher les branches de suivi à distance.

note: type: Plain text
en: Synonym to `--more=-1`
fr: synonyme de `--more=-1`

note: type: Plain text
en: 'git show-index' [--object-format=<hash-algorithm>]
fr: 'git show-index' [--object-format=<algorithme-d-empreinte>]

note: type: Plain text
en: Specify the given object format (hash algorithm) for the index file.  The valid values are 'sha1' and (if enabled) 'sha256'.  The default is the algorithm for the current repository (set by `extensions.objectFormat`), or 'sha1' if no value is set or outside a repository..
fr: Spécifier le format d'objet donné (algorithme d'empreinte) pour le fichier d'index.  Les valeurs valides sont 'sha1' et (si activé) 'sha256'. La valeur par défaut est l'algorithme pour le dépôt actuel (défini par `extensions.objectFormat`), ou 'sha1' si aucune valeur n'est définie ou en dehors d'un dépôt.

note: type: Plain text
en: Show the HEAD reference, even if it would normally be filtered out.
fr: Afficher la référence HEAD, même si elle serait normalement filtrée.

note: type: Labeled list
en: --exclude-existing[=<pattern>]
fr: --exclude-existing[=<motif>]

note: type: Plain text
en: git-show - Show various types of objects
fr: git-show - Afficher différents types d'objets

note: type: Plain text
en: 'git show' [<options>] [<object>...]
fr: 'git show' [<options>] [<objet>...]

note: type: Plain text
en: Shows one or more objects (blobs, trees, tags and commits).
fr: Affiche un ou plusieurs objets (blobs, arbres, étiquettes et commits).

note: type: Plain text
en: For commits it shows the log message and textual diff. It also presents the merge commit in a special format as produced by 'git diff-tree --cc'.
fr: Pour les commits, il affiche le message de log et la différence textuelle. Il présente également le commit de fusion dans un format spécial comme produit par'git diff-tree --cc'.

note: type: Plain text
en: For tags, it shows the tag message and the referenced objects.
fr: Pour les étiquettes, il affiche le message de l'étiquette et les objets référencés.

note: type: Plain text
en: For trees, it shows the names (equivalent to 'git ls-tree' with --name-only).
fr: Pour les arbres, il affiche les noms (équivalent à'git ls-tree' avec --name only).

note: type: Plain text
en: For plain blobs, it shows the plain contents.
fr: Pour les blobs simples, il affiche le contenu simple.

note: type: Plain text
en: The command takes options applicable to the 'git diff-tree' command to control how the changes the commit introduces are shown.
fr: La commande prend les options applicables à la commande'git diff-tree' pour contrôler comment les changements introduits par le commit sont affichés.

note: type: Plain text
en: This manual page describes only the most frequently used options.
fr: Cette page manuelle décrit uniquement les options les plus fréquemment utilisées.

note: type: Labeled list
en: <object>...
fr: <objet>...

note: type: Plain text
en: The names of objects to show (defaults to 'HEAD').  For a more complete list of ways to spell object names, see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
fr: Les noms des objets à afficher (par défaut:'HEAD').  Pour une liste plus complète des façons d'épeler les noms d'objets, voir la section "SPÉCIFIER LES RÉVISIONS" dans linkgit:gitrevisions[7].

note: type: Plain text
en: The options below can be used to change the way `git show` generates diff output.
fr: Les options ci-dessous peuvent être utilisées pour modifier la façon dont `git show` génère la sortie des différences.

note: type: Plain text
en: Shows the tag `v1.0.0`, along with the object the tags points at.
fr: Affiche l'étiquette `v1.0.0`, ainsi que l'objet sur lequel elle pointe.

note: type: Plain text
en: Shows the tree pointed to by the tag `v1.0.0`.
fr: Affiche l'arbre pointé par l'étiquette `v1.0.0`.

note: type: Plain text
en: Shows the subject of the commit pointed to by the tag `v1.0.0`.
fr: Affiche le titre du commit pointé par le tag 'v1.0.0'.

note: type: Plain text
en: Shows the contents of the file `Documentation/README` as they were current in the 10th last commit of the branch `next`.
fr: Affiche le contenu du fichier 'Documentation/README' tel qu'il était dans le 10ème dernier commit de la branche 'next'.

note: type: Plain text
en: Concatenates the contents of said Makefiles in the head of the branch `master`.
fr: Concatène le contenu desdits Makefiles dans l'en-tête de la branche `master'.

note: type: Plain text
en: runs chdir to the toplevel of the working tree.
fr: se placer dans le répertoire à la racine de l'arbre de travail.

note: type: Plain text
en: git-stage - Add file contents to the staging area
fr: git-stage - Ajoute le contenu de fichiers à l'index

note: type: Plain text
en: This is a synonym for linkgit:git-add[1].  Please refer to the documentation of that command.
fr: Ceci est un synonyme pour linkgit:git-add[1].  Veuillez vous référer à la documentation de cette commande.

note: type: Plain text
en: git-stash - Stash the changes in a dirty working directory away
fr: git-stash - Remiser les modifications d'un répertoire de travail sale

note: type: Plain text
en: 'git stash' list [<log-options>]
    'git stash' show [-u|--include-untracked|--only-untracked] [<diff-options>] [<stash>]
    'git stash' drop [-q|--quiet] [<stash>]
    'git stash' ( pop | apply ) [--index] [-q|--quiet] [<stash>]
    'git stash' branch <branchname> [<stash>]
    'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
    	     [-u|--include-untracked] [-a|--all] [-m|--message <message>]
    	     [--pathspec-from-file=<file> [--pathspec-file-nul]]
    	     [--] [<pathspec>...]]
    'git stash' clear
    'git stash' create [<message>]
    'git stash' store [-m|--message <message>] [-q|--quiet] <commit>
fr: 'git stash' list [<options-de-log>]
    'git stash' show [-u|--include-untracked|--only-untracked] [<options-de-diff>] [<remisage>]
    'git stash' drop [-q|--quiet] [<remisage>]
    'git stash' ( pop | apply ) [--index] [-q|--quiet] [<remisage>]
    'git stash' branch <nom-de-branche> [<remisage>]
    'git stash' [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
    	     [-u|--include-untracked] [-a|--all] [-m|--message <message>]
    	     [--pathspec-from-file=<fichier> [--pathspec-file-nul]]
    	     [--] [<spéc-de-chemin>...]]
    'git stash' clear
    'git stash' create [<message>]
    'git stash' store [-m|--message <message>] [-q|--quiet] <commit>

note: type: Plain text
en: Use `git stash` when you want to record the current state of the working directory and the index, but want to go back to a clean working directory.  The command saves your local modifications away and reverts the working directory to match the `HEAD` commit.
fr: Utilisez `git stash` lorsque vous voulez enregistrer l'état actuel du répertoire de travail et de l'index, mais que vous voulez revenir à un répertoire de travail propre.  La commande enregistre vos modifications locales et rétablit le répertoire de travail pour qu'il corresponde au commit `HEAD`.

note: type: Plain text
en: The modifications stashed away by this command can be listed with `git stash list`, inspected with `git stash show`, and restored (potentially on top of a different commit) with `git stash apply`.  Calling `git stash` without any arguments is equivalent to `git stash push`.  A stash is by default listed as "WIP on 'branchname' ...", but you can give a more descriptive message on the command line when you create one.
fr: Les modifications remisées par cette commande peuvent être listées avec `git stash list`, inspectées avec `git stash show`, et restaurées (potentiellement au dessus d'un commit différent) avec `git stash apply`.  Appeler `git stash` sans aucun argument est équivalent à `git stash push`.  Un remisage est par défaut listé comme "WIP sur 'nom-de-branche' ...", mais vous pouvez donner un message plus descriptif sur la ligne de commande lorsque vous en créez un.

note: type: Plain text
en: The latest stash you created is stored in `refs/stash`; older stashes are found in the reflog of this reference and can be named using the usual reflog syntax (e.g. `stash@{0}` is the most recently created stash, `stash@{1}` is the one before it, `stash@{2.hours.ago}` is also possible). Stashes may also be referenced by specifying just the stash index (e.g. the integer `n` is equivalent to `stash@{n}`).
fr: Le dernier remisage que vous avez créé est stocké dans `refs/stash` ; les anciens remisages se trouvent dans le reflog de cette référence et peuvent être nommés en utilisant la syntaxe habituelle du reflog (par exemple `stash@{0}` est le dernier remisage créé, `stash@{1}` est celui qui le précède, `stash@{2.hours.ago}` est également possible). On peut également référencer les remisages en spécifiant uniquement l'index du remisage (par exemple, l'entier `n` est équivalent à `stash@{n}`).

note: type: Labeled list
en: push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <message>] [--pathspec-from-file=<file> [--pathspec-file-nul]] [--] [<pathspec>...]
fr: push [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet] [-m|--message <message>] [--pathspec-from-file=<fichier> [--pathspec-file-nul]] [--] [<spéc-de-chemin>...]

note: type: Plain text
en: Save your local modifications to a new 'stash entry' and roll them back to HEAD (in the working tree and in the index).  The <message> part is optional and gives the description along with the stashed state.
fr: Enregistre vos modifications locales dans une nouvelle "entrée de remisage" et les ramène dans HEAD (dans l'arbre de travail et dans l'index).  La partie <message> est facultative et donne la description ainsi que l'état du remisage.

note: type: Plain text
en: For quickly making a snapshot, you can omit "push".  In this mode, non-option arguments are not allowed to prevent a misspelled subcommand from making an unwanted stash entry.  The two exceptions to this are `stash -p` which acts as alias for `stash push -p` and pathspec elements, which are allowed after a double hyphen `--` for disambiguation.
fr: Pour faire rapidement un instantané, vous pouvez omettre "push".  Dans ce mode, les arguments de non-optionnels ne sont pas autorisés pour empêcher une sous-commande mal orthographiée de faire une entrée indésirable dans le remisage.  Les deux exceptions sont `stash -p` qui agit comme alias pour `push -p` et les éléments spéc-de-chemin, qui sont autorisés après un double trait d'union `--` pour la désambiguïsation.

note: type: Plain text
en: This option is deprecated in favour of 'git stash push'.  It differs from "stash push" in that it cannot take pathspec.  Instead, all non-option arguments are concatenated to form the stash message.
fr: Cette option est déconseillée au profit de l'option 'git stash push".  Elle diffère de "stash push" en ce qu'elle ne peut pas prendre de spéc-de-chemin.  Au lieu de cela, tous les arguments non liés à une option sont concaténés pour former le message de remisage.

note: type: Labeled list
en: list [<log-options>]
fr: list [<options-de-log>]

note: type: Plain text
en: List the stash entries that you currently have.  Each 'stash entry' is listed with its name (e.g. `stash@{0}` is the latest entry, `stash@{1}` is the one before, etc.), the name of the branch that was current when the entry was made, and a short description of the commit the entry was based on.
fr: Dresser la liste des entrées de remisage que vous avez actuellement.  Chaque 'entrée de remisage' est listée avec son nom (par exemple, `stash@{0}` est la dernière entrée, `stash@{1}` est l'entrée précédente, etc.), le nom de la branche en cours au moment où l'entrée a été faite, et une courte description du commit sur lequel l'entrée est basée.

note: type: Plain text
en: The command takes options applicable to the 'git log' command to control what is shown and how. See linkgit:git-log[1].
fr: La commande prend les options applicables à la commande 'git log' pour contrôler ce qui est affiché et comment. Voir linkgit:git-log[1].

note: type: Labeled list
en: show [-u|--include-untracked|--only-untracked] [<diff-options>] [<stash>]
fr: show [-u|--include-untracked|--only-untracked] [<options-diff>] [<remisage>]

note: type: Plain text
en: Show the changes recorded in the stash entry as a diff between the stashed contents and the commit back when the stash entry was first created.  By default, the command shows the diffstat, but it will accept any format known to 'git diff' (e.g., `git stash show -p stash@{1}` to view the second most recent entry in patch form).  If no `<diff-option>` is provided, the default behavior will be given by the `stash.showStat`, and `stash.showPatch` config variables. You can also use `stash.showIncludeUntracked` to set whether `--include-untracked` is enabled by default.
fr: Afficher les modifications enregistrées dans l'entrée de remisage comme une différence entre le contenu du remisage et le commit tel qu'il était quand l'entrée de remisag a été créée pour la première fois.  Par défaut, la commande affiche le diffstat, mais elle accepte tout format connu de 'git diff' (par exemple, `git stash show -p stash@{1}` pour afficher la deuxième entrée la plus récente sous forme de rustine). Si aucune `<diff-option>` n'est fournie, le comportement par défaut sera donné par les variables de configuration `stash.showStat` et `stash.showPatch`. Vous pouvez également utiliser `stash.showIncludeUntracked` pour définir si `--include-untracked` est activé par défaut.

note: type: Labeled list
en: pop [--index] [-q|--quiet] [<stash>]
fr: pop [--index] [-q|--quiet] [<remise>]

note: type: Plain text
en: Remove a single stashed state from the stash list and apply it on top of the current working tree state, i.e., do the inverse operation of `git stash push`. The working directory must match the index.
fr: Supprimer un seul remisage de la liste des remisages et l'appliquer par dessus l'état de l'arbre de travail actuel, c'est-à-dire faire l'opération inverse de `git stash push`. Le répertoire de travail doit correspondre à l'index.

note: type: Plain text
en: Applying the state can fail with conflicts; in this case, it is not removed from the stash list. You need to resolve the conflicts by hand and call `git stash drop` manually afterwards.
fr: L'application de l'état peut échouer en cas de conflit ; dans ce cas, il n'est pas retiré de la liste de remisages. Vous devez résoudre les conflits à la main et appeler ensuite `git stash drop` manuellement.

note: type: Labeled list
en: apply [--index] [-q|--quiet] [<stash>]
fr: apply [--index] [-q|--quiet] [<remise>]

note: type: Plain text
en: Like `pop`, but do not remove the state from the stash list. Unlike `pop`, `<stash>` may be any commit that looks like a commit created by `stash push` or `stash create`.
fr: Comme `pop`, mais ne pas supprimer l'état de la liste de remisages. Contrairement à `pop`, `<stash>` peut être n'importe quel commit qui ressemble à un commit créé par `stash push` ou `stash create`.

note: type: Labeled list
en: branch <branchname> [<stash>]
fr: branch <nom-de-branche> [<remisage>]

note: type: Plain text
en: Creates and checks out a new branch named `<branchname>` starting from the commit at which the `<stash>` was originally created, applies the changes recorded in `<stash>` to the new working tree and index.  If that succeeds, and `<stash>` is a reference of the form `stash@{<revision>}`, it then drops the `<stash>`.
fr: Créer et extraire une nouvelle branche nommée `<nom-de-branche>` à partir du commit où le `<remisage>` a été créé à l'origine, appliquer les modifications enregistrées dans le `<remisage>` au nouvel arbre de travail et à l'index.  Si cela réussit, et que  le `<remisage>` est une référence de la forme `stash@{<révision>}`, abandonner alors le `<remisage>`.

note: type: Plain text
en: This is useful if the branch on which you ran `git stash push` has changed enough that `git stash apply` fails due to conflicts. Since the stash entry is applied on top of the commit that was HEAD at the time `git stash` was run, it restores the originally stashed state with no conflicts.
fr: Ceci est utile si la branche sur laquelle vous avez lancé `git stash push` a suffisamment changé pour que `git stash apply` échoue à cause de conflits. Puisque l'entrée de remisage est appliquée sur le commit qui était HEAD au moment où `git stash` a été lancé, elle restaure l'état d'origine remisé sans conflit.

note: type: Plain text
en: Remove all the stash entries. Note that those entries will then be subject to pruning, and may be impossible to recover (see 'Examples' below for a possible strategy).
fr: Supprimer toutes les entrées de remisage. Notez que ces entrées seront alors soumises à un élagage et pourraient être impossibles à récupérer (voir "Exemples" ci-dessous pour une stratégie possible).

note: type: Labeled list
en: drop [-q|--quiet] [<stash>]
fr: drop [-q|--quiet] [<remisage>]

note: type: Plain text
en: Remove a single stash entry from the list of stash entries.
fr: Supprimer une seule entrée de la liste des entrées de remisage.

note: type: Plain text
en: Create a stash entry (which is a regular commit object) and return its object name, without storing it anywhere in the ref namespace.  This is intended to be useful for scripts.  It is probably not the command you want to use; see "push" above.
fr: Créer une entrée de remisage (qui est un objet commit régulier) et renvoyer son nom d'objet, sans le stocker nulle part dans l'espace de noms de références.  Ceci est destiné à être utilisé par les scripts.  Ce n'est probablement pas la commande que vous voulez utiliser ; voir "push" ci-dessus.

note: type: Plain text
en: Store a given stash created via 'git stash create' (which is a dangling merge commit) in the stash ref, updating the stash reflog.  This is intended to be useful for scripts.  It is probably not the command you want to use; see "push" above.
fr: Stocker un remisage donné créé via 'git stash create' (qui est un commit de fusion en cours) dans la référence de remisage, en mettant à jour le reflog de remisage.  Ceci est destiné à être utilisé par des scripts.  Ce n'est probablement pas la commande que vous souhaitez utiliser ; voir "push" ci-dessus.

note: type: Plain text
en: This option is only valid for `push` and `save` commands.
fr: Cette option n'est valable que pour les commandes `push` et `save`.

note: type: Plain text
en: All ignored and untracked files are also stashed and then cleaned up with `git clean`.
fr: Tous les fichiers ignorés et non tracés sont également remisés puis nettoyés avec `git clean`.

note: type: Plain text
en: When used with the `push` and `save` commands, all untracked files are also stashed and then cleaned up with `git clean`.
fr: Lorsqu'elle est utilisée avec les commandes `push` et `save`, tous les fichiers non suivis sont également stockés et ensuite nettoyés avec `git clean`.

note: type: Plain text
en: When used with the `show` command, show the untracked files in the stash entry as part of the diff.
fr: Utilisé avec la commande `show`, montrer les fichiers non suivis dans l'entrée de remisage comme faisant partie du diff.

note: type: Plain text
en: This option is only valid for the `show` command.
fr: Cette option n'est valide que pour la commande `show`.

note: type: Plain text
en: Show only the untracked files in the stash entry as part of the diff.
fr: Afficher uniquement les fichiers non suivis dans l'entrée de remisage en tant que partie du diff.

note: type: Plain text
en: This option is only valid for `pop` and `apply` commands.
fr: Cette option n'est valable que pour les commandes `pop` et `apply`.

note: type: Plain text
en: Tries to reinstate not only the working tree's changes, but also the index's ones. However, this can fail, when you have conflicts (which are stored in the index, where you therefore can no longer apply the changes as they were originally).
fr: Tenter de rétablir non seulement les modifications de l'arbre de travail, mais aussi celles de l'index. Cependant, cela peut échouer, lorsque vous avez des conflits (qui sont stockés dans l'index, où vous ne pouvez donc plus appliquer les modifications telles qu'elles étaient à l'origine).

note: type: Plain text
en: All changes already added to the index are left intact.
fr: Tous les changements déjà ajoutés à l'index sont laissés intacts.

note: type: Plain text
en: Interactively select hunks from the diff between HEAD and the working tree to be stashed.  The stash entry is constructed such that its index state is the same as the index state of your repository, and its worktree contains only the changes you selected interactively.  The selected changes are then rolled back from your worktree. See the ``Interactive Mode'' section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
fr: Sélectionner interactivement les section à remiser à partir de la différence entre HEAD et l'arbre de travail.  L'entrée de remisage est construite de manière à ce que son état d'index soit le même que celui de votre dépôt, et son arbre de travail ne contient que les modifications que vous avez sélectionnées de manière interactive.  Les modifications sélectionnées sont ensuite inversées à partir de votre arbre de travail. Voir la section "Mode interactif" de linkgit:git-add[1] pour savoir comment utiliser le mode `--patch`.

note: type: Plain text
en: The `--patch` option implies `--keep-index`.  You can use `--no-keep-index` to override this.
fr: L'option `--patch` implique `--keep-index`.  Vous pouvez utiliser l'option `--no keep-index` pour passer outre.

note: type: Plain text
en: This option is only valid for `push` command.
fr: Cette option n'est valide que pour la commande `push`.

note: type: Plain text
en: This option is only valid for `apply`, `drop`, `pop`, `push`, `save`, `store` commands.
fr: Cette option n'est valable que pour les commandes `apply`, `drop`, `pop`, `push`, `save`, `store`.

note: type: Plain text
en: Separates pathspec from options for disambiguation purposes.
fr: Sépare le spécificateur de chemin et les options à des fins de désambiguïsation.

note: type: Plain text
en: The new stash entry records the modified states only for the files that match the pathspec.  The index entries and working tree files are then rolled back to the state in HEAD only for these files, too, leaving files that do not match the pathspec intact.
fr: La nouvelle entrée de remisage enregistre les états modifiés uniquement pour les fichiers qui correspondent au spécificateur de chemin.  Les entrées d'index et les fichiers de l'arbre de travail sont ensuite ramenées à l'état de HEAD uniquement pour ces fichiers, également, laissant intacts les fichiers qui ne correspondent pas à la spécification du chemin.

note: type: Labeled list
en: <stash>
fr: <remisage>

note: type: Plain text
en: This option is only valid for `apply`, `branch`, `drop`, `pop`, `show` commands.
fr: Cette option n'est valable que pour les commandes `apply`, `branch`, `drop`, `pop`, `show`.

note: type: Plain text
en: A reference of the form `stash@{<revision>}`. When no `<stash>` is given, the latest stash is assumed (that is, `stash@{0}`).
fr: Une référence de la forme `stash@{<révision>}`. Lorsqu'aucun `<remisage>` n'est donné, le dernier remisage est supposé (c'est-à-dire, `stash@{0}`).

note: type: Plain text
en: A stash entry is represented as a commit whose tree records the state of the working directory, and its first parent is the commit at `HEAD` when the entry was created.  The tree of the second parent records the state of the index when the entry is made, and it is made a child of the `HEAD` commit.  The ancestry graph looks like this:
fr: Une entrée de remisage est représentée par un commit dont l'arbre enregistre l'état du répertoire de travail, et son premier parent est le commit à `HEAD` lorsque l'entrée a été créée.  L'arborescence du second parent enregistre l'état de l'index lorsque l'entrée est créée, et il est considéré comme un enfant du commit `HEAD`.  Le graphique d'ascendance ressemble à ceci :

note: type: Plain text
en: where `H` is the `HEAD` commit, `I` is a commit that records the state of the index, and `W` is a commit that records the state of the working tree.
fr: où `H` est le commit `HEAD`, `I` est un commit qui enregistre l'état de l'index, et `W` est un commit qui enregistre l'état de l'arbre de travail.

note: type: Labeled list
en: Pulling into a dirty tree
fr: Tirer dans un arbre sale

note: type: Plain text
en: When you are in the middle of something, you learn that there are upstream changes that are possibly relevant to what you are doing.  When your local changes do not conflict with the changes in the upstream, a simple `git pull` will let you move forward.
fr: Lorsque vous êtes au milieu de quelque chose, vous apprenez qu'il y a des changements en amont qui peuvent avoir un rapport avec ce que vous faites.  Lorsque vos changements locaux n'entrent pas en conflit avec les changements en amont, un simple `git pull` vous permettra d'aller de l'avant.

note: type: Plain text
en: However, there are cases in which your local changes do conflict with the upstream changes, and `git pull` refuses to overwrite your changes.  In such a case, you can stash your changes away, perform a pull, and then unstash, like this:
fr: Cependant, il y a des cas où vos modifications locales entrent en conflit avec les changements en amont, et `git pull` refuse d'écraser vos modifications.  Dans ce cas, vous pouvez remiser vos modifications, effectuer un tirage, puis les déstocker, comme ceci :

note: type: delimited block -
en: $ git pull
     ...
    file foobar not up to date, cannot merge.
    $ git stash
    $ git pull
    $ git stash pop
fr: $ git pull
     ...
    fichier foobar pas à jour, fusion impossible.
    $ git stash
    $ git pull
    $ git stash pop

note: type: Plain text
en: When you are in the middle of something, your boss comes in and demands that you fix something immediately.  Traditionally, you would make a commit to a temporary branch to store your changes away, and return to your original branch to make the emergency fix, like this:
fr: Lorsque vous êtes au milieu de quelque chose, votre patron arrive et vous demande de réparer quelque chose immédiatement.  Traditionnellement, vous faîtes un commit dans une branche temporaire pour stocker vos modifications et vous retournez dans votre branche d'origine pour effectuer la réparation d'urgence, comme ceci :

note: type: delimited block -
en: # ... hack hack hack ...
    $ git switch -c my_wip
    $ git commit -a -m "WIP"
    $ git switch master
    $ edit emergency fix
    $ git commit -a -m "Fix in a hurry"
    $ git switch my_wip
    $ git reset --soft HEAD^
    # ... continue hacking ...
fr: # ... travail, travail, travail ...
    $ git switch -c my_wip
    $ git commit -a -m "WIP"
    $ git switch master
    $ edit emergency fix
    $ git commit -a -m "Correction rapide"
    $ git switch my_wip
    $ git reset --soft HEAD^
    # ... continue le travail ...

note: type: Plain text
en: You can use 'git stash' to simplify the above, like this:
fr: Vous pouvez utiliser 'git stash' pour simplifier ce qui précède, comme ceci :

note: type: delimited block -
en: # ... hack hack hack ...
    $ git stash
    $ edit emergency fix
    $ git commit -a -m "Fix in a hurry"
    $ git stash pop
    # ... continue hacking ...
fr: # ... travail, travail, travail ...
    $ git stash
    $ édition de la correction rapide
    $ git commit -a -m "Correction en catastrophe"
    $ git stash pop
    # ... continue le travail ...

note: type: Labeled list
en: Testing partial commits
fr: Test des commits partiels

note: type: Plain text
en: You can use `git stash push --keep-index` when you want to make two or more commits out of the changes in the work tree, and you want to test each change before committing:
fr: Vous pouvez utiliser `git stash push --keep-index` lorsque vous voulez faire deux ou plusieurs commits à partir des modifications dans l'arbre de travail, et que vous voulez tester chaque modification avant de faire un commit :

note: type: delimited block -
en: # ... hack hack hack ...
    $ git add --patch foo            # add just first part to the index
    $ git stash push --keep-index    # save all other changes to the stash
    $ edit/build/test first part
    $ git commit -m 'First part'     # commit fully tested change
    $ git stash pop                  # prepare to work on all other changes
    # ... repeat above five steps until one commit remains ...
    $ edit/build/test remaining parts
    $ git commit foo -m 'Remaining parts'
fr: # ... travail, travail, travail ...
    $ git add --patch foo            # ajouter seulement la première partie de l'index
    $ git stash push --keep-index    # remiser toutes les autres modifications
    $ éditer/construire/tester la première partie
    $ git commit -m 'Première partie'     # valider une modification complètement testée
    $ git stash pop                  # préparer à travailler sur les autres modifications
    # ... répéter les cinq tâches ci-dessus jusqu'à ce qu'il ne reste qu'un commit ...
    $ éditer/construire/tester le restant
    $ git commit foo -m 'Partie restante'

note: type: Labeled list
en: Recovering stash entries that were cleared/dropped erroneously
fr: Récupération des entrées de remisage qui ont été effacées/abandonnées par erreur

note: type: Plain text
en: If you mistakenly drop or clear stash entries, they cannot be recovered through the normal safety mechanisms.  However, you can try the following incantation to get a list of stash entries that are still in your repository, but not reachable any more:
fr: Si vous laissez tomber ou videz par erreur les entrées de remisage, elles ne peuvent pas être récupérées par les mécanismes de sécurité habituels.  Cependant, vous pouvez essayer l'incantation suivante pour obtenir une liste des entrées de remisage qui sont toujours dans votre dépôt, mais qui ne sont plus accessibles :

note: type: delimited block -
en: git fsck --unreachable |
    grep commit | cut -d\  -f3 |
    xargs git log --merges --no-walk --grep=WIP
fr: git fsck --unreachable |
    grep commit | cut -d\ -f3 |
    xargs git log --merges --no-walk --grep=WIP

note: type: Plain text
en: git-status - Show the working tree status
fr: git-status - Montrer le statut de l'arbre de travail

note: type: Plain text
en: 'git status' [<options>...] [--] [<pathspec>...]
fr: 'git status' [<options>...] [--] [<spécificateur de chemin>...]

note: type: Plain text
en: Displays paths that have differences between the index file and the current HEAD commit, paths that have differences between the working tree and the index file, and paths in the working tree that are not tracked by Git (and are not ignored by linkgit:gitignore[5]). The first are what you _would_ commit by running `git commit`; the second and third are what you _could_ commit by running 'git add' before running `git commit`.
fr: Montre les chemins qui ont des différences entre le fichier d'index et le commit HEAD actuel, les chemins qui ont des différences entre l'arbre de travail et de fichier d'index, et les chemins dans l'arbre de travail qui ne sont pas suivis par Git (et qui ne sont pas ignorés par linkgit:gitignore[5]). Les premiers sont ce que vous _valideriez_ en lançant `git commit` ; les seconds et les troisièmes sont ce que vous _pourriez_ valider en lançant `git add` avant de lancer `git commit`.

note: type: Plain text
en: Give the output in the short-format.
fr: Afficher la sortie en format court.

note: type: Plain text
en: Show the number of entries currently stashed away.
fr: Montrer le nombre d'entrées actuellement remisées.

note: type: Plain text
en: Give the output in an easy-to-parse format for scripts.  This is similar to the short output, but will remain stable across Git versions and regardless of user configuration. See below for details.
fr: Donner la sortie dans un format facile à analyser par script. Ceci est similaire à la sortie courte, mais restera stable à travers les versions de Git et sans tenir compte de la configuration utilisateur. Voir ci-dessous pour de plus amples détails.

note: type: Plain text
en: The version parameter is used to specify the format version.  This is optional and defaults to the original version 'v1' format.
fr: Le paramètre de version est utilisé pour spécifier la version de format. Ceci est optionnel et utilise par défaut le format 'v1' de la version d'origine.

note: type: Plain text
en: Give the output in the long-format. This is the default.
fr: Afficher la sortie en format long. Option par défaut.

note: type: Plain text
en: In addition to the names of files that have been changed, also show the textual changes that are staged to be committed (i.e., like the output of `git diff --cached`). If `-v` is specified twice, then also show the changes in the working tree that have not yet been staged (i.e., like the output of `git diff`).
fr: En plus des noms de fichiers qui ont été changés, montrer aussi les changements textuels qui sont indexés pour validation (c.-à-d., comme la sortie de `git diff --cached`). Si `-v` est spécifié deux fois, alors montrer également les modifications dans l'arbre de travail qui n'ont pas encore été indexées (c.-à-d., comme la sortie de `git diff`).

note: type: Plain text
en: The mode parameter is used to specify the handling of untracked files.  It is optional: it defaults to 'all', and if specified, it must be stuck to the option (e.g. `-uno`, but not `-u no`).
fr: Le paramètre mode est utilisé pour spécifier le traitement des fichiers non-suivis. C'est optionnel : il vaut par défaut 'all', et si spécifié, il doit être collé à l'option (par exemple, `-uno`, mais pas `-u no`).

note: type: Plain text
en: 'no'     - Show no untracked files.
fr: 'no'     - Ne montrer aucun fichier non-suivi.

note: type: Plain text
en: 'normal' - Shows untracked files and directories.
fr: 'normal' - Montrer les fichiers non-suivis et les dossiers.

note: type: Plain text
en: When `-u` option is not used, untracked files and directories are shown (i.e. the same as specifying `normal`), to help you avoid forgetting to add newly created files.  Because it takes extra work to find untracked files in the filesystem, this mode may take some time in a large working tree.  Consider enabling untracked cache and split index if supported (see `git update-index --untracked-cache` and `git update-index --split-index`), Otherwise you can use `no` to have `git status` return more quickly without showing untracked files.
fr: Quand l'option `-u` n'est pas utilisée, les fichiers non-suivis et les dossiers sont montrés (c.-à-d. comme en spécifiant `normal`), pour vous aider à éviter d'oublier d'ajouter des fichiers nouvellement créés. Étant donné que la recherche de fichiers non-suivis dans le système de fichiers nécessite un travail supplémentaire, ce mode peut prendre un certain temps dans un grand arbre de travail. Pensez à activer le cache non suivi et l'index fractionné, le cas échéant (voyez `git update-index --untracked-cache` et `git update-index --split-index`), sinon vous pouvez utiliser `no` pour que `git status` revienne plus rapidement sans afficher les fichiers non-suivis.

note: type: Plain text
en: Ignore changes to submodules when looking for changes. <when> can be either "none", "untracked", "dirty" or "all", which is the default.  Using "none" will consider the submodule modified when it either contains untracked or modified files or its HEAD differs from the commit recorded in the superproject and can be used to override any settings of the 'ignore' option in linkgit:git-config[1] or linkgit:gitmodules[5]. When "untracked" is used submodules are not considered dirty when they only contain untracked content (but they are still scanned for modified content). Using "dirty" ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown (this was the behavior before 1.7.0). Using "all" hides all changes to submodules (and suppresses the output of submodule summaries when the config option `status.submoduleSummary` is set).
fr: Ignorer les modifications apportées aux sous-modules lors de la recherche de modifications. <quand> peut être "none", "untracked", "dirty" ou "all", qui est la valeur par défaut. Utiliser "none" considérera le sous-module comme modifié lorsqu'il contient des fichiers non suivis ou modifiés ou que sa HEAD diffère de la validation enregistrée dans le super-projet et peut être utilisé pour remplacer les paramètres de l'option 'ignore' dans linkgit:git-config[1] ou linkgit:gitmodules[5]. Lorsque "untracked" est utilisé, les sous-modules ne sont pas considérés comme sales lorsqu'ils contiennent uniquement du contenu non suivi (mais ils sont toujours analysés pour rechercher le contenu modifié). L'utilisation de "dirty" ignore toutes les modifications apportées à l'arborescence de travail des sous-modules ; seules les modifications des validations stockées dans le super-projet sont affichées (il s'agissait du comportement avant la version 1.7.0). L'utilisation de "all" masque toutes les modifications apportées aux sous-modules (et supprime la sortie des résumés de sous-modules lorsque l'option de configuration `status.submoduleSummary` est définie).

note: type: Plain text
en: Show ignored files as well.
fr: Montrer aussi les fichiers ignorés.

note: type: Plain text
en: The mode parameter is used to specify the handling of ignored files.  It is optional: it defaults to 'traditional'.
fr: Le paramètre mode est utilisé pour spécifier le traitement des fichiers ignorés. Il est optionnel est vaut par défaut 'traditional'.

note: type: Plain text
en: 'traditional' - Shows ignored files and directories, unless
fr: 'traditional' - Montrer les fichiers non-suivis et les dossiers dont le contenu n'est pas suivi, à moins que

note: type: Plain text
en: --untracked-files=all is specified, in which case
    individual files in ignored directories are
    displayed.
fr: --untracked-files=all soit spécifié, auquel cas
    les fichiers individuels dans les dossiers ignorés sont
    affichés.

note: type: Plain text
en: 'no'	        - Show no ignored files.
fr: 'no'	       - Ne montrer aucun fichier ignoré.

note: type: Plain text
en: 'matching'    - Shows ignored files and directories matching an
fr: 'matching' - Montre les fichiers et les dossiers ignorés correspondants à

note: type: Plain text
en: ignore pattern.
fr: un motif à ignorer.

note: type: Plain text
en: When 'matching' mode is specified, paths that explicitly match an ignored pattern are shown. If a directory matches an ignore pattern, then it is shown, but not paths contained in the ignored directory. If a directory does not match an ignore pattern, but all contents are ignored, then the directory is not shown, but all contents are shown.
fr: Quand le mode 'matching' est spécifié, les chemins qui correspondent explicitement à un motif à ignorer sont affichés. Si un dossier correspond à un motif à ignorer, alors il est affiché, mais pas les chemins contenus dans celui-ci. Si un dossier ne correspond pas à un motif à ignorer, mais que tout son contenu est ignoré, alors le dossier n'est pas affiché, mais tout son contenu est affiché.

note: type: Plain text
en: Terminate entries with NUL, instead of LF.  This implies the `--porcelain=v1` output format if no other format is given.
fr: Terminer les entrées avec NUL au lieu de LF. Cela implique le format de sortie `--porcelain=v1` si aucun autre format n'est fourni.

note: type: Plain text
en: Display untracked files in columns. See configuration variable `column.status` for option syntax. `--column` and `--no-column` without options are equivalent to 'always' and 'never' respectively.
fr: Afficher les fichiers non suivis en colonnes. Voir la variable de configuration `column.status` pour la syntaxe de l'option. `--column` et `--no-column` sans options sont équivalents à 'always' et 'never' respectivement.

note: type: Plain text
en: Display or do not display detailed ahead/behind counts for the branch relative to its upstream branch.  Defaults to true.
fr: Afficher ou ne pas afficher les comptes détaillés devant/derrière pour la branche par rapport à sa branche amont. La valeur par défaut est true.

note: type: Plain text
en: Turn on/off rename detection regardless of user configuration.  See also linkgit:git-diff[1] `--no-renames`.
fr: Activer ou désactiver la détection de renommage sans tenir compte de la configuration utilisateur. Voir aussi linkgit:git-diff[1] `--no-renames`.

note: type: Plain text
en: Turn on rename detection, optionally setting the similarity threshold.  See also linkgit:git-diff[1] `--find-renames`.
fr: Activer la détection de renommage, en définissant de manière optionnelle le seuil de similarité. Voir aussi linkgit:git-diff[1] `--find-renames`.

note: type: Plain text
en: See the 'pathspec' entry in linkgit:gitglossary[7].
fr: Voir l'entrée 'spécificateur de chemin' dans linkgit:gitglossary[7].

note: type: Plain text
en: The output from this command is designed to be used as a commit template comment.  The default, long format, is designed to be human readable, verbose and descriptive.  Its contents and format are subject to change at any time.
fr: La sortie de cette commande est conçue pour être utilisée comme modèle de message de validation. La valeur par défaut, format long, est conçue pour être lisible par un humain, commentée et descriptive. Son contenu et son format sont susceptibles de changer à tout moment.

note: type: Plain text
en: The paths mentioned in the output, unlike many other Git commands, are made relative to the current directory if you are working in a subdirectory (this is on purpose, to help cutting and pasting). See the status.relativePaths config option below.
fr: Contrairement au comportement de beaucoup d'autres commandes Git qui référencent la racine de l'arbre de travail, les chemins mentionnés dans la sortie sont relatifs au répertoire courant (ceci est à dessein, pour aider le couper-coller). Voir l'option de configuration status.relativePaths ci-dessous.

note: type: Title ~
en: Short Format
fr: Format court

note: type: Plain text
en: In the short-format, the status of each path is shown as one of these forms
fr: Dans le format court, le statut de chaque chemin est affiché selon une de ces formes

note: type: Plain text
en: 	XY PATH
    	XY ORIG_PATH -> PATH
fr: 	XY CHEMIN
    	XY CHEMIN_ORIGINE -> CHEMIN

note: type: Plain text
en: where `ORIG_PATH` is where the renamed/copied contents came from. `ORIG_PATH` is only shown when the entry is renamed or copied. The `XY` is a two-letter status code.
fr: où `CHEMIN_ORIGINE` est l'origine du contenu renommé/copié. `CHEMIN_ORIGINE` n'est montré que lorsque l'entrée est renommée ou copiée. Le `XY` est un code de statut à deux lettres.

note: type: Plain text
en: The fields (including the `->`) are separated from each other by a single space. If a filename contains whitespace or other nonprintable characters, that field will be quoted in the manner of a C string literal: surrounded by ASCII double quote (34) characters, and with interior special characters backslash-escaped.
fr: Les champs (incluant le `->`) sont séparés les uns des autres par un seul espace. Si un nom de fichier contient des espaces ou d'autres caractères non imprimables, ce champ sera cité à la manière d'un littéral de chaîne C : entouré par des caractères de guillemets ASCII (34), et avec les caractères spéciaux à l'intérieur échappés par la barre oblique inversée.

note: type: Plain text
en: There are three different types of states that are shown using this format, and each one uses the `XY` syntax differently:
fr: Il existe trois types d'états différents qui sont présentés selon ce format, et chacun utilise la syntaxe `XY` de manière différente :

note: type: Plain text
en: When a merge is occurring and the merge was successful, or outside of a merge
fr: Lorsqu'une fusion est en cours et que la fusion a été réussie, ou en dehors d'une fusion

note: type: Plain text
en: situation, `X` shows the status of the index and `Y` shows the status of the working tree.
fr: `X` indique l'état de l'index et `Y` indique l'état de l'abre de travail.

note: type: Plain text
en: When a merge conflict has occurred and has not yet been resolved, `X` and `Y`
fr: Lorsqu'un conflit de fusion s'est produit et n'a pas encore été résolu, `X` et `Y`

note: type: Plain text
en: show the state introduced by each head of the merge, relative to the common ancestor. These paths are said to be _unmerged_.
fr: montrent l'état introduit par chaque tête de la fusion, par rapport à l'ancêtre commun. Ces chemins sont dits _non fusionnés_.

note: type: Plain text
en: When a path is untracked, `X` and `Y` are always the same, since they are
fr: Lorsqu'un chemin n'est pas tracé, `X` et `Y` sont toujours les mêmes, puisqu'ils sont

note: type: Plain text
en: unknown to the index. `??` is used for untracked paths. Ignored files are not listed unless `--ignored` is used; if it is, ignored files are indicated by `!!`.
fr: inconnus de l'index. `??` est utilisé pour les chemins non suivis. Les fichiers ignorés ne sont pas listés sauf si `--ignored` est utilisé ; si c'est le cas, les fichiers ignorés sont indiqués par `!!`.

note: type: Plain text
en: Note that the term _merge_ here also includes rebases using the default `--merge` strategy, cherry-picks, and anything else using the merge machinery.
fr: Notez que le terme _merge_ ici inclut également les rebasages utilisant la stratégie de `--merge` par défaut, les picorages, et tout ce qui utilise la machinerie de fusion.

note: type: Plain text
en: In the following table, these three classes are shown in separate sections, and these characters are used for `X` and `Y` fields for the first two sections that show tracked paths:
fr: Dans le tableau suivant, ces trois classes sont présentées dans des sections séparées, et ces caractères sont utilisés pour les champs `X` et `Y` des deux premières sections qui montrent les chemins suivis :

note: type: Plain text
en: ' ' = unmodified
fr: ' ' = non modifié

note: type: Plain text
en: 'M' = modified
fr: 'M' = modifié

note: type: Plain text
en: 'A' = added
fr: 'A' = ajouté

note: type: Plain text
en: 'D' = deleted
fr: 'D' = supprimé ('Deleted')

note: type: Plain text
en: 'R' = renamed
fr: 'R' = renommé

note: type: Plain text
en: 'C' = copied
fr: 'C' = copié

note: type: Plain text
en: 'U' = updated but unmerged
fr: 'U' = mis à jour ('Updated') mais non fusionné

note: type: delimited block .
en: X          Y     Meaning
    -------------------------------------------------
    	 [AMD]   not updated
    M        [ MD]   updated in index
    A        [ MD]   added to index
    D                deleted from index
    R        [ MD]   renamed in index
    C        [ MD]   copied in index
    [MARC]           index and work tree matches
    [ MARC]     M    work tree changed since index
    [ MARC]     D    deleted in work tree
    [ D]        R    renamed in work tree
    [ D]        C    copied in work tree
    -------------------------------------------------
    D           D    unmerged, both deleted
    A           U    unmerged, added by us
    U           D    unmerged, deleted by them
    U           A    unmerged, added by them
    D           U    unmerged, deleted by us
    A           A    unmerged, both added
    U           U    unmerged, both modified
    -------------------------------------------------
    ?           ?    untracked
    !           !    ignored
    -------------------------------------------------
fr: X          Y     Signification
    ---------------------------------------------------------
    	 [AMD]   non mis à jour
    M        [ MD]   mis à jour dans l'index
    A        [ MD]   ajouté à l'index
    D                supprimé de l'index
    R        [ MD]   renommé dans l'index
    C        [ MD]   copié dans l'index
    [MARC]           l'index et l'arbre de travail correspondent
    [ MARC]     M    arbre de travail modifié depuis l'index
    [ MARC]     D    supprimé dans l'arbre de travail
    [ D]        R    renommé dans l'arbre de travail
    [ D]        C    copié dans l'arbre de travail
    ---------------------------------------------------------
    D           D    non fusionné, les deux l'ont supprimé
    A           U    non fusionné, ajouté par nous
    U           D    non fusionné, supprimé par eux
    U           A    non fusionné, ajouté par eux
    D           U    non fusionné, supprimé par nous
    A           A    non fusionné, les deux l'ont ajouté
    U           U    non fusionné, les deux l'ont modifié
    ---------------------------------------------------------
    ?           ?    non suivi
    !           !    ignoré
    ---------------------------------------------------------

note: type: Plain text
en: Submodules have more state and instead report
    		M    the submodule has a different HEAD than
    		     recorded in the index
    		m    the submodule has modified content
    		?    the submodule has untracked files
    since modified content or untracked files in a submodule cannot be added
    via `git add` in the superproject to prepare a commit.
fr: Les sous-modules ont plus d'états et indiquent à la place
    		M    le sous-module a une HEAD différente de
    		     celle enregistrée dans l'index
    		m    le sous-module a un contenu modifié
    		?    le sous-module a des fichiers non suivis
    puisque le contenu modifié ou les fichiers non suivis dans un sous-module ne peuvent pas être ajoutés
    via `git add` dans le super-projet pour préparer une validation.

note: type: Plain text
en: 'm' and '?' are applied recursively. For example if a nested submodule in a submodule contains an untracked file, this is reported as '?' as well.
fr: 'm' et '?' sont appliqués récursivement. Par exemple, si un sous-module niché dans un sous-module contient un fichier non suivi, ceci sera aussi indiqué par '?'.

note: type: Plain text
en: If -b is used the short-format status is preceded by a line
fr: Si -b est utilisé, le statut en format court est précédé par une ligne

note: type: Plain text
en:     ## branchname tracking info
fr:     ## information de suivi de branche

note: type: Title ~
en: Porcelain Format Version 1
fr: Format de porcelaine version 1

note: type: Plain text
en: Version 1 porcelain format is similar to the short format, but is guaranteed not to change in a backwards-incompatible way between Git versions or based on user configuration. This makes it ideal for parsing by scripts.  The description of the short format above also describes the porcelain format, with a few exceptions:
fr: Le format de porcelaine de la version 1 est similaire au format court, mais le maintien de compatibilité est garanti au fil des versions et indépendamment de la configuration utilisateur. Cela le rend idéal pour l'analyse par script. La description du format court ci-dessus décrit également le format porcelaine, avec quelques exceptions :

note: type: Plain text
en: The user's color.status configuration is not respected; color will always be off.
fr: La configuration color.status de l'utilisateur n'est pas respectée ; la couleur sera toujours éteinte.

note: type: Plain text
en: The user's status.relativePaths configuration is not respected; paths shown will always be relative to the repository root.
fr: La configuration status.relativePaths de l'utilisateur n'est pas respectée ; les chemins affichés seront toujours relatifs à la racine du dépôt.

note: type: Plain text
en: There is also an alternate -z format recommended for machine parsing. In that format, the status field is the same, but some other things change.  First, the '\->' is omitted from rename entries and the field order is reversed (e.g 'from \-> to' becomes 'to from'). Second, a NUL (ASCII 0) follows each filename, replacing space as a field separator and the terminating newline (but a space still separates the status field from the first filename).  Third, filenames containing special characters are not specially formatted; no quoting or backslash-escaping is performed.
fr: Il y a aussi un format alternatif -z recommandé pour l'analyse par la machine. Dans ce format, le champ de statut est le même, mais d'autres choses changent. Premièrement, le '\->' est omis pour les entrées renommées et l'ordre des champs est inversé (par exemple, 'de \-> à' devient 'à de'). Deuxièmement, un NUL (ASCII 0) suit chaque nom de fichier, remplaçant l'espace comme séparateur de champ et la nouvelle ligne de fin (mais un espace sépare toujours le champ de statut du premier nom de fichier). Troisièmement, les noms de fichier contenant des caractères spéciaux ne sont pas spécialement formatés ; aucune mise entre guillemets ni échappement par barre oblique inversée n'est effectué.

note: type: Plain text
en: Any submodule changes are reported as modified `M` instead of `m` or single `?`.
fr: N'importe quelle modification dans un sous-module est indiquée comme modifiée par `M` au lieu de `m` ou un `?` seul.

note: type: Title ~
en: Porcelain Format Version 2
fr: Format de porcelaine version 2

note: type: Plain text
en: Version 2 format adds more detailed information about the state of the worktree and changed items.  Version 2 also defines an extensible set of easy to parse optional headers.
fr: Le format version 2 ajoute des informations détaillées sur l'état de l'arbre de travail et les éléments modifiés. La version 2 définit également un ensemble extensible d'en-têtes optionnels faciles à analyser.

note: type: Plain text
en: Header lines start with "#" and are added in response to specific command line arguments.  Parsers should ignore headers they don't recognize.
fr: Les lignes d'en-tête commencent par "#" et sont ajoutées en réponse à des arguments spécifiques en ligne de commande. Les analyseurs syntaxiques doivent ignorer les en-têtes qu'ils ne reconnaissent pas.

note: type: Title ^
en: Branch Headers
fr: En-têtes de branche

note: type: Plain text
en: If `--branch` is given, a series of header lines are printed with information about the current branch.
fr: Si `--branch` est fourni, une série de lignes d'en-tête est affichée avec des informations sur la branche actuelle.

note: type: delimited block .
en: Line                                     Notes
    ------------------------------------------------------------
    # branch.oid <commit> | (initial)        Current commit.
    # branch.head <branch> | (detached)      Current branch.
    # branch.upstream <upstream_branch>      If upstream is set.
    # branch.ab +<ahead> -<behind>           If upstream is set and
    					 the commit is present.
    ------------------------------------------------------------
fr: Ligne                                    Notes
    ------------------------------------------------------------
    # branch.oid <commit> | (initial)        Commit courant.
    # branch.head <branche> | (detached)     Branche courante.
    # branch.upstream <branche_amont>        Si l'amont est défini.
    # branch.ab +<devant> -<derrière>        Si l'amont est défini et
    					 le commit est présent.
    ------------------------------------------------------------

note: type: Title ^
en: Changed Tracked Entries
fr: Entrées suivies modifiées

note: type: Plain text
en: Following the headers, a series of lines are printed for tracked entries.  One of three different line formats may be used to describe an entry depending on the type of change.  Tracked entries are printed in an undefined order; parsers should allow for a mixture of the 3 line types in any order.
fr: Après les en-têtes, une série de lignes est affichée pour les entrées suivies. Un des trois différents formats de ligne peut être utilisé pour décrire une entrée en fonction du type de changement. Les entrées suivies sont affichées dans un ordre indéfini ; les analyseurs syntaxiques doivent autoriser un mélange des 3 types de lignes dans n'importe quel ordre.

note: type: Plain text
en: Ordinary changed entries have the following format:
fr: Les entrées modifiées normales ont le format suivant :

note: type: Plain text
en:     1 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <path>
fr:     1 <XY> <sous> <mH> <mI> <mW> <hH> <hI> <chemin>

note: type: Plain text
en: Renamed or copied entries have the following format:
fr: Les entrées renommées ou copiées ont le format suivant :

note: type: Plain text
en:     2 <XY> <sub> <mH> <mI> <mW> <hH> <hI> <X><score> <path><sep><origPath>
fr:     2 <XY> <sous> <mH> <mI> <mW> <hH> <hI> <X><score> <chemin><sep><cheminOrig>

note: type: delimited block .
en: Field       Meaning
    --------------------------------------------------------
    <XY>        A 2 character field containing the staged and
    	    unstaged XY values described in the short format,
    	    with unchanged indicated by a "." rather than
    	    a space.
    <sub>       A 4 character field describing the submodule state.
    	    "N..." when the entry is not a submodule.
    	    "S<c><m><u>" when the entry is a submodule.
    	    <c> is "C" if the commit changed; otherwise ".".
    	    <m> is "M" if it has tracked changes; otherwise ".".
    	    <u> is "U" if there are untracked changes; otherwise ".".
    <mH>        The octal file mode in HEAD.
    <mI>        The octal file mode in the index.
    <mW>        The octal file mode in the worktree.
    <hH>        The object name in HEAD.
    <hI>        The object name in the index.
    <X><score>  The rename or copy score (denoting the percentage
    	    of similarity between the source and target of the
    	    move or copy). For example "R100" or "C75".
    <path>      The pathname.  In a renamed/copied entry, this
    	    is the target path.
    <sep>       When the `-z` option is used, the 2 pathnames are separated
    	    with a NUL (ASCII 0x00) byte; otherwise, a tab (ASCII 0x09)
    	    byte separates them.
    <origPath>  The pathname in the commit at HEAD or in the index.
    	    This is only present in a renamed/copied entry, and
    	    tells where the renamed/copied contents came from.
    --------------------------------------------------------
fr: Champ       Signification
    --------------------------------------------------------
    <XY>		Un champ à 2 caractères contenant
    		les valeurs XY indexées et non indexées
    		décrites dans le format court, avec non-modifié
    		indiqué par un "." plutôt qu'un espace.
    <sous>		Un champ à 4 caractères décrivant l'état du sous-module.
    		"N..." quand l'entrée n'est pas un sous-module.
    		"S<c><m><u>" quand l'entrée est un sous-module.
    		<c> vaut "C" si le commit a changé ; autrement ".".
    		<m> vaut "M" s'il a des modifications suivies ; autrement ".".
    		<u> vaut "U" s'il y a des modifications non-suivies ; autrement ".".
    <mH>		Le mode octal du fichier dans HEAD.
    <mI>		Le mode octal du fichier dans l'index.
    <mW>		Le mode octal du fichier dans l'arbre de travail.
    <hH>		Le nom de l'objet dans HEAD.
    <hI>		Le nom de l'objet dans l'index.
    <X><score>	Le score de renommage ou de copie (indiquant le pourcentage
    		de similarité entre la source et la cible du
    		déplacement ou de la copie). Par exemple, "R100" ou "C75".
    <chemin>	Le nom du chemin. Dans une entrée renommée/copiée, c'est
    		le chemin cible.
    <sep>		Quand l'option `-z` est utilisée, les 2 noms de chemin sont séparés
    		par un octet NUL (ASCII 0x00) ; autrement, un octet tabulation (ASCII 0x09)
    		les sépare.
    <cheminOrig>	Le nom du chemin dans le commit de HEAD ou dans l'index.
    		C'est présent que dans une entrée renommée/copiée, et
    		indique d'où le contenu renommé/copié vient.
    --------------------------------------------------------

note: type: Plain text
en: Unmerged entries have the following format; the first character is a "u" to distinguish from ordinary changed entries.
fr: Les entrées non fusionnées ont le format suivant ; le premier caractère est un "u" pour les différencier des entrées ordinaires modifiées.

note: type: Plain text
en:     u <xy> <sub> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <path>
fr:     u <xy> <sous> <m1> <m2> <m3> <mW> <h1> <h2> <h3> <chemin>

note: type: delimited block .
en: Field       Meaning
    --------------------------------------------------------
    <XY>        A 2 character field describing the conflict type
    	    as described in the short format.
    <sub>       A 4 character field describing the submodule state
    	    as described above.
    <m1>        The octal file mode in stage 1.
    <m2>        The octal file mode in stage 2.
    <m3>        The octal file mode in stage 3.
    <mW>        The octal file mode in the worktree.
    <h1>        The object name in stage 1.
    <h2>        The object name in stage 2.
    <h3>        The object name in stage 3.
    <path>      The pathname.
    --------------------------------------------------------
fr: Champ		Signification
    --------------------------------------------------------
    <XY>		Un champ à 2 caractères décrivant le type de conflit
    		comme décrit dans le format court.
    <sous>		Un champ à 4 caractères décrivant l'état du sous-module
    		comme décrit ci-dessus.
    <m1>		Le mode octal du fichier dans l'étape 1.
    <m2>		Le mode octal du fichier dans l'étape 2.
    <m3>		Le mode octal du fichier dans l'étape 3.
    <mW>		Le mode octal du fichier dans l'arbre de travail.
    <h1>		Le nom de l'objet dans l'étape 1.
    <h2>		Le nom de l'objet dans l'étape 2.
    <h3>		Le nom de l'objet dans l'étape 3.
    <chemin>	Le nom du chemin.
    --------------------------------------------------------

note: type: Title ^
en: Other Items
fr: Autres éléments

note: type: Plain text
en: Following the tracked entries (and if requested), a series of lines will be printed for untracked and then ignored items found in the worktree.
fr: Après les entrées suivies (et si demandé), une série de lignes sera affichée pour les éléments non suivis, puis ignorés, trouvés dans l'arbre de travail.

note: type: Plain text
en: Untracked items have the following format:
fr: Les entrées non-suivies ont le format suivant :

note: type: Plain text
en:     ? <path>
fr:     ? <chemin>

note: type: Plain text
en: Ignored items have the following format:
fr: Les entrées ignorées ont le format suivant :

note: type: Plain text
en:     ! <path>
fr:     ! <chemin>

note: type: Title ^
en: Pathname Format Notes and -z
fr: Notes de format du nom de chemin et -z

note: type: Plain text
en: When the `-z` option is given, pathnames are printed as is and without any quoting and lines are terminated with a NUL (ASCII 0x00)  byte.
fr: Quand l'option `-z` est fournie, les noms de chemin sont affichés tels quels et sans guillemets et les lignes sont terminées par un octet NUL (ASCII 0x00).

note: type: Plain text
en: Without the `-z` option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).
fr: Sans l'option `-z`, les noms de chemin avec des caractères « inhabituels » sont cités comme expliqué pour la variable de configuration `core.quotePath` (voir linkgit:git-config[1]).

note: type: Plain text
en: The command honors `color.status` (or `status.color` -- they mean the same thing and the latter is kept for backward compatibility) and `color.status.<slot>` configuration variables to colorize its output.
fr: La commande honore les variables de configuration `color.status` (ou `status.color` -- elles signifient la même chose et la dernière est conservée pour la compatibilité ascendante) et `color.status.<slot>` pour colorer sa sortie.

note: type: Plain text
en: If the config variable `status.relativePaths` is set to false, then all paths shown are relative to the repository root, not to the current directory.
fr: Si la variable de configuration `status.relativePaths` est définie à 'false', alors tous les chemins affichés sont relatifs à la racine du dépôt, et non pas au répertoire courant.

note: type: Plain text
en: If `status.submoduleSummary` is set to a non zero number or true (identical to -1 or an unlimited number), the submodule summary will be enabled for the long format and a summary of commits for modified submodules will be shown (see --summary-limit option of linkgit:git-submodule[1]). Please note that the summary output from the status command will be suppressed for all submodules when `diff.ignoreSubmodules` is set to 'all' or only for those submodules where `submodule.<name>.ignore=all`. To also view the summary for ignored submodules you can either use the --ignore-submodules=dirty command line option or the 'git submodule summary' command, which shows a similar output but does not honor these settings.
fr: Si `status.submoduleSummary` est défini sur un nombre non nul ou vrai (identique à -1 ou à un nombre illimité), le résumé du sous-module sera activé pour le format long et un résumé des validations pour les sous-modules modifiés sera affiché (voir l'option --summary-limit de linkgit:git-submodule[1]). Veuillez noter que la sortie récapitulative de la commande status sera supprimée pour tous les sous-modules lorsque `diff.ignoreSubmodules` est réglé sur 'all' ou uniquement pour les sous-modules où `submodule.<Name>.ignore = all`. Pour afficher également le résumé des sous-modules ignorés, vous pouvez utiliser l'option de ligne de commande --ignore-submodules=dirty ou la commande 'git submodule summary', qui affiche une sortie similaire mais ne respecte pas ces paramètres.

note: type: Title -
en: BACKGROUND REFRESH
fr: RAFRAÎCHISSEMENT EN TÂCHE DE FOND

note: type: Plain text
en: By default, `git status` will automatically refresh the index, updating the cached stat information from the working tree and writing out the result. Writing out the updated index is an optimization that isn't strictly necessary (`status` computes the values for itself, but writing them out is just to save subsequent programs from repeating our computation). When `status` is run in the background, the lock held during the write may conflict with other simultaneous processes, causing them to fail. Scripts running `status` in the background should consider using `git --no-optional-locks status` (see linkgit:git[1] for details).
fr: Par défaut, `git status` actualisera automatiquement l'index, mettant à jour les informations statistiques mises en cache à partir de l'arbre de travail et écrivant le résultat. Écrire l'index mis à jour est une optimisation qui n'est pas strictement nécessaire (`status` calcule les valeurs pour lui-même, mais les écrire ne sert qu'à épargner les programmes suivants de répéter nos calculs). Lorsque `status` est exécuté en arrière-plan, le verrou maintenu pendant l'écriture peut entrer en conflit avec d'autres processus simultanés, entraînant leur échec. Les scripts exécutant `status` en arrière-plan doivent envisager d'utiliser `git --no-optional-locks status` (voir linkgit:git[1] pour plus de détails).

note: type: Plain text
en: remove empty lines from the beginning and end of the input
fr: supprimer les lignes vides au début et à la fin de l'entrée

note: type: Plain text
en: Skip and remove all lines starting with comment character (default '#').
fr: Sauter et supprimer toutes les lignes commençant par le caractère de commentaire (par défaut '#').

note: type: Plain text
en: git-submodule - Initialize, update or inspect submodules
fr: git-submodule - Initialisation, mise à jour ou inspection des sous-modules

note: type: Plain text
en: 'git submodule' [--quiet] [--cached]
    'git submodule' [--quiet] add [<options>] [--] <repository> [<path>]
    'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]
    'git submodule' [--quiet] init [--] [<path>...]
    'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)
    'git submodule' [--quiet] update [<options>] [--] [<path>...]
    'git submodule' [--quiet] set-branch [<options>] [--] <path>
    'git submodule' [--quiet] set-url [--] <path> <newurl>
    'git submodule' [--quiet] summary [<options>] [--] [<path>...]
    'git submodule' [--quiet] foreach [--recursive] <command>
    'git submodule' [--quiet] sync [--recursive] [--] [<path>...]
    'git submodule' [--quiet] absorbgitdirs [--] [<path>...]
fr: 'git submodule' [--quiet] [--cached]
    'git submodule' [--quiet] add [<options>] [--] <dépôt> [<chemin>]
    'git submodule' [--quiet] status [--cached] [--recursive] [--] [<chemin>...]
    'git submodule' [--quiet] init [--] [<chemin>...]
    'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <chemin>...)
    'git submodule' [--quiet] update [<options>] [--] [<chemin>...]
    'git submodule' [--quiet] set-branch [<options>] [--] <chemin>
    'git submodule' [--quiet] set-url [--] <chemin> <nouvelle-url>
    'git submodule' [--quiet] summary [<options>] [--] [<chemin>...]
    'git submodule' [--quiet] foreach [--recursive] <commande>
    'git submodule' [--quiet] sync [--recursive] [--] [<chemin>...]
    'git submodule' [--quiet] absorbgitdirs [--] [<chemin>...]

note: type: Plain text
en: Inspects, updates and manages submodules.
fr: Inspecte, met à jour et gère les sous-modules.

note: type: Plain text
en: For more information about submodules, see linkgit:gitsubmodules[7].
fr: Pour plus d'informations sur les sous-modules, voir linkgit:gitsubmodules[7].

note: type: Plain text
en: With no arguments, shows the status of existing submodules.  Several subcommands are available to perform operations on the submodules.
fr: Sans arguments, montrer l'état des sous-modules existants.  Plusieurs sous-commandes sont disponibles pour effectuer des opérations sur les sous-modules.

note: type: Labeled list
en: add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--depth <depth>] [--] <repository> [<path>]
fr: add [-b <branche>] [-f|--force] [--name <nom>] [--reference <dépôt>] [--depth <profondeur>] [--] <dépôt> [<chemin>]

note: type: Plain text
en: Add the given repository as a submodule at the given path to the changeset to be committed next to the current project: the current project is termed the "superproject".
fr: Ajouter le dépôt donné comme sous-module au chemin donné vers les modifications à valider à côté du projet en cours : le projet en cours est appelé « superprojet ».

note: type: Plain text
en: <repository> is the URL of the new submodule's origin repository.  This may be either an absolute URL, or (if it begins with ./ or ../), the location relative to the superproject's default remote repository (Please note that to specify a repository 'foo.git' which is located right next to a superproject 'bar.git', you'll have to use `../foo.git` instead of `./foo.git` - as one might expect when following the rules for relative URLs - because the evaluation of relative URLs in Git is identical to that of relative directories).
fr: <dépôt> est l'URL du dépôt d'origine du nouveau sous-module.  Il peut s'agir soit d'une URL absolue, soit (si elle commence par ./ ou ../) de l'emplacement par rapport au dépôt distant par défaut du superprojet (veuillez noter que pour spécifier un dépôt 'foo.git', voisin d'un superprojet 'bar.git', vous devrez utiliser `../foo.git` au lieu de `./foo.git` - comme on pourrait s'y attendre en suivant les règles pour les URL relatives - car l'évaluation des URL relatives dans Git est identique à celle des répertoires relatifs).

note: type: Plain text
en: The default remote is the remote of the remote-tracking branch of the current branch. If no such remote-tracking branch exists or the HEAD is detached, "origin" is assumed to be the default remote.  If the superproject doesn't have a default remote configured the superproject is its own authoritative upstream and the current working directory is used instead.
fr: Le distant par défaut est le distant de la branche de suivi à distance de la branche actuelle. Si une telle branche de suivi à distance n'existe pas ou si HEAD est détachée, "origin" est supposé être le distant par défaut.  Si le superprojet n'a pas de distant par défaut configuré, le superprojet est l'amont d'autorité et le répertoire de travail actuel est utilisé à la place.

note: type: Plain text
en: The optional argument <path> is the relative location for the cloned submodule to exist in the superproject. If <path> is not given, the canonical part of the source repository is used ("repo" for "/path/to/repo.git" and "foo" for "host.xz:foo/.git"). If <path> exists and is already a valid Git repository, then it is staged for commit without cloning. The <path> is also used as the submodule's logical name in its configuration entries unless `--name` is used to specify a logical name.
fr: L'argument facultatif <chemin> est l'emplacement relatif du sous-module cloné dans le superprojet. Si <chemin> n'est pas donné, la partie canonique du dépôt de sources est utilisée ("depot" pour "/chemin/du/depot.git" et "foo" pour "hote.xz:foo/.git"). Si <chemin> existe et est déjà un dépôt Git valide, alors il est indexé pour le commit sans clonage. Le <chemin> est également utilisé comme nom logique du sous-module dans ses entrées de configuration, sauf si `--name` est utilisé pour spécifier un nom logique.

note: type: Plain text
en: The given URL is recorded into `.gitmodules` for use by subsequent users cloning the superproject. If the URL is given relative to the superproject's repository, the presumption is the superproject and submodule repositories will be kept together in the same relative location, and only the superproject's URL needs to be provided.  git-submodule will correctly locate the submodule using the relative URL in `.gitmodules`.
fr: L'URL donnée est enregistrée dans  `.gitmodules` pour être utilisée par les utilisateurs qui clonent le superprojet plus tard. Si l'URL est donnée par rapport au dépôt du superprojet, on suppose que les dépôts du superprojet et du sous-module seront conservés ensemble au même emplacement relatif, et que seule l'URL du superprojet doit être fournie. git-submodule localisera correctement le sous-module en utilisant l'URL relative dans `.gitmodules`.

note: type: Labeled list
en: status [--cached] [--recursive] [--] [<path>...]
fr: status [--cached] [--recursive] [--] [<chemin>...]

note: type: Plain text
en: Show the status of the submodules. This will print the SHA-1 of the currently checked out commit for each submodule, along with the submodule path and the output of 'git describe' for the SHA-1. Each SHA-1 will possibly be prefixed with `-` if the submodule is not initialized, `+` if the currently checked out submodule commit does not match the SHA-1 found in the index of the containing repository and `U` if the submodule has merge conflicts.
fr: Afficher le statut des sous-modules. Cela affichera le SHA-1 du commit actuellement extrait pour chaque sous-module, ainsi que le chemin du sous-module et la sortie de 'git describe' pour le SHA-1. Chaque SHA-1 sera éventuellement préfixé par `-` si le sous-module n'est pas initialisé, `+` si le commit du sous-module actuellement extrait ne correspond pas au SHA-1 trouvé dans l'index du dépôt contenant et `U` si le sous-module a des conflits de fusion.

note: type: Plain text
en: If `--cached` is specified, this command will instead print the SHA-1 recorded in the superproject for each submodule.
fr: Si `--cached` est spécifié, cette commande imprimera à la place le SHA-1 enregistre dans le superprojet pour chaque sous-module.

note: type: Plain text
en: If `--recursive` is specified, this command will recurse into nested submodules, and show their status as well.
fr: Si `--recursive` est spécifié, cette commande va parcourir récursivement les sous-modules imbriqués, et montrer leur statut également.

note: type: Plain text
en: If you are only interested in changes of the currently initialized submodules with respect to the commit recorded in the index or the HEAD, linkgit:git-status[1] and linkgit:git-diff[1] will provide that information too (and can also report changes to a submodule's work tree).
fr: Si vous n'êtes intéressé que par les modifications des sous-modules actuellement initialisés par rapport au commit enregistré dans l'index ou dans HEAD, linkgit:git-status[1] et linkgit:git-diff[1] vous fourniront également ces informations (et peuvent également signaler les modifications de l'arbre de travail d'un sous-module).

note: type: Labeled list
en: init [--] [<path>...]
fr: init [--] [<chemin>...]

note: type: Plain text
en: Initialize the submodules recorded in the index (which were added and committed elsewhere) by setting `submodule.$name.url` in .git/config. It uses the same setting from `.gitmodules` as a template. If the URL is relative, it will be resolved using the default remote. If there is no default remote, the current repository will be assumed to be upstream.
fr: Initialiser les sous-modules enregistrés dans l'index (qui ont été ajoutés et validés ailleurs) en définissant `submodule.$nom.url` dans .git/config. Il utilise le même paramètre de `.gitmodules` comme modèle. Si l'URL est relative, elle sera résolue en utilisant le distant par défaut. S'il n'y a pas de distant par défaut, le dépôt actuel sera supposé être en amont.

note: type: Plain text
en: Optional <path> arguments limit which submodules will be initialized.  If no path is specified and submodule.active has been configured, submodules configured to be active will be initialized, otherwise all submodules are initialized.
fr: Les arguments facultatifs <chemin> limitent les sous-modules qui seront initialisés.  Si aucun chemin n'est spécifié et que submodule.active a été configuré, les sous-modules configurés pour être actifs seront initialisés, sinon tous les sous-modules sont initialisés.

note: type: Plain text
en: When present, it will also copy the value of `submodule.$name.update`.  This command does not alter existing information in .git/config.  You can then customize the submodule clone URLs in .git/config for your local setup and proceed to `git submodule update`; you can also just use `git submodule update --init` without the explicit 'init' step if you do not intend to customize any submodule locations.
fr: Lorsqu'il est présent, copie également la valeur de `submodule.$nom.update`.  Cette commande ne modifie pas les informations existantes dans le fichier .git/config.  Vous pouvez ensuite personnaliser les URL de clonage de sous-module dans .git/config pour votre configuration locale et passer à `git submodule update` ; vous pouvez aussi simplement utiliser `git submodule update --init` sans l'étape explicite 'init' si vous n'avez pas l'intention de personnaliser l'emplacement des sous-module.

note: type: Plain text
en: See the add subcommand for the definition of default remote.
fr: Voir la sous-commande d'ajout pour la définition du distant par défaut.

note: type: Labeled list
en: deinit [-f|--force] (--all|[--] <path>...)
fr: deinit [-f|--force] (--all|[--] <chemin>...)

note: type: Plain text
en: Unregister the given submodules, i.e. remove the whole `submodule.$name` section from .git/config together with their work tree. Further calls to `git submodule update`, `git submodule foreach` and `git submodule sync` will skip any unregistered submodules until they are initialized again, so use this command if you don't want to have a local checkout of the submodule in your working tree anymore.
fr: Désenregistrez les sous-modules donnés, c'est-à-dire supprimez toute la section `submodule.$name` de .git/config ainsi que leur arborescence de travail. Les appels ultérieurs à `git submodule update`, `git submodule foreach` et `git submodule sync` ignoreront tous les sous-modules non enregistrés jusqu'à ce qu'ils soient initialisés à nouveau, donc utilisez cette commande si vous ne voulez plus avoir de vérification locale du sous-module dans votre arbre de travail.

note: type: Plain text
en: When the command is run without pathspec, it errors out, instead of deinit-ing everything, to prevent mistakes.
fr: Lorsque la commande est exécutée sans pathspec, elle sort en erreur, au lieu de tout dé-initialiser, pour éviter les erreurs.

note: type: Plain text
en: If `--force` is specified, the submodule's working tree will be removed even if it contains local modifications.
fr: Si `--force` est spécifié, l'arbre de travail du sous-module sera supprimé même s'il contient des modifications locales.

note: type: Plain text
en: If you really want to remove a submodule from the repository and commit that use linkgit:git-rm[1] instead. See linkgit:gitsubmodules[7] for removal options.
fr: Si vous voulez vraiment supprimer un sous-module du dépôt et valider le résultat, utilisez plutôt linkgit:git-rm[1]. Voir linkgit:gitsubmodules[7] pour les options de suppression.

note: type: Labeled list
en: update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--] [<path>...]
fr: update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <dépôt>] [--depth <profondeur>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--] [<chemin>...]

note: type: Plain text
en: Update the registered submodules to match what the superproject expects by cloning missing submodules, fetching missing commits in submodules and updating the working tree of the submodules. The "updating" can be done in several ways depending on command line options and the value of `submodule.<name>.update` configuration variable. The command line option takes precedence over the configuration variable. If neither is given, a 'checkout' is performed.  The 'update' procedures supported both from the command line as well as through the `submodule.<name>.update` configuration are:
fr: Mettre à jour les sous-modules enregistrés pour qu'ils correspondent aux attentes du superprojet en clonant les sous-modules manquants, en récupérant les commits manquants dans les sous-modules et en mettant à jour l'arbre de travail des sous-modules. La "mise à jour" peut être effectuée de plusieurs façons, en fonction des options de la ligne de commande et de la valeur de la variable de configuration `submodule.<nom>.update`. L'option de ligne de commande a la priorité sur la variable de configuration. Si aucune des deux n'est donnée, un 'checkout' est effectué.  Les procédures de 'update'supportées aussi bien en ligne de commande que par la configuration `submodule.<nom>.update`sont :

note: type: Plain text
en: the commit recorded in the superproject will be checked out in the submodule on a detached HEAD.
fr: le commit enregistré dans le superprojet sera extrait dans le sous-module sur une HEAD détachée.

note: type: Plain text
en: If `--force` is specified, the submodule will be checked out (using `git checkout --force`), even if the commit specified in the index of the containing repository already matches the commit checked out in the submodule.
fr: Si `--force` est spécifié, le sous-module sera extrait (en utilisant `git checkout --force`), même si le commit spécifié dans l'index du dépôt contenant correspond déjà au commit extrait dans le sous-module.

note: type: Plain text
en: the current branch of the submodule will be rebased onto the commit recorded in the superproject.
fr: la branche actuelle du sous-module sera rebasée sur le commit enregistré dans le superprojet.

note: type: Plain text
en: the commit recorded in the superproject will be merged into the current branch in the submodule.
fr: le commit enregistré dans le superprojet sera fusionné dans la branche actuelle dans le sous-module.

note: type: Plain text
en: The following 'update' procedures are only available via the `submodule.<name>.update` configuration variable:
fr: Les procédures 'update' suivantes sont uniquement disponibles via la variable de configuration `submodule.<nom>.update` :

note: type: Labeled list
en: custom command
fr: commande personnalisée

note: type: Plain text
en: arbitrary shell command that takes a single argument (the sha1 of the commit recorded in the superproject) is executed. When `submodule.<name>.update` is set to '!command', the remainder after the exclamation mark is the custom command.
fr: une commande shell arbitraire qui prend un seul argument (le sha1 du commit enregistré dans le superprojet) est exécuté. Lorsque `submodule.<nom>.update`est réglé sur '!command', le reste après le point d'exclamation est la commande personnalisée.

note: type: Plain text
en: the submodule is not updated.
fr: le sous-module n'est pas mis à jour.

note: type: Plain text
en: If the submodule is not yet initialized, and you just want to use the setting as stored in `.gitmodules`, you can automatically initialize the submodule with the `--init` option.
fr: Si le sous-module n'est pas encore initialisé, et que vous souhaitez simplement utiliser le paramètre stocké dans `.gitmodules`, vous pouvez initialiser automatiquement le sous-module avec l'option `--init`.

note: type: Plain text
en: If `--recursive` is specified, this command will recurse into the registered submodules, and update any nested submodules within.
fr: Si `--recursive` est spécifié, cette commande va parcourir récursivement les sous-modules enregistrés, et mettre à jour tous les sous-modules imbriqués à l'intérieur.

note: type: Labeled list
en: set-branch (-b|--branch) <branch> [--] <path>
fr: set-branch (-b|--branch) <branche> [--] <chemin>

note: type: Labeled list
en: set-branch (-d|--default) [--] <path>
fr: set-branch (-d|--default) [--] <chemin>

note: type: Plain text
en: Sets the default remote tracking branch for the submodule. The `--branch` option allows the remote branch to be specified. The `--default` option removes the submodule.<name>.branch configuration key, which causes the tracking branch to default to the remote 'HEAD'.
fr: Définir la branche distante par défaut pour le sous-module. L'option `--branch` permet de spécifier la branche distante. L'option `--default` supprime la clé de configuration submodule.<nom>.branch, ce qui fait que la branche de suivi par défaut est la branche 'HEAD' distante .

note: type: Labeled list
en: set-url [--] <path> <newurl>
fr: set-url [--] <chemin> <nouvelle-url>

note: type: Plain text
en: Sets the URL of the specified submodule to <newurl>. Then, it will automatically synchronize the submodule's new remote URL configuration.
fr: Fixer l'URL du sous-module spécifié à <nouvelle-url>. Ensuite, il synchronisera automatiquement la nouvelle configuration de l'URL distante du sous-module.

note: type: Labeled list
en: summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>...]
fr: summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<chemin>...]

note: type: Plain text
en: Show commit summary between the given commit (defaults to HEAD) and working tree/index. For a submodule in question, a series of commits in the submodule between the given super project commit and the index or working tree (switched by `--cached`) are shown. If the option `--files` is given, show the series of commits in the submodule between the index of the super project and the working tree of the submodule (this option doesn't allow to use the `--cached` option or to provide an explicit commit).
fr: Afficher le résumé du commit entre le commit donné (par défaut HEAD) et l'arbre de travail/index. Pour un sous-module en question, une série de commits dans le sous-module entre le commit donné du super projet et l'index ou l'arbre de travail (commuté par `--cached`) sont affichés. Si l'option `--files` est donnée, afficher la série de commits dans le sous-module entre l'index du super projet et l'arbre de travail du sous-module (cette option ne permet pas d'utiliser l'option `--cached` ou de fournir un commit explicite).

note: type: Plain text
en: Using the `--submodule=log` option with linkgit:git-diff[1] will provide that information too.
fr: L'utilisation de l'option `--submodule=log` avec linkgit:git-diff[1] fournira également cette information.

note: type: Labeled list
en: foreach [--recursive] <command>
fr: foreach [--recursive] <commande>

note: type: Plain text
en: Evaluates an arbitrary shell command in each checked out submodule.  The command has access to the variables $name, $sm_path, $displaypath, $sha1 and $toplevel: $name is the name of the relevant submodule section in `.gitmodules`, $sm_path is the path of the submodule as recorded in the immediate superproject, $displaypath contains the relative path from the current working directory to the submodules root directory, $sha1 is the commit as recorded in the immediate superproject, and $toplevel is the absolute path to the top-level of the immediate superproject.  Note that to avoid conflicts with '$PATH' on Windows, the '$path' variable is now a deprecated synonym of '$sm_path' variable.  Any submodules defined in the superproject but not checked out are ignored by this command. Unless given `--quiet`, foreach prints the name of each submodule before evaluating the command.  If `--recursive` is given, submodules are traversed recursively (i.e.  the given shell command is evaluated in nested submodules as well).  A non-zero return from the command in any submodule causes the processing to terminate. This can be overridden by adding '|| :' to the end of the command.
fr: Évaluer une commande shell arbitraire dans chaque sous-module extrait.  La commande a accès aux variables $name, $sm_path, $displaypath, $sha1 et $toplevel : $name est le nom de la section du sous-module concernée dans `.gitmodules`, $sm_path est le chemin du sous-module tel qu'il est enregistré dans le superprojet immédiat, $displaypath contient le chemin relatif du répertoire de travail courant au répertoire racine du sous-modules, $sha1 est le commit tel qu'il est enregistré dans le superprojet immédiat, et $toplevel est le chemin absolu vers le niveau supérieur du superprojet immédiat.  Notez que pour éviter les conflits avec '$PATH' sous Windows, la variable '$path' est maintenant un synonyme obsolète de la variable '$sm_path'.  Tous les sous-modules définis dans le superprojet mais non extraits sont ignorés par cette commande. A moins qu'on ne lui donne `--quiet`, foreach imprime le nom de chaque sous-module avant d'évaluer la commande.  Si la variable `--recursive` est donnée, les sous-modules sont parcourus de manière récursive (c'est-à-dire que la commande shell donnée est également évaluée dans les sous-modules imbriqués).  Un retour non nul de la commande dans un sous-module quelconque entraîne l'arrêt du traitement. Il est possible d'y remédier en ajoutant '|| :' à la fin de la commande.

note: type: Plain text
en: As an example, the command below will show the path and currently checked out commit for each submodule:
fr: À titre d'exemple, la commande ci-dessous indique le chemin et le commit actuellement extrait pour chaque sous-module :

note: type: Labeled list
en: sync [--recursive] [--] [<path>...]
fr: sync [--recursive] [--] [<chemin>...]

note: type: Plain text
en: Synchronizes submodules' remote URL configuration setting to the value specified in `.gitmodules`. It will only affect those submodules which already have a URL entry in .git/config (that is the case when they are initialized or freshly added). This is useful when submodule URLs change upstream and you need to update your local repositories accordingly.
fr: Synchroniser le paramètre de configuration de l'URL distante des sous-modules à la valeur spécifiée dans `.gitmodules`. Cela n'affectera que les sous-modules qui ont déjà une entrée d'URL dans .git/config (c'est le cas lorsqu'ils sont initialisés ou fraîchement ajoutés). Ceci est utile lorsque les URL des sous-modules changent en amont et que vous devez mettre à jour vos dépôts locaux en conséquence.

note: type: Plain text
en: `git submodule sync` synchronizes all submodules while `git submodule sync -- A` synchronizes submodule "A" only.
fr: `git submodule sync` synchronise tous les sous-modules tandis que `git submodule sync -- A` synchronise uniquement le sous-module "A".

note: type: Plain text
en: If `--recursive` is specified, this command will recurse into the registered submodules, and sync any nested submodules within.
fr: Si `--recursive` est spécifié, cette commande va parcourir récursivement les sous-modules enregistrés, et synchroniser tous les sous-modules imbriqués à l'intérieur.

note: type: Plain text
en: If a git directory of a submodule is inside the submodule, move the git directory of the submodule into its superproject's `$GIT_DIR/modules` path and then connect the git directory and its working directory by setting the `core.worktree` and adding a .git file pointing to the git directory embedded in the superprojects git directory.
fr: Si un répertoire git d'un sous-module se trouve à l'intérieur du sous-module, déplacer le répertoire git du sous-module dans le chemin `$GIT_DIR/modules` de son superprojet, puis connecter le répertoire git et son répertoire de travail en définissant le `core.worktree` et en ajoutant un fichier .git pointant sur le répertoire git intégré dans le répertoire git du superprojet.

note: type: Plain text
en: A repository that was cloned independently and later added as a submodule or old setups have the submodules git directory inside the submodule instead of embedded into the superprojects git directory.
fr: Un dépôt qui a été cloné indépendamment et ajouté plus tard comme un sous-module ou d'anciennes configurations, a le répertoire git des sous-modules à l'intérieur du sous-module au lieu d'être intégré dans le répertoire git des superprojets.

note: type: Plain text
en: This command is recursive by default.
fr: Cette commande est récursive par défaut.

note: type: Plain text
en: Only print error messages.
fr: N'afficher que les messages d'erreur.

note: type: Plain text
en: This option is only valid for add and update commands.  Progress status is reported on the standard error stream by default when it is attached to a terminal, unless -q is specified. This flag forces progress status even if the standard error stream is not directed to a terminal.
fr: Cette option n'est valide que pour les commandes add et update. L'état d'avancement est affiché sur la sortie d'erreur standard par défaut 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.

note: type: Plain text
en: This option is only valid for the deinit command. Unregister all submodules in the working tree.
fr: Cette option n'est valide que pour la commande deinit. Désenregistrer tous les sous-modules dans l'arbre de travail.

note: type: Labeled list
en: -b <branch>
fr: -b <branche>

note: type: Plain text
en: Branch of repository to add as submodule.  The name of the branch is recorded as `submodule.<name>.branch` in `.gitmodules` for `update --remote`.  A special value of `.` is used to indicate that the name of the branch in the submodule should be the same name as the current branch in the current repository.  If the option is not specified, it defaults to the remote 'HEAD'.
fr: Branche du dépôt à ajouter comme sous-module.  Le nom de la branche est enregistré comme `submodule.<nom>.branch` dans `.gitmodules` pour `update--remote`.  Une valeur spéciale de `.` est utilisée pour indiquer que le nom de la branche dans le sous-module doit être le même que celui de la branche active dans le dépôt actuel.  Si l'option n'est pas spécifiée, la valeur par défaut est `HEAD` distant.

note: type: Plain text
en: This option is only valid for add, deinit and update commands.  When running add, allow adding an otherwise ignored submodule path.  When running deinit the submodule working trees will be removed even if they contain local changes.  When running update (only effective with the checkout procedure), throw away local changes in submodules when switching to a different commit; and always run a checkout operation in the submodule, even if the commit listed in the index of the containing repository matches the commit checked out in the submodule.
fr: Cette option n'est valable que pour les commandes add, deinit et update.  Lors de l'exécution de la commande add, autorisez l'ajout d'un chemin de sous-module autrement ignoré.  Lors de l'exécution de deinit, les arbres de travail des sous-module seront supprimés même s'ils contiennent des modifications locales.  Lors de l'exécution de update (uniquement active avec la procédure de checkout), jeter les modifications locales dans les sous-module lors du passage à un commit différent  ; et toujours exécuter une opération d'extraction dans le sous-module, même si le commit listé dans l'index du dépôt le contenant correspond au commit extrait dans le sous-module.

note: type: Plain text
en: This option is only valid for status and summary commands.  These commands typically use the commit found in the submodule HEAD, but with this option, the commit stored in the index is used instead.
fr: Cette option n'est valide que pour les commandes d'état et de résumé.  Ces commandes utilisent généralement le commit trouvé dans la HEAD du sous-module, mais avec cette option, le commit stocké dans l'index est utilisé à la place.

note: type: Plain text
en: This option is only valid for the summary command. This command compares the commit in the index with that in the submodule HEAD when this option is used.
fr: Cette option n'est valable que pour la commande sommaire. Cette commande compare le commit dans l'index avec celui du sous-module HEAD lorsque cette option est utilisée.

note: type: Plain text
en: This option is only valid for the summary command.  Limit the summary size (number of commits shown in total).  Giving 0 will disable the summary; a negative number means unlimited (the default). This limit only applies to modified submodules. The size is always limited to 1 for added/deleted/typechanged submodules.
fr: Cette option n'est valable que pour la commande sommaire.  Limiter la taille du résumé (nombre de validations affichées au total).  Donner 0 désactivera le résumé ; un nombre négatif signifie illimité (par défaut). Cette limite ne s'applique qu'aux sous-modules modifiés. La taille est toujours limitée à 1 pour les sous-modules ajoutés/supprimés/modifiés.

note: type: Plain text
en: This option is only valid for the update command.  Instead of using the superproject's recorded SHA-1 to update the submodule, use the status of the submodule's remote-tracking branch.  The remote used is branch's remote (`branch.<name>.remote`), defaulting to `origin`.  The remote branch used defaults to the remote `HEAD`, but the branch name may be overridden by setting the `submodule.<name>.branch` option in either `.gitmodules` or `.git/config` (with `.git/config` taking precedence).
fr: Cette option n'est valable que pour la commande de mise à jour.  Au lieu d'utiliser le SHA-1 enregistrée du superprojet pour mettre à jour le sous-module, utiliser le statut de la branche de suivi à distance du sous-module.  Le distant utilisé est le distant de la branche (`branch.<nom>.remote`), dont la valeur par défaut est `origin`.  La branche distante utilisée est par défaut la branche distante `HEAD`, mais le nom de la branche peut être remplacé par l'option `submodule.<nom>.branch` dans `.gitmodules` ou `.git/config` (avec `.git/config` en priorité).

note: type: Plain text
en: This works for any of the supported update procedures (`--checkout`, `--rebase`, etc.).  The only change is the source of the target SHA-1.  For example, `submodule update --remote --merge` will merge upstream submodule changes into the submodules, while `submodule update --merge` will merge superproject gitlink changes into the submodules.
fr: Cela fonctionne pour toutes les procédures de mise à jour prises en charge (`--checkout`, `--rebase`, etc.).  Le seul changement est la source de la cible SHA-1.  Par exemple, `submodule update --remote --merge` fusionnera les changements de sous-module en amont dans les sous-modules, tandis que `submodule update --merge` fusionnera les changements du superprojet de gitlink  dans les sous-modules.

note: type: Plain text
en: In order to ensure a current tracking branch state, `update --remote` fetches the submodule's remote repository before calculating the SHA-1.  If you don't want to fetch, you should use `submodule update --remote --no-fetch`.
fr: Afin d'assurer un état actuel de la branche de suivi, `update --remote` va chercher le dépôt distant du sous-module avant de calculer le SHA-1.  Si vous ne voulez pas récupérer, vous devez utiliser `submodule update --remote --no-fetch`.

note: type: Plain text
en: Use this option to integrate changes from the upstream subproject with your submodule's current HEAD.  Alternatively, you can run `git pull` from the submodule, which is equivalent except for the remote branch name: `update --remote` uses the default upstream repository and `submodule.<name>.branch`, while `git pull` uses the submodule's `branch.<name>.merge`.  Prefer `submodule.<name>.branch` if you want to distribute the default upstream branch with the superproject and `branch.<name>.merge` if you want a more native feel while working in the submodule itself.
fr: Utiliser cette option pour intégrer les changements du sous-projet en amont dans la tête actuelle de votre sous-module.  Alternativement, vous pouvez lancer `git pull` depuis le sous-module, qui est équivalent à l'exception du nom de la branche distante : `update --remote` utilise le dépôt amont par défaut et `submodule.<nom>.branch`, alors que `git pull` utilise le `branch.<nom>.merge` du sous-module.  Préférez `submodule.<nom>.branch` si vous voulez distribuer la branche amont par défaut avec le superprojet et `branch.<nom>.merge` si vous voulez un aspect plus natif tout en travaillant dans le sous-module lui-même.

note: type: Plain text
en: This option is only valid for the update command.  Don't fetch new objects from the remote site.
fr: Cette option n'est valable que pour la commande update.  Ne pas récupérer de nouveaux objets sur le site distant.

note: type: Plain text
en: This option is only valid for the update command.  Checkout the commit recorded in the superproject on a detached HEAD in the submodule. This is the default behavior, the main use of this option is to override `submodule.$name.update` when set to a value other than `checkout`.  If the key `submodule.$name.update` is either not explicitly set or set to `checkout`, this option is implicit.
fr: Cette option n'est valable que pour la commande update.  Vérifier le commit enregistré dans le superprojet sur une HEAD détachée dans le sous-module. C'est le comportement par défaut, l'utilisation principale de cette option est de remplacer `submodule.$nom.update` lorsqu'elle est définie à une valeur autre que `checkout`.  Si la clé `submodule.$nom.update` n'est pas explicitement définie ou est définie à `checkout`, cette option est implicite.

note: type: Plain text
en: This option is only valid for the update command.  Merge the commit recorded in the superproject into the current branch of the submodule. If this option is given, the submodule's HEAD will not be detached. If a merge failure prevents this process, you will have to resolve the resulting conflicts within the submodule with the usual conflict resolution tools.  If the key `submodule.$name.update` is set to `merge`, this option is implicit.
fr: Cette option n'est valable que pour la commande update.  Fusionner le commit enregistré dans le superprojet dans la branche actuelle du sous-module. Si cette option est donnée, la HEAD du sous-module ne sera pas détachée. Si un échec de fusion empêche ce processus, vous devrez résoudre les conflits résultants au sein du sous-module avec les outils de résolution de conflits habituels.  Si la clé `submodule.$nom.update` est définie sur `fusion`, cette option est implicite.

note: type: Plain text
en: This option is only valid for the update command.  Rebase the current branch onto the commit recorded in the superproject. If this option is given, the submodule's HEAD will not be detached. If a merge failure prevents this process, you will have to resolve these failures with linkgit:git-rebase[1].  If the key `submodule.$name.update` is set to `rebase`, this option is implicit.
fr: Cette option n'est valable que pour la commande de mise à jour.  Rebaser la branche actuelle sur le commit enregistré dans le superprojet. Si cette option est donnée, la HEAD du sous-module ne sera pas détachée. Si un échec de fusion empêche ce processus, vous devrez résoudre ces échecs avec linkgit:git-rebase[1].  Si la clé `submodule.$nom.update` est définie sur `rebase`, cette option est implicite.

note: type: Plain text
en: This option is only valid for the update command.  Initialize all submodules for which "git submodule init" has not been called so far before updating.
fr: Cette option n'est valable que pour la commande update.  Initialiser tous les sous-modules pour lesquels "git submodule init" n'a pas été appelé jusqu'à présent avant la mise à jour.

note: type: Plain text
en: This option is only valid for the add command. It sets the submodule's name to the given string instead of defaulting to its path. The name must be valid as a directory name and may not end with a '/'.
fr: Cette option n'est valable que pour la commande add. Elle fixe le nom du sous-module à la chaîne de caractères donnée au lieu de choisir par défaut son chemin d'accès. Le nom doit être valide en tant que nom de répertoire et ne peut pas se terminer par un "/".

note: type: Labeled list
en: --reference <repository>
fr: --reference <dépôt>

note: type: Plain text
en: This option is only valid for add and update commands.  These commands sometimes need to clone a remote repository. In this case, this option will be passed to the linkgit:git-clone[1] command.
fr: Cette option n'est valable que pour les commandes add et update.  Ces commandes ont parfois besoin de cloner un dépôt distant. Dans ce cas, cette option sera passée à la commande linkgit:git-clone[1].

note: type: Plain text
en: *NOTE*: Do *not* use this option unless you have read the note
    for linkgit:git-clone[1]'s `--reference`, `--shared`, and `--dissociate`
    options carefully.
fr: *NOTE* : N'utilisez pas cette option si vous n'avez pas lu attentivement 
    la note pour les options `--reference`, `--shared`, et `--dissociate`
    de linkgit:git-clone[1].

note: type: Plain text
en: *NOTE*: see the NOTE for the `--reference` option.
fr: *NOTE* : voir NOTE pour l'option `--reference`.

note: type: Plain text
en: This option is only valid for foreach, update, status and sync commands.  Traverse submodules recursively. The operation is performed not only in the submodules of the current repo, but also in any nested submodules inside those submodules (and so on).
fr: Cette option n'est valable que pour les commandes foreach, update, status et sync.  Traverser les sous-modules de façon récursive. L'opération est effectuée non seulement dans les sous-modules du dépôt actuel, mais aussi dans tous les sous-modules imbriqués à l'intérieur de ces sous-modules (et ainsi de suite).

note: type: Plain text
en: This option is valid for add and update commands. Create a 'shallow' clone with a history truncated to the specified number of revisions.  See linkgit:git-clone[1]
fr: Cette option est valable pour les commandes d'ajout et de mise à jour. Créer un clone 'superficiel' avec un historique tronqué au nombre de révisions spécifié.  Voir linkgit:git-clone[1]

note: type: Plain text
en: This option is only valid for the update command.  The initial clone of a submodule will use the recommended `submodule.<name>.shallow` as provided by the `.gitmodules` file by default. To ignore the suggestions use `--no-recommend-shallow`.
fr: Cette option n'est valable que pour la commande de mise à jour.  Le clone initial d'un sous-module utilisera le `submodule.<nom>.shallow` recommandé, tel que fourni par le fichier `.gitmodules` par défaut. Pour ignorer les suggestions, utilisez `--no-recommend-shallow`.

note: type: Plain text
en: This option is only valid for the update command.  Clone new submodules in parallel with as many jobs.  Defaults to the `submodule.fetchJobs` option.
fr: Cette option n'est valable que pour la commande update.  Cloner les nouveaux sous-modules en parallèle avec autant de tâches.  L'option `submodule.fetchJobs` est utilisée par défaut.

note: type: Plain text
en: This option is only valid for the update command.  Clone only one branch during update: HEAD or one specified by --branch.
fr: Cette option n'est valable que pour la commande update.  Cloner une seule branche pendant la mise à jour : HEAD ou une branche spécifiée par --branch.

note: type: Plain text
en: Paths to submodule(s). When specified this will restrict the command to only operate on the submodules found at the specified paths.  (This argument is required with add).
fr: Chemins vers le(s) sous-module(s). Lorsque cela est spécifié, la commande ne fonctionnera que sur les sous-modules se trouvant sur les chemins spécifiés.  (Cet argument est requis avec add).

note: type: Plain text
en: When initializing submodules, a `.gitmodules` file in the top-level directory of the containing repository is used to find the url of each submodule.  This file should be formatted in the same way as `$GIT_DIR/config`. The key to each submodule url is "submodule.$name.url".  See linkgit:gitmodules[5] for details.
fr: Lors de l'initialisation des sous-modules, un fichier `.gitmodules` dans le répertoire de niveau supérieur du dépôt contenant est utilisé pour trouver l'url de chaque sous-module.  Ce fichier doit être formaté de la même manière que le fichier `$GIT_DIR/config`. La clé de l'url de chaque sous-module est "submodule.$nom.url".  Voir linkgit:gitmodules[5] pour plus de détails.

note: type: Plain text
en: git-svn - Bidirectional operation between a Subversion repository and Git
fr: git-svn - Opération Bidirectionnelles entre un dépôt Subversion et Git

note: type: Labeled list
en: --placeholder-filename=<filename>
fr: --placeholder-filename=<fichier>

note: type: Labeled list
en: -d<path>
fr: -d<chemin>

note: type: Labeled list
en: --destination=<path>
fr: --destination=<chemin>

note: type: Plain text
en: Use the given `msg` as the commit message. This option disables the `--edit` option.
fr: Utiliser le <msg> fourni comme message de validation. Cette option désactive l'option '--edit'.

note: type: Labeled list
en: -F <filename>
fr: -F <fichier>

note: type: Labeled list
en: --file=<filename>
fr: --file=<fichier>

note: type: Plain text
en: Take the commit message from the given file. This option disables the `--edit` option.
fr: Prendre le message de validation depuis le fichier indiqué. Cette option désactive l'option '--edit'.

note: type: Labeled list
en: -A<filename>
fr: -A<fichier>

note: type: Labeled list
en: --authors-file=<filename>
fr: --authors-file=<fichier>

note: type: Labeled list
en: --authors-prog=<filename>
fr: --authors-prog=<fichier>

note: type: Labeled list
en: -s<strategy>
fr: -s<strategie>

note: type: Labeled list
en: --preserve-merges (DEPRECATED)
fr: --preserve-merges (DÉCONSEILLÉ)

note: type: Title -
en: ADVANCED OPTIONS
fr: OPTIONS AVANCÉES

note: type: Labeled list
en: -R<remote name>
fr: -R<nom distant>

note: type: Title -
en: BASIC EXAMPLES
fr: EXEMPLES DE BASE

note: type: Plain text
en: git-switch - Switch branches
fr: git-switch - bascule de branche

note: type: Labeled list
en: <new-branch>
fr: <nouvelle-branche>

note: type: Plain text
en: You can use the `@{-N}` syntax to refer to the N-th last branch/commit switched to using "git switch" or "git checkout" operation. You may also specify `-` which is synonymous to `@{-1}`.  This is often used to switch quickly between two branches, or to undo a branch switch by mistake.
fr: Vous pouvez utiliser la syntaxe `@{-N}` pour faire référence à la N-ième dernière branche ou commit sur lesquels on a basculé en utilisant une opération « git switch » ou « git checkout ». Vous pouvez aussi spécifier `-` qui est synonyme de `@{-1}`. C'est souvent utilisé pour basculer rapidement entre deux branches ou pour annuler un basculement par erreur.

note: type: Labeled list
en: -c <new-branch>
fr: -c <nouvelle-branche>

note: type: Labeled list
en: --create <new-branch>
fr: --create <nouvelle-branche>

note: type: Plain text
en: Create a new branch named `<new-branch>` starting at `<start-point>` before switching to the branch. This is a convenient shortcut for:
fr: Créer une nouvelle branche nommée `<nouvelle-branche>` commençant à `<point-de-départ>` avant de basculer sur cette branche. C'est un raccourci pratique pour :

note: type: delimited block -
en: $ git branch <new-branch>
    $ git switch <new-branch>
fr: $ git branch <nouvelle-branche>
    $ git switch <nouvelle-branche>

note: type: Labeled list
en: -C <new-branch>
fr: -C <nouvelle-branche>

note: type: Labeled list
en: --force-create <new-branch>
fr: --force-create <nouvelle-branche>

note: type: delimited block -
en: $ git branch -f <new-branch>
    $ git switch <new-branch>
fr: $ git branch -f <nouvelle-branche>
    $ git switch <nouvelle-branche>

note: type: delimited block -
en: $ git switch -c <branch> --track <remote>/<branch>
fr: $ git switch -c <branche> --track <distant>/<branche>

note: type: Plain text
en: If you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in order to preserve your modifications in context.  However, with this option, a three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch.
fr: Si vous avez des modifications locales sur un fichier ou plus qui sont différentes entre la branche actuelle et celle sur laquelle vous basculez, la commande refuse le basculement pour préserver vos modifications dans leur contexte. Cependant, avec cette option, une fusion à trois points entre la branche actuelle, le contenu de votre arbre de travail et la nouvelle branche est opérée et vous serez sur la nouvelle branche.

note: type: Plain text
en: When creating a new branch, set up "upstream" configuration.  `-c` is implied. See `--track` in linkgit:git-branch[1] for details.
fr: À la création d'une nouvelle branche, établir la configuration 'upstream' (branche amont). `-c` est implicite. Voir `--track` dans linkgit:git-branch[1] pour plus de détails.

note: type: Plain text
en: If no `-c` option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of the refspec configured for the corresponding remote, and then stripping the initial part up to the "*".  This would tell us to use `hack` as the local branch when branching off of `origin/hack` (or `remotes/origin/hack`, or even `refs/remotes/origin/hack`).  If the given name has no slash, or the above guessing results in an empty name, the guessing is aborted.  You can explicitly give a name with `-c` in such a case.
fr: Si aucune option `-c` n'est fournie, le nom de la nouvelle branche sera dérivé de la branche de suivi à distance, en regardant la partie locale de la spécification de référence configurée pour le distant correspondant et en enlevant la partie initiale jusqu'au "*". Cela indiquerait d'utiliser le nom `hack` comme branche locale créée à partir de `origin/hack` (ou `remotes/origin/hack`, ou même `refs/remotes/origin/hack`). Si le nom fourni ne contient pas de barre oblique, ou si le résultat de la dérivation est un nom vide, la dérivation échoue. Vous pouvez spécifier explicitement un nom avec `-c` dans ce cas.

note: type: Labeled list
en: --orphan <new-branch>
fr: --orphan <nouvelle-branche>

note: type: Plain text
en: `git switch` refuses when the wanted ref is already checked out by another worktree. This option makes it check the ref out anyway. In other words, the ref can be held by more than one worktree.
fr: `git switch` échoue quand la référence voulue est déjà extraite dans un autre arbre de travail. Cette option force l'extraction. En d'autres termes, la réf peut être tenue par plus d'un arbre de travail.

note: type: Plain text
en: Using `--recurse-submodules` will update the content of all active submodules according to the commit recorded in the superproject. If nothing (or `--no-recurse-submodules`) is used, submodules working trees will not be updated. Just like linkgit:git-submodule[1], this will detach `HEAD` of the submodules.
fr: L'utilisation de `--recurse-submodules` permet de mettre à jour le contenu de tous les sous-modules actifs en fonction du commit enregistré dans le super-projet. Si l'option n'est pas spécifiée (ou si `--no-recurse-submodules` est spécifié), les arbres de travail des sous-modules ne sont pas mis à jour. Comme linkgit:git-submodule[1], les `HEAD` des sous-modules seront détachées.

note: type: delimited block -
en: $ git switch mytopic
fr: $ git switch monsujet

note: type: Plain text
en: However, your "wrong" branch and correct "mytopic" branch may differ in files that you have modified locally, in which case the above switch would fail like this:
fr: Cependant, votre « fausse » branche et votre branche correcte « monsujet » peuvent être différentes par les fichiers que vous avez modifiés localement, auquel cas le basculement ci-dessus échouerait comme ceci :

note: type: delimited block -
en: $ git switch mytopic
    error: You have local changes to 'frotz'; not switching branches.
fr: $ git switch monsujet
    error : Vos modifications locales aux fichiers suivants seraient écrasées par l'extraction :

note: type: delimited block -
en: $ git switch -m mytopic
    Auto-merging frotz
fr: $ git switch -m monsujet
    Fusion automatique de frotz

note: type: Plain text
en: If you want to start a new branch from a remote branch of the same name:
fr: Si vous souhaitez démarrer une branche nouvelle depuis une branche distante du même nom :

note: type: Plain text
en: git-tag - Create, list, delete or verify a tag object signed with GPG
fr: git-tag - Créer, lister, supprimer ou vérifier un objet étiquette signé avec GPG

note: type: Plain text
en: 'git tag' [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] [-e]
    	<tagname> [<commit> | <object>]
    'git tag' -d <tagname>...
    'git tag' [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
    	[--points-at <object>] [--column[=<options>] | --no-column]
    	[--create-reflog] [--sort=<key>] [--format=<format>]
    	[--merged <commit>] [--no-merged <commit>] [<pattern>...]
    'git tag' -v [--format=<format>] <tagname>...
fr: 'git tag' [-a | -s | -u <id-clé>] [-f] [-m <msg> | -F <fichier>] [-e]
    	<nom-d-étiquette> [<commit> | <objet>]
    'git tag' -d <nom-d-étiquette>...
    'git tag' [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
    	[--points-at <objet>] [--column [=<options>] | --no-column]
    	[--create-reflog] [--sort=<clé>] [--format=<format>]
    	[--[merged <commit>] [--[no-]merged [<commit>]] [<motif>...]
    'git tag' -v [--format=<format>] <nom-d-étiquette>...

note: type: Plain text
en: Add a tag reference in `refs/tags/`, unless `-d/-l/-v` is given to delete, list or verify tags.
fr: Ajouter une référence d'étiquette dans `refs/tags/`, à moins que `-d/-l/-v` ne soit donné pour supprimer, lister ou vérifier des étiquettes.

note: type: Plain text
en: Unless `-f` is given, the named tag must not yet exist.
fr: A moins que le `-f` ne soit donné, l'étiquette indiquée ne doit pas encore exister.

note: type: Plain text
en: If one of `-a`, `-s`, or `-u <keyid>` is passed, the command creates a 'tag' object, and requires a tag message.  Unless `-m <msg>` or `-F <file>` is given, an editor is started for the user to type in the tag message.
fr: Si l'un des drapeaux `-a `, `-s` ou `-u<id-clé>` est passé, la commande crée un objet « étiquette » et nécessite un message d'étiquetage.  À moins que `-m <msg>` ou `-F <fichier>` ne soit donné, un éditeur est lancé pour que l'utilisateur puisse taper le message de l'étiquette.

note: type: Plain text
en: If `-m <msg>` or `-F <file>` is given and `-a`, `-s`, and `-u <keyid>` are absent, `-a` is implied.
fr: Si `-m <msg>` ou `-F <fichier>` est donné et que `-a`, `-s`, et `-u <id-clé>` sont absents, `-a` est implicite.

note: type: Plain text
en: Otherwise, a tag reference that points directly at the given object (i.e., a lightweight tag) is created.
fr: Sinon, une référence d'étiquette qui pointe directement sur l'objet donné (c'est-à-dire une étiquette légère) est créée.

note: type: Plain text
en: A GnuPG signed tag object will be created when `-s` or `-u <keyid>` is used.  When `-u <keyid>` is not used, the committer identity for the current user is used to find the GnuPG key for signing. 	The configuration variable `gpg.program` is used to specify custom GnuPG binary.
fr: Un objet étiquette signé avec GnuPG sera créé lorsque `-s` ou `-u <id-clé>` est utilisé.  Lorsque `-u <id-clé>` n'est pas utilisé, l'identité du validateur pour l'utilisateur actuel est utilisée pour trouver la clé GnuPG pour signer. La variable de configuration `gpg.program` est utilisée pour spécifier un binaire GnuPG personnalisé.

note: type: Plain text
en: Tag objects (created with `-a`, `-s`, or `-u`) are called "annotated" tags; they contain a creation date, the tagger name and e-mail, a tagging message, and an optional GnuPG signature. Whereas a "lightweight" tag is simply a name for an object (usually a commit object).
fr: Les objets étiquette (créés avec `-a`, `-s`, ou `-u`) sont appelés étiquettes « annotées » ; ils contiennent une date de création, le nom et l'e-mail de l'étiqueteur, un message d'étiquetage, et une signature GnuPG optionnelle. Alors qu'une étiquette « légère » est simplement un nom pour un objet (généralement un objet commit).

note: type: Plain text
en: Annotated tags are meant for release while lightweight tags are meant for private or temporary object labels. For this reason, some git commands for naming objects (like `git describe`) will ignore lightweight tags by default.
fr: Les étiquettes annotées sont destinées à être diffusées, tandis que les étiquettes légères sont destinées à l'étiquetage d'objets privés ou temporaires. Pour cette raison, certaines commandes git pour nommer les objets (comme `git describe`) ignorent par défaut les étiquettes légères.

note: type: Plain text
en: Make an unsigned, annotated tag object
fr: Faire un objet étiquette non signé et annoté

note: type: Plain text
en: Make a GPG-signed tag, using the default e-mail address's key.  The default behavior of tag GPG-signing is controlled by `tag.gpgSign` configuration variable if it exists, or disabled otherwise.  See linkgit:git-config[1].
fr: Faites une étiquette signée GPG, en utilisant la clé de l'adresse électronique par défaut.  Le comportement par défaut de signature GPG d'étiquette GPG est contrôlé par la variable de configuration `tag.gpgSign` si elle existe, ou désactivé sinon.  Voir linkgit:git-config[1].

note: type: Plain text
en: Override `tag.gpgSign` configuration variable that is set to force each and every tag to be signed.
fr: Surcharge `tag.gpgSign` qui force toutes les étiquettes à être signées.

note: type: Labeled list
en: -u <keyid>
fr: -u <id-clé>

note: type: Labeled list
en: --local-user=<keyid>
fr: --local-user=<id-clé>

note: type: Plain text
en: Make a GPG-signed tag, using the given key.
fr: Faire une étiquette signée par GPG, en utilisant la clé donnée.

note: type: Plain text
en: Replace an existing tag with the given name (instead of failing)
fr: Remplacer une étiquette existante par le nom fourni (au lieu d'échouer)

note: type: Plain text
en: Delete existing tags with the given names.
fr: Supprimer les étiquettes existantes avec les noms fournis.

note: type: Plain text
en: Verify the GPG signature of the given tag names.
fr: Vérifier la signature GPG des noms d'étiquette donnés.

note: type: Plain text
en: <num> specifies how many lines from the annotation, if any, are printed when using -l. Implies `--list`.
fr: <num> indique combien de lignes de l'annotation, le cas échéant, sont imprimées lorsque l'on utilise -l. Implique `--list`.

note: type: Plain text
en: The default is not to print any annotation lines.  If no number is given to `-n`, only the first line is printed.  If the tag is not annotated, the commit message is displayed instead.
fr: Par défaut, aucune ligne d'annotation n'est imprimée.  Si aucun nombre n'est donné à "n", seule la première ligne est imprimée.  Si l'étiquette n'est pas annotée, le message de commit est affiché à la place.

note: type: Plain text
en: List tags. With optional `<pattern>...`, e.g. `git tag --list 'v-*'`, list only the tags that match the pattern(s).
fr: Lister les étiquettes. Avec l'option `<motif>...`, par exemple `git tag --list 'v-*' `, ne lister que les étiquettes qui correspondent au(x) motif(s).

note: type: Plain text
en: Running "git tag" without arguments also lists all tags. The pattern is a shell wildcard (i.e., matched using fnmatch(3)). Multiple patterns may be given; if any of them matches, the tag is shown.
fr: L'exécution de "git tag" sans arguments permet également de lister toutes les étiquettes. Le motif est un joker shell (c'est-à-dire que la correspondance est effectuée avec fnmatch(3)). Plusieurs motifs peuvent être donnés ; si l'un d'eux correspond, l'étiquette est affichée.

note: type: Plain text
en: This option is implicitly supplied if any other list-like option such as `--contains` is provided. See the documentation for each of those options for details.
fr: Cette option est implicitement fournie si une autre option de type liste telle que `--contains` est fournie. Pour plus de détails, voir la documentation relative à chacune de ces options.

note: type: Plain text
en: Sort based on the key given.  Prefix `-` to sort in descending order of the value. You may use the --sort=<key> option multiple times, in which case the last key becomes the primary key. Also supports "version:refname" or "v:refname" (tag names are treated as versions). The "version:refname" sort order can also be affected by the "versionsort.suffix" configuration variable.  The keys supported are the same as those in `git for-each-ref`.  Sort order defaults to the value configured for the `tag.sort` variable if it exists, or lexicographic order otherwise. See linkgit:git-config[1].
fr: Trier en fonction de la clé donnée.  Préfixer par `-` pour trier par ordre décroissant de la valeur. Vous pouvez utiliser l'option --sort=<clé> plusieurs fois, auquel cas la dernière clé devient la clé primaire. Prend également en charge "version:nom-de-réf" ou "v:nom-de-réf" (les noms d'étiquettes sont traités comme des versions). L'ordre de tri de "version:nom-de-réf" peut également être affecté par la variable de configuration "versionsort.suffixe".  Les clés supportées sont les mêmes que celles de `git for-each-ref`.  L'ordre de tri est par défaut la valeur configurée pour la variable `tag.sort` si elle existe, ou l'ordre lexicographique sinon. Voir linkgit:git-config[1].

note: type: Plain text
en: Sorting and filtering tags are case insensitive.
fr: Le tri et le filtrage des étiquettes sont non-sensibles à la casse.

note: type: Plain text
en: Display tag listing in columns. See configuration variable `column.tag` for option syntax. `--column` and `--no-column` without options are equivalent to 'always' and 'never' respectively.
fr: Afficher les étiquettes en colonnes. Voir la variable de configuration `column.tag` pour la syntaxe de l'option. `--column` et `--no-column` sans options sont équivalents à 'always' et 'never' respectivement.

note: type: Plain text
en: This option is only applicable when listing tags without annotation lines.
fr: Cette option n'est applicable que pour les listes d'étiquettes sans lignes d'annotation.

note: type: Plain text
en: Only list tags which contain the specified commit (HEAD if not specified). Implies `--list`.
fr: Ne répertorier que les étiquettes qui contiennent le commit spécifié (HEAD si non spécifié). Implique `--list`.

note: type: Plain text
en: Only list tags which don't contain the specified commit (HEAD if not specified). Implies `--list`.
fr: Ne répertorier que les étiquettes qui contiennent le commit spécifié (HEAD si non spécifié). Implique `--list`.

note: type: Plain text
en: Only list tags whose commits are reachable from the specified commit (`HEAD` if not specified).
fr: Ne lister que les étiquettes dont les commits sont accessibles à partir du commit spécifié (`HEAD` si non spécifié).

note: type: Plain text
en: Only list tags whose commits are not reachable from the specified commit (`HEAD` if not specified).
fr: Ne lister que les étiquettes dont les commits ne sont pas accessibles à partir du commit spécifié (`HEAD` si non spécifié).

note: type: Plain text
en: Only list tags of the given object (HEAD if not specified). Implies `--list`.
fr: Ne répertorier que les étiquettes de l'objet donné (HEAD si non spécifié). Implique `--list`.

note: type: Plain text
en: Use the given tag message (instead of prompting).  If multiple `-m` options are given, their values are concatenated as separate paragraphs.  Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is given.
fr: Utiliser le message d'étiquette fourni (au lieu de le demander). Si plusieurs options `-m` sont fournies, leurs valeurs sont concaténées comme paragraphes séparés. Implique `-a` si ni `-a`, ni `-s` et ni `-u <idclé>` n'est fourni.

note: type: Plain text
en: Take the tag message from the given file.  Use '-' to read the message from the standard input.  Implies `-a` if none of `-a`, `-s`, or `-u <keyid>` is given.
fr: Prendre le message d'étiquette fourni dans le fichier indiqué. Utiliser '-' pour lire le message depuis l'entrée standard. Implique `-a` si ni `-a`, ni `-s` et ni `-u <idclé>` n'est fourni.

note: type: Plain text
en: The message taken from file with `-F` and command line with `-m` are usually used as the tag message unmodified.  This option lets you further edit the message taken from these sources.
fr: Le message tiré d'un fichier avec `-F`, ou de la ligne de commande avec `-m` est généralement utilisé sans modification. Cette option permet d'éditer au passage le message tiré de ces sources.

note: type: Plain text
en: This option sets how the tag message is cleaned up.  The '<mode>' can be one of 'verbatim', 'whitespace' and 'strip'.  The 'strip' mode is default. The 'verbatim' mode does not change message at all, 'whitespace' removes just leading/trailing whitespace lines and 'strip' removes both whitespace and commentary.
fr: Cette option définit la manière dont le message de l'étiquette est nettoyé.  Le '<mode>' peut être un 'verbatim', 'whitespace' ou 'strip'.  Le mode 'strip' est le mode par défaut. Le mode 'verbatim' ne modifie pas du tout le message, 'whitespace' supprime uniquement les lignes vides de début et de fin et 'strip' supprime à la fois les espaces et les commentaires.

note: type: Plain text
en: Create a reflog for the tag. To globally enable reflogs for tags, see `core.logAllRefUpdates` in linkgit:git-config[1].  The negated form `--no-create-reflog` only overrides an earlier `--create-reflog`, but currently does not negate the setting of `core.logAllRefUpdates`.
fr: Créer un reflog pour l'étiquette. Pour activer globalement les reflogs pour les étiquettes, voir `core.logAllRefUpdates` dans linkgit:git-config[1].  La forme inversée `--no-create-reflog` ne fait que remplacer une précédente `--create-reflog`, mais n'annule pas actuellement le paramètre de `core.logAllRefUpdates`.

note: type: Plain text
en: A string that interpolates `%(fieldname)` from a tag ref being shown and the object it points at.  The format is the same as that of linkgit:git-for-each-ref[1].  When unspecified, defaults to `%(refname:strip=2)`.
fr: Une chaîne qui interpole `%(fieldname)` à partir d'une référence d'étiquette affichée et de l'objet qu'il pointe.  Le format est le même que celui de linkgit:git-for-each-ref[1].  Lorsqu'elle n'est pas spécifiée, la valeur par défaut est `%(refname:strip=2)`.

note: type: Labeled list
en: <tagname>
fr: <nom-d-étiquette>

note: type: Plain text
en: The name of the tag to create, delete, or describe.  The new tag name must pass all checks defined by linkgit:git-check-ref-format[1].  Some of these checks may restrict the characters allowed in a tag name.
fr: Le nom de l'étiquette à créer, supprimer ou décrire.  Le nouveau nom de l'étiquette doit passer tous les contrôles définis par linkgit:git-check-ref-format[1].  Certains de ces contrôles peuvent restreindre les caractères autorisés dans un nom d'étiquette.

note: type: Plain text
en: The object that the new tag will refer to, usually a commit.  Defaults to HEAD.
fr: L'objet auquel la nouvelle étiquette fera référence, généralement un commit.  La valeur par défaut est HEAD.

note: type: Plain text
en: By default, 'git tag' in sign-with-default mode (-s) will use your committer identity (of the form `Your Name <your@email.address>`) to find a key.  If you want to use a different default key, you can specify it in the repository configuration as follows:
fr: Par défaut, 'git tag' en mode signer-par-défaut (-s) utilisera votre identité de validateur (de la forme `Votre Nom <votre@adresse.email>`) pour trouver une clé.  Si vous souhaitez utiliser une clé par défaut différente, vous pouvez la spécifier dans la configuration du dépôt comme suit :

note: type: delimited block -
en: [user]
        signingKey = <gpg-keyid>
fr: [user]
        signingKey = <id-clé-gpg>

note: type: Plain text
en: `pager.tag` is only respected when listing tags, i.e., when `-l` is used or implied. The default is to use a pager.  See linkgit:git-config[1].
fr: `pager.tag` n'est respecté que lors de l'énumération des étiquettes, c'est-à-dire lorsque le `-l` est utilisé ou sous-entendu. La valeur par défaut est l'utilisation d'un pager.  Voir linkgit:git-config[1].

note: type: Title ~
en: On Re-tagging
fr: À propos du ré-étiquetage

note: type: Plain text
en: What should you do when you tag a wrong commit and you would want to re-tag?
fr: Que devez-vous faire lorsque vous marquez un mauvais commit et que vous souhaitez ré-étiqueter ?

note: type: Plain text
en: If you never pushed anything out, just re-tag it. Use "-f" to replace the old one. And you're done.
fr: Si vous n'avez jamais rien pousser à l'extérieur, il suffit de le re-étiqueter. Utilisez "-f" pour remplacer l'ancienne étiquette. Et c'est fini.

note: type: Plain text
en: But if you have pushed things out (or others could just read your repository directly), then others will have already seen the old tag. In that case you can do one of two things:
fr: Mais si vous avez poussé des choses (ou si d'autres ont pu lire directement votre dépôt), alors d'autres auront déjà vu l'ancienne étiquette. Dans ce cas, vous pouvez faire l'une des deux choses suivantes :

note: type: Plain text
en: The sane thing.  Just admit you screwed up, and use a different name. Others have already seen one tag-name, and if you keep the same name, you may be in the situation that two people both have "version X", but they actually have 'different' "X"'s.  So just call it "X.1" and be done with it.
fr: Le bon comportement.  Admettez juste que vous avez foiré, et utilisez un autre nom. D'autres ont déjà vu un nom d'étiquette, et si vous gardez le même nom, vous pouvez vous retrouver dans la situation où deux personnes ont toutes deux une "version X", mais en fait elles ont des "X" différents.  Il suffit donc de baptiser le bon commit "X.1" et cela règle l'affaire.

note: type: Plain text
en: The insane thing.  You really want to call the new version "X" too, 'even though' others have already seen the old one. So just use 'git tag -f' again, as if you hadn't already published the old one.
fr: Le comportement débile.  Vous voulez vraiment appeler la nouvelle version "X" aussi, "même si" d'autres ont déjà vu l'ancienne. Alors utilisez à nouveau l'étiquette "git tag -f", comme si vous n'aviez pas déjà publié l'ancienne version.

note: type: Plain text
en: However, Git does *not* (and it should not) change tags behind users back. So if somebody already got the old tag, doing a 'git pull' on your tree shouldn't just make them overwrite the old one.
fr: Cependant, Git ne change *pas* (et ne devrait pas changer) les étiquettes dans le dos les utilisateurs. Ainsi, si quelqu'un a déjà l'ancienne étiquette, le fait de faire un 'git pull' sur votre arbre ne devrait simplement pas l'obliger à écraser l'ancienne.

note: type: Plain text
en: If somebody got a release tag from you, you cannot just change the tag for them by updating your own one. This is a big security issue, in that people MUST be able to trust their tag-names.  If you really want to do the insane thing, you need to just fess up to it, and tell people that you messed up. You can do that by making a very public announcement saying:
fr: Si quelqu'un a reçu de vous une étiquette de publication, vous ne pouvez simplement pas la changer chez lui en mettant à jour votre propre étiquette. Il s'agit d'un problème de sécurité important, car les gens DOIVENT pouvoir faire confiance en leur nom d'étiquette.  Si vous voulez vraiment faire une folie, vous devez simplement le reconnaître et dire aux gens que vous avez fait une erreur. Vous pouvez le faire en faisant une annonce très publique disant :

note: type: delimited block -
en: Ok, I messed up, and I pushed out an earlier version tagged as X. I
    then fixed something, and retagged the *fixed* tree as X again.
fr: Ok, je me suis trompé, et j'ai sorti une version antérieure étiquetée X. J'ai
    depuis corrigé quelque chose, et j'ai à nouveau marqué l'arbre *corrigé* comme X.

note: type: delimited block -
en: If you got the wrong tag, and want the new one, please delete
    the old one and fetch the new one by doing:
fr: Si vous vous êtes trompé d'étiquette et que vous voulez la nouvelle, veuillez supprimer
    l'ancienne et aller chercher la nouvelle en faisant :

note: type: delimited block -
en: to get my updated tag.
fr: pour obtenir mon étiquette mise à jour.

note: type: delimited block -
en: You can test which tag you have by doing
fr: Vous pouvez vérifier quelle étiquette vous avez en faisant

note: type: delimited block -
en: which should return 0123456789abcdef.. if you have the new version.
fr: qui devrait renvoyer 0123456789abcdef... si vous avez la nouvelle version.

note: type: delimited block -
en: Sorry for the inconvenience.
fr: Désolé pour le désagrément.

note: type: Plain text
en: Does this seem a bit complicated? It *should* be. There is no way that it would be correct to just "fix" it automatically.  People need to know that their tags might have been changed.
fr: Cela vous semble-t-il un peu compliqué ? Ça *devrait* l'être. Il n'y a aucun moyen qui soit correct pour simplement "réparer" cela automatiquement.  Les gens doivent savoir que leurs étiquettes ont peut-être été modifiées.

note: type: Title ~
en: On Automatic following
fr: Sur le suivi automatique

note: type: Plain text
en: If you are following somebody else's tree, you are most likely using remote-tracking branches (eg. `refs/remotes/origin/master`).  You usually want the tags from the other end.
fr: Si vous suivez l'arbre de quelqu'un d'autre, vous utilisez très probablement des branches de suivi à distance (par exemple, `refs/remotes/origin/master`).  Vous voulez généralement les étiquettes de l'autre dépôt.

note: type: Plain text
en: On the other hand, if you are fetching because you would want a one-shot merge from somebody else, you typically do not want to get tags from there.  This happens more often for people near the toplevel but not limited to them.  Mere mortals when pulling from each other do not necessarily want to automatically get private anchor point tags from the other person.
fr: D'autre part, si vous récupérez parce que vous voudriez une seule fois une fusion de quelqu'un d'autre, vous ne voulez généralement pas obtenir d'étiquettes à partir de là.  Cela se produit plus souvent pour les personnes proches du niveau supérieur, mais pas seulement pour elles.  Les simples mortels qui se tirent les uns des autres ne veulent pas nécessairement obtenir automatiquement des étiquettes de point d'ancrage privés de l'autre personne.

note: type: Plain text
en: Often, "please pull" messages on the mailing list just provide two pieces of information: a repo URL and a branch name; this is designed to be easily cut&pasted at the end of a 'git fetch' command line:
fr: Souvent, les messages "veuillez tirer" sur la liste de diffusion ne fournissent que deux informations : une URL de dépôt et un nom de branche ; ils sont conçus pour être facilement coupés-collés à la fin d'une ligne de commande "git fetch" :

note: type: delimited block -
en: Linus, please pull from
fr: Linus, veuillez tirer de

note: type: delimited block -
en: to get the following updates...
fr: pour récupérer les mises à jour suivantes…

note: type: Plain text
en: becomes:
fr: devient :

note: type: Plain text
en: In such a case, you do not want to automatically follow the other person's tags.
fr: Dans un tel cas, vous ne voulez pas suivre automatiquement les étiquettes de l'autre personne.

note: type: Plain text
en: One important aspect of Git is its distributed nature, which largely means there is no inherent "upstream" or "downstream" in the system.  On the face of it, the above example might seem to indicate that the tag namespace is owned by the upper echelon of people and that tags only flow downwards, but that is not the case.  It only shows that the usage pattern determines who are interested in whose tags.
fr: Un aspect important de Git est sa nature distribuée, ce qui signifie en grande partie qu'il n'y a pas de manière inhérente d'"amont" ou d'"aval" dans le système.  À première vue, l'exemple ci-dessus pourrait sembler indiquer que l'espace de noms des étiquettes appartient à l'échelon supérieur des personnes et que les étiquettes ne circulent que vers le bas, mais ce n'est pas le cas.  Il montre seulement que le schéma d'utilisation détermine qui s'intéresse à quelles étiquettes.

note: type: Plain text
en: A one-shot pull is a sign that a commit history is now crossing the boundary between one circle of people (e.g. "people who are primarily interested in the networking part of the kernel") who may have their own set of tags (e.g. "this is the third release candidate from the networking group to be proposed for general consumption with 2.6.21 release") to another circle of people (e.g. "people who integrate various subsystem improvements").  The latter are usually not interested in the detailed tags used internally in the former group (that is what "internal" means).  That is why it is desirable not to follow tags automatically in this case.
fr: Un tirage pour une fois est le signe qu'un historique de commit franchit maintenant la frontière entre un cercle de personnes (par exemple « les personnes qui sont principalement intéressées par la partie réseau du noyau ») qui peuvent avoir leur propre ensemble d'étiquettes (par exemple "c'est la troisième version candidate du groupe réseau à être proposée pour la consommation générale avec la version 2.6.21") et un autre cercle de personnes (par exemple "les personnes qui intègrent diverses améliorations du sous-système").  Ces derniers ne sont généralement pas intéressés par les étiquettes détaillées utilisées en interne dans le premier groupe (c'est ce que signifie "interne").  C'est pourquoi il est souhaitable de ne pas suivre automatiquement les étiquettes dans ce cas.

note: type: Plain text
en: It may well be that among networking people, they may want to exchange the tags internal to their group, but in that workflow they are most likely tracking each other's progress by having remote-tracking branches.  Again, the heuristic to automatically follow such tags is a good thing.
fr: Il se peut très bien que les personnes travaillant sur le réseau veuillent échanger les étiquettes internes à leur groupe, mais dans ce flux de travail, elles suivent très probablement les progrès des autres en ayant des branches de suivi à distance.  Là encore, l'heuristique consistant à suivre automatiquement ces étiquettes est une bonne chose.

note: type: Title ~
en: On Backdating Tags
fr: Sur l'antidatage d'étiquettes

note: type: Plain text
en: If you have imported some changes from another VCS and would like to add tags for major releases of your work, it is useful to be able to specify the date to embed inside of the tag object; such data in the tag object affects, for example, the ordering of tags in the gitweb interface.
fr: Si vous avez importé des modifications d'un autre VCS et que vous souhaitez ajouter des étiquettes pour les versions majeures de votre travail, il est utile de pouvoir spécifier la date à intégrer dans l'objet étiquette ; ces données dans l'objet étiquette affectent, par exemple, l'ordre des étiquettes dans l'interface gitweb.

note: type: Plain text
en: To set the date used in future tag objects, set the environment variable GIT_COMMITTER_DATE (see the later discussion of possible values; the most common form is "YYYY-MM-DD HH:MM").
fr: Pour définir la date utilisée dans les futurs objets étiquette, définissez la variable d'environnement GIT_COMMITTER_DATE (voir la discussion ultérieure des valeurs possibles ; la forme la plus courante est "YYYY-MM-DD HH:MM").

note: type: Plain text
en: git - the stupid content tracker
fr: git - le traqueur de contenu stupide

note: type: Plain text
en: 'git' [--version] [--help] [-C <path>] [-c <name>=<value>]
        [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
        [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
        [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
        [--super-prefix=<path>] [--config-env=<name>=<envvar>]
        <command> [<args>]
fr: 'git' [--version] [--help] [-C <chemin>] [-c <nom>=<valeur>]
        [--exec-path[=<chemin>]] [--html-path] [--man-path] [--info-path]
        [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
        [--git-dir=<chemin>] [--work-tree=<chemin>] [--namespace=<nom>]
        [--super-prefix=<path>] [--config-env =<nom>=<var-env>]
        <commande> [<args>]

note: type: Plain text
en: Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.
fr: Git est un système de gestion de révision rapide, extensible et distribué avec un ensemble de commandes inhabituellement riche qui fournit à la fois des opérations de haut niveau et un accès complet aux structures de bas niveau.

note: type: Plain text
en: See linkgit:gittutorial[7] to get started, then see linkgit:giteveryday[7] for a useful minimum set of commands.  The link:user-manual.html[Git User's Manual] has a more in-depth introduction.
fr: Voir linkgit:gittutorial[7] pour démarrer, puis voir linkgit:giteveryday[7] pour un ensemble minimal utile de commandes. Le link:user-manual.html[manuel utilisateur de Git] contient une introduction plus approfondie.

note: type: Plain text
en: After you mastered the basic concepts, you can come back to this page to learn what commands Git offers.  You can learn more about individual Git commands with "git help command".  linkgit:gitcli[7] manual page gives you an overview of the command-line command syntax.
fr: Aprs avoir maîtrisé les concepts de base, vous pouvez revenir à cette page pour apprendre les commandes que Git offre. Vous pouvez en apprendre plus sur chaque commande Git avec « git help command ». La page de manuel de linkgit:gitcli[7]  fournit un aperçu de la syntaxe de commande de la ligne de commande.

note: type: Plain text
en: A formatted and hyperlinked copy of the latest Git documentation can be viewed at https://git.github.io/htmldocs/git.html or https://git-scm.com/docs.
fr: Une copie formatée et hyperliée de la dernière documentation de Git peut être visualisée à https://git.github.io/htmldocs/git.html ou à https://git-scm.com/docs.

note: type: Plain text
en: Prints the Git suite version that the 'git' program came from.
fr: Afficher la version de la suite Git de laquelle le programme 'git' provient.

note: type: Plain text
en: Prints the synopsis and a list of the most commonly used commands. If the option `--all` or `-a` is given then all available commands are printed. If a Git command is named this option will bring up the manual page for that command.
fr: Afficher le synopsis et les liste des commandes les plus utilisées. Si l'option `--all` ou `-a` est fournie alors toutes les commandes disponibles sont affichées. si une commande Git est fournie, cette option affiche la page de manuel pour cette commande.

note: type: Plain text
en: Other options are available to control how the manual page is displayed. See linkgit:git-help[1] for more information, because `git --help ...` is converted internally into `git help ...`.
fr: Les autres options sont disponibles pour contrôler comment la page de manuel est affichée. Voir linkgit:git-help[1] pour plus d'information, parce que `git --help ...` est convertie en interne en `git help ...`.

note: type: Labeled list
en: -C <path>
fr: -C <chemin>

note: type: Plain text
en: Run as if git was started in '<path>' instead of the current working directory.  When multiple `-C` options are given, each subsequent non-absolute `-C <path>` is interpreted relative to the preceding `-C <path>`.  If '<path>' is present but empty, e.g. `-C ""`, then the current working directory is left unchanged.
fr: Démarrer comme si git était lancé depuis '<chemin>' au lieu du répertoire de travail actuel. Quand plusieurs options `-C` sont fournies, chaque `-C <chemin>` non-absolu supplémentaire est interprété relativement au `-C <chemin>` précédent. Si '<chemin>' est présent mais vide, c-à-d `-C ""`, alors le répertoire de travail courant est laissé inchangé.

note: type: Plain text
en: This option affects options that expect path name like `--git-dir` and `--work-tree` in that their interpretations of the path names would be made relative to the working directory caused by the `-C` option. For example the following invocations are equivalent:
fr: Cette option affecte les options qui attendent de chemins comme `--git-dir` et `--work-tree` en ce que leurs interprétations des noms de chemins seront relatives au répertoire de travail défini par l'option `-C`. Par exemple, les invocations suivantes sont équivalentes :

note: type: Labeled list
en: -c <name>=<value>
fr: -c <nom>=<valeur>

note: type: Plain text
en: Pass a configuration parameter to the command. The value given will override values from configuration files.  The <name> is expected in the same format as listed by 'git config' (subkeys separated by dots).
fr: Passer un paramètre de configuration à la commande. La valeur fournie surchargera la valeur des fichiers des configuration. Le <nom> a le même format que listé par `git config' (sous-clés séparées par des points).

note: type: Plain text
en: Note that omitting the `=` in `git -c foo.bar ...` is allowed and sets `foo.bar` to the boolean true value (just like `[foo]bar` would in a config file). Including the equals but with an empty value (like `git -c foo.bar= ...`) sets `foo.bar` to the empty string which `git config --type=bool` will convert to `false`.
fr: Notez qu'omettre le `=` dans `git -c foo.bar ...` est permis et positionne `foo.bar` à la valeur booléenne true (de la même manière que le ferait `[foo]bar` dans un fichier de configuration). Si le `=` est inclus mais avec une valeur vide (comme `git -c foo.bar= ...`), cela positionne `foo.bar` à la chaîne vide que `git config --type=bool` convertira en `false`.

note: type: Labeled list
en: --config-env=<name>=<envvar>
fr: --config-env=<nom>=<var-env>

note: type: Labeled list
en: --exec-path[=<path>]
fr: --exec-path[=<chemin>]

note: type: Plain text
en: Path to wherever your core Git programs are installed.  This can also be controlled by setting the GIT_EXEC_PATH environment variable. If no path is given, 'git' will print the current setting and then exit.
fr: Chemin dans lequel les programmes de base de Git sont installés. Cela peut aussie être géré en positionnant la variable d'environnement GIT_EXEC_PATH. Si aucun chemin n'est spécifié, 'git' affichera la valeur actuelle, puis sortira.

note: type: Plain text
en: Print the path, without trailing slash, where Git's HTML documentation is installed and exit.
fr: Afficher le chemin, sans la barre finale, où la documentation HTML de Git est installé et sortir.

note: type: Plain text
en: Print the manpath (see `man(1)`) for the man pages for this version of Git and exit.
fr: Afficher le chemin manpath (voir `man(1)`) pour les pages de manuel de cette version de Git et sortir.

note: type: Plain text
en: Print the path where the Info files documenting this version of Git are installed and exit.
fr: Afficher le chemin où sont installés les fichiers Info documentant cette version de Git et sortir.

note: type: Plain text
en: Pipe all output into 'less' (or if set, $PAGER) if standard output is a terminal.  This overrides the `pager.<cmd>` configuration options (see the "Configuration Mechanism" section below).
fr: Redirige toutes les sorties dans 'less' (ou $PAGER, si positionné) si la sortie standard est un terminal. Cela surcharge les options de configuration `pager.<cmd>` (voir la section « Mécanisme de configuration » ci-dessous).

note: type: Plain text
en: Do not pipe Git output into a pager.
fr: Ne pas rediriger la sortie de Git dans un pageur.

note: type: Labeled list
en: --git-dir=<path>
fr: --git-dir=<chemin>

note: type: Plain text
en: Set the path to the repository (".git" directory). This can also be controlled by setting the `GIT_DIR` environment variable. It can be an absolute path or relative path to current working directory.
fr: Règle le chemin vers le dépôt (répertoire ".git"). Ceci peut aussi être contrôlé en réglant la variable d'environnement `GIT_DIR`. Ce peut être un chemin absolu ou relatif au répertoire de travail actuel.

note: type: Labeled list
en: --work-tree=<path>
fr: --work-tree=<chemin>

note: type: Plain text
en: Set the path to the working tree. It can be an absolute path or a path relative to the current working directory.  This can also be controlled by setting the GIT_WORK_TREE environment variable and the core.worktree configuration variable (see core.worktree in linkgit:git-config[1] for a more detailed discussion).
fr: Régler le chemin du répertoire de travail. Ce peut être un chemin absolu ou un chemin relatif au répertoire de travail actuel. Ceci peut aussi être contrôlé en réglant la variable d'environnement GIT_WORK_TREE et la variable de configuration core.worktree (voir core.worktree dans linkgit:git-config[1] pour une discussion plus détaillée).

note: type: Labeled list
en: --namespace=<path>
fr: --namespace=<chemin>

note: type: Plain text
en: Set the Git namespace.  See linkgit:gitnamespaces[7] for more details.  Equivalent to setting the `GIT_NAMESPACE` environment variable.
fr: Régler l'espace de nommage Git. Voir linkgit:gitnamespaces[7] pour plus de détails. Équivalent à régler la variable d'environnement `GIT_NAMESPACE`.

note: type: Labeled list
en: --super-prefix=<path>
fr: --super-prefix=<chemin>

note: type: Plain text
en: Currently for internal use only.  Set a prefix which gives a path from above a repository down to its root.  One use is to give submodules context about the superproject that invoked it.
fr: Actuellement pour un usage interne seulement. Régler un préfixe qui fournit un chemin depuis un dépôt jusqu'à sa racine. Une utilisation est de fournir aux sous-modules du contexte à propos du super-projet qui l'a invoqué.

note: type: Plain text
en: Treat the repository as a bare repository.  If GIT_DIR environment is not set, it is set to the current working directory.
fr: Traiter le dépôt comme un dépôt nu. Si l'environnement `GIT_DIR` n'est pas défini, alors il est défini au répertoire de travail actuel.

note: type: Plain text
en: Do not use replacement refs to replace Git objects. See linkgit:git-replace[1] for more information.
fr: Ne pas utiliser des refs de remplacement pour remplacer des objets Git. Voir linkgit:git-replace[1] pour de plus amples informations.

note: type: Plain text
en: Treat pathspecs literally (i.e. no globbing, no pathspec magic).  This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment variable to `1`.
fr: Traier les spécificateurs de chemins littéralement (c-à-d sans jokers ni magie de pathspec). Ceci est équivalent à régler la variable d'environnement `GIT_LITERAL_PATHSPECS` à `1`.

note: type: Plain text
en: Add "glob" magic to all pathspec. This is equivalent to setting the `GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling globbing on individual pathspecs can be done using pathspec magic ":(literal)"
fr: Ajouter la magie « glob » à tous les spécificateurs de chemin. C'est équivalent à régler la variable d'environnement `GIT_GLOB_PATHSEPCS` à `1`. La désactivation du traitement glob sur des spécificateurs de chemin spécifiques peut être réalisée en utilisant le préfixe magique ":(litera)"

note: type: Plain text
en: Add "literal" magic to all pathspec. This is equivalent to setting the `GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling globbing on individual pathspecs can be done using pathspec magic ":(glob)"
fr: Ajouter la magie « literal » à tous les spécificateurs de chemin. C'est équivalent à régler la variable d'environnement `GIT_NOGLOB_PATHSPECS` à `1`. L'activation du traitement glob sur des spécificateurs de chemin spécifiques peut être réalisée en utilisant le préfixe magique ":(glob)"

note: type: Plain text
en: Add "icase" magic to all pathspec. This is equivalent to setting the `GIT_ICASE_PATHSPECS` environment variable to `1`.
fr: Ajouter la magie « icase » à tous les spécificateurs de chemin. C'est équivalent à régler la variable d'environnement `GIT_ICASE_PATHSPECS` à `1`.

note: type: Title ~
en: Main porcelain commands
fr: Commandes Porcelaine Principales

note: type: Title ~
en: Interacting with Others
fr: Interaction avec d'autres développeurs

note: type: Title -
en: Configuration Mechanism
fr: Mécanisme de configuration

note: type: Labeled list
en: <commit-ish>
fr: <commit-esque>

note: type: Plain text
en: If the object storage directory is specified via this environment variable then the sha1 directories are created underneath - otherwise the default `$GIT_DIR/objects` directory is used.
fr: Si le répertoire de stockage d'objets est spécifié via cette variable d'environnement, alors les répertoires sha1 sont créés dedans - sinon le répertoire par défaut `$GIT_DIR/objects` est utilisé.

note: type: Title ~
en: Git Commits
fr: Commits Git

note: type: Title ~
en: Git Diffs
fr: Diffs Git

note: type: Plain text
en: git-update-index - Register file contents in the working tree to the index
fr: git-update-index - Enregistre le contenu de fichiers de l'arbre de travail à l'index

note: type: Plain text
en: Read index information from stdin.
fr: Lire l'information d'index depuis stdin.

note: type: Plain text
en: Remove the file from the index even when the working directory still has such a file. (Implies --remove.)
fr: Supprime le fichier de l'index même quand le répertoire de travail contient encore ce fichier. (Implique --remove.)

note: type: Plain text
en: The untracked cache extension can be enabled by the `core.untrackedCache` configuration variable (see linkgit:git-config[1]).
fr: L'extension de cache des non-suivis peut être activée par la variable de configuration `core.untrackedCache` (voir linkgit:git-config[1]).

note: type: Title -
en: LOGGING UPDATES
fr: MISES À JOUR DU JOURNAL

note: type: Title -
en: SECURITY
fr: SÉCURITÉ

note: type: Plain text
en: Do not try <directory>/.git/ if <directory> is no Git directory.
fr: Ne pas essayer <répertoire>/.git/ si <répertoire> n'est pas un répertoire Git.

note: type: Plain text
en: Interrupt transfer after <n> seconds of inactivity.
fr: Interrompre le transfert après <n> secondes d'inactivité.

note: type: Plain text
en: Prints a Git logical variable.
fr: Afficher un variable logique de Git.

note: type: Plain text
en: 'git verify-pack' [-v|--verbose] [-s|--stat-only] [--] <pack>.idx ...
fr: 'git verify-pack' [-v | --verbose] [-s | --stat-only] <paquet>.idx...

note: type: Title -
en: OUTPUT FORMAT
fr: FORMAT DE SORTIE

note: type: Plain text
en: git-worktree - Manage multiple working trees
fr: git-worktree - Gérer plusieurs arbres de travail

note: type: Plain text
en: 'git worktree add' [-f] [--detach] [--checkout] [--lock [--reason <string>]] [-b <new-branch>] <path> [<commit-ish>]
    'git worktree list' [--porcelain]
    'git worktree lock' [--reason <string>] <worktree>
    'git worktree move' <worktree> <new-path>
    'git worktree prune' [-n] [-v] [--expire <expire>]
    'git worktree remove' [-f] <worktree>
    'git worktree repair' [<path>...]
    'git worktree unlock' <worktree>
fr: 'git worktree add' [-f] [--detach] [--checkout] [--lock [--reason <chaîne>]] [-b <nouvelle-branche>] <chemin> [<commit-esque>]
    'git worktree list' [--porcelain]
    'git worktree lock' [--reason <chaîne>] <arbre-de-travail>
    'git worktree move' <arbre-de-travail> <nouveau-chemin>
    'git worktree prune' [-n] [-v] [--expire <expire>]
    'git worktree remove' [-f] <arbre-de-travail>
    'git worktree repair' [<path>...]
    'git worktree unlock' <arbre-de-travail>

note: type: Plain text
en: Manage multiple working trees attached to the same repository.
fr: Gère plusieurs arbres de travail rattachés au même dépôt.

note: type: Plain text
en: A git repository can support multiple working trees, allowing you to check out more than one branch at a time.  With `git worktree add` a new working tree is associated with the repository.  This new working tree is called a "linked working tree" as opposed to the "main working tree" prepared by linkgit:git-init[1] or linkgit:git-clone[1].  A repository has one main working tree (if it's not a bare repository) and zero or more linked working trees. When you are done with a linked working tree, remove it with `git worktree remove`.
fr: Un dépôt git peut prendre en charge plusieurs arbres de travail, ce qui vous permet de consulter plus d'une branche à la fois.  Avec `git worktree add`, un nouvel arbre de travail est associé au dépôt.  Ce nouvel arbre de travail est appelé "arbre de travail lié" par opposition à l'"arbre de travail principal" préparé par linkgit:git-init[1] ou linkgit:git-clone[1].  Un dépôt a un arbre de travail principal (s'il ne s'agit pas d'un dépôt nu) et zéro ou plusieurs arbres de travail liés. Lorsque vous avez terminé avec un arbre de travail lié, supprimez-le avec `git worktree remove`.

note: type: Plain text
en: In its simplest form, `git worktree add <path>` automatically creates a new branch whose name is the final component of `<path>`, which is convenient if you plan to work on a new topic. For instance, `git worktree add ../hotfix` creates new branch `hotfix` and checks it out at path `../hotfix`. To instead work on an existing branch in a new working tree, use `git worktree add <path> <branch>`. On the other hand, if you just plan to make some experimental changes or do testing without disturbing existing development, it is often convenient to create a 'throwaway' working tree not associated with any branch. For instance, `git worktree add -d <path>` creates a new working tree with a detached `HEAD` at the same commit as the current branch.
fr: Dans sa forme la plus simple, `git worktree add <chemin>` crée automatiquement une nouvelle branche dont le nom est le composant final de `<chemin>`, ce qui est pratique si vous prévoyez de travailler sur un nouveau sujet. Par exemple, `git worktree add ../hotfix` crée une nouvelle branche `hotfix` et l'extrait dans le chemin `../hotfix`. Pour travailler sur une branche existante dans un nouvel arbre de travail, utilisez `git worktree add <chemin> <branche>`. D'autre part, si vous prévoyez juste de faire quelques modifications expérimentales ou de faire des tests sans perturber le développement existant, il est souvent pratique de créer un arbre de travail « jetable » qui n'est associé à aucune branche. Par exemple, `git worktree add -d <chemin>` crée un nouvel arbre de travail avec une `HEAD` détachée au même commit que la branche courante.

note: type: Plain text
en: If a working tree is deleted without using `git worktree remove`, then its associated administrative files, which reside in the repository (see "DETAILS" below), will eventually be removed automatically (see `gc.worktreePruneExpire` in linkgit:git-config[1]), or you can run `git worktree prune` in the main or any linked working tree to clean up any stale administrative files.
fr: Si un arbre de travail est supprimé sans utiliser `git worktree remove`, alors les fichiers administratifs associés, qui résident dans le dépôt (voir "DÉTAILS" ci-dessous), seront éventuellement supprimés automatiquement (voir `gc.worktreePruneExpire` dans linkgit:git-config[1]), ou vous pouvez exécuter `git worktree prune` dans l'arbre de travail principal ou dans tout autre arbre de travail lié pour nettoyer les fichiers administratifs périmés.

note: type: Plain text
en: If a linked working tree is stored on a portable device or network share which is not always mounted, you can prevent its administrative files from being pruned by issuing the `git worktree lock` command, optionally specifying `--reason` to explain why the working tree is locked.
fr: Si un arbre de travail lié est stocké sur un support mobile ou un partage réseau qui n'est pas toujours monté, vous pouvez empêcher l'élagage de ses fichiers administratifs en lançant la commande `git worktree lock`, en spécifiant éventuellement `--reason` pour expliquer pourquoi l'arbre de travail est verrouillé.

note: type: Labeled list
en: add <path> [<commit-ish>]
fr: ajouter <chemin> [<commit-esque>]

note: type: Plain text
en: Create `<path>` and checkout `<commit-ish>` into it. The new working directory is linked to the current repository, sharing everything except working directory specific files such as `HEAD`, `index`, etc. As a convenience, `<commit-ish>` may be a bare "`-`", which is synonymous with `@{-1}`.
fr: Créer `<chemin>` et valider `<commit-esque>` dans celui-ci. Le nouveau répertoire de travail est lié au dépôt actuel, partageant tout sauf les fichiers spécifiques au répertoire de travail tels que `HEAD`, `index`, etc. Pour plus de commodité, `<commit-esque>` peut être un simple "`-`", qui est synonyme de `@{-1}`.

note: type: Plain text
en: If `<commit-ish>` is a branch name (call it `<branch>`) and is not found, and neither `-b` nor `-B` nor `--detach` are used, but there does exist a tracking branch in exactly one remote (call it `<remote>`)  with a matching name, treat as equivalent to:
fr: Si le `<commit-esque>` est un nom de branche (appelons-le '<branche>') et n'est pas trouvé, et ni '-b' ni '-B' ni '--detach' ne sont utilisés, mais qu'il existe une branche de suivi dans exactement un dépôt distant (appelons-le '<distant>') avec un nom correspondant, le traiter comme équivalent à :

note: type: delimited block -
en: $ git worktree add --track -b <branch> <path> <remote>/<branch>
fr: $ git worktree add --track -b <branche> <chemin> <distant>/<branche>

note: type: Plain text
en: If the branch exists in multiple remotes and one of them is named by the `checkout.defaultRemote` configuration variable, we'll use that one for the purposes of disambiguation, even if the `<branch>` isn't unique across all remotes. Set it to e.g. `checkout.defaultRemote=origin` to always checkout remote branches from there if `<branch>` is ambiguous but exists on the `origin` remote. See also `checkout.defaultRemote` in linkgit:git-config[1].
fr: Si la branche existe dans plus d'un distant et que l'un d'entre eux est la valeur de la variable de configuration `checkout.defaultRemote`, celui-ci sera utilisé pour désambiguïser, même si la <branche> n'est pas unique parmi tous les distants. Réglez la variable `checkout.defaultRemote=origin` par exemple pour extraire toujours les branches distantes depuis celle-ci si <branche> est ambigüe mais existe sur le distant `origin`. Voir aussi `checkout.defaultRemote` dans linkgit:git-config[1].

note: type: Plain text
en: If `<commit-ish>` is omitted and neither `-b` nor `-B` nor `--detach` used, then, as a convenience, the new working tree is associated with a branch (call it `<branch>`) named after `$(basename <path>)`.  If `<branch>` doesn't exist, a new branch based on `HEAD` is automatically created as if `-b <branch>` was given.  If `<branch>` does exist, it will be checked out in the new working tree, if it's not checked out anywhere else, otherwise the command will refuse to create the working tree (unless `--force` is used).
fr: Si `<commit-esque>` est omis et que ni `-b` ni `-B` ni `--detach` ne sont utilisés, alors, par commodité, le nouvel arbre de travail est associé à une branche (appelez-la `<branche>`) nommée d'après `$(basename <chemin>)`.  Si `<branche>` n'existe pas, une nouvelle branche basée sur `HEAD` est automatiquement créée comme si `-b <branche>` était donné.  Si `<branche>` existe, elle sera extraite dans le nouvel arbre de travail, si elle n'est pas extraite ailleurs, sinon la commande refusera de créer l'arbre de travail (à moins que `--force` soit utilisé).

note: type: Plain text
en: List details of each working tree.  The main working tree is listed first, followed by each of the linked working trees.  The output details include whether the working tree is bare, the revision currently checked out, the branch currently checked out (or "detached HEAD" if none), "locked" if the worktree is locked, "prunable" if the worktree can be pruned by `prune` command.
fr: Lister les détails de chaque arbre de travail.  L'arbre de travail principal est listé en premier, suivi de chacun des arbres de travail liés.  Les détails de sortie comprennent si l'arbre de travail est nu, la révision actuellement extraite, la branche en cours (ou « HEAD détachée » s'il n'y en a pas), et "verrouillé" si l'arbre de travail est verrouillé, "prunable" si l'arbre de travail peut être éliminé par la commande `prune`.

note: type: Plain text
en: If a working tree is on a portable device or network share which is not always mounted, lock it to prevent its administrative files from being pruned automatically. This also prevents it from being moved or deleted. Optionally, specify a reason for the lock with `--reason`.
fr: Si un arbre de travail se trouve sur un support amovible ou un partage réseau qui n'est pas toujours monté, le verrouiller pour éviter que ses fichiers administratifs ne soient élagués automatiquement. Cela permet également d'éviter qu'il soit déplacé ou supprimé. Si vous le souhaitez, vous pouvez spécifier une raison pour le verrouillage avec "--reason".

note: type: Plain text
en: Move a working tree to a new location. Note that the main working tree or linked working trees containing submodules cannot be moved with this command. (The `git worktree repair` command, however, can reestablish the connection with linked working trees if you move the main working tree manually.)
fr: Déplacer un arbre de travail vers une nouvelle place. Notez que l'arbre de travail principal ou les arbres de travail liés contenant des sous-modules ne peuvent pas être déplacés avec cette commande. (La commande `get worktree repair`, cependant peut rétablir la connexion avec les arbres de travail liées si vous déplacez l'arbre de travail principal.)

note: type: Plain text
en: Prune working tree information in `$GIT_DIR/worktrees`.
fr: Élaguer les informations de l'arbre de travail dans `$GIT_DIR/worktrees`.

note: type: Plain text
en: Remove a working tree. Only clean working trees (no untracked files and no modification in tracked files) can be removed. Unclean working trees or ones with submodules can be removed with `--force`. The main working tree cannot be removed.
fr: Supprimer un arbre en état de marche. Seules les arbres de travail propres (pas de fichiers non suivis et pas de modification dans les fichiers suivis) peuvent être supprimés. Les arbres de travail non propres ou ceux qui comportent des sous-modules peuvent être supprimés avec `---force`. L'arbre de travail principal ne peut pas être supprimé.

note: type: Labeled list
en: repair [<path>...]
fr: reparir [<chemin>...]

note: type: Plain text
en: Repair working tree administrative files, if possible, if they have become corrupted or outdated due to external factors.
fr: Réparer les fichiers administratifs de l'arbre de travail, si possible, s'ils sont devenus corrompus ou obsolètes en raison de facteurs externes.

note: type: Plain text
en: For instance, if the main working tree (or bare repository) is moved, linked working trees will be unable to locate it. Running `repair` in the main working tree will reestablish the connection from linked working trees back to the main working tree.
fr: Par exemple, si l'arbre de travail principal (ou le dépôt nu) est déplacé, les arbres de travail liés seront incapables de le localiser. L'exécution de `repair` dans l'arbre de travail principal rétablira la connexion entre les arbres de travail liés et l'arbre de travail principal.

note: type: Plain text
en: Similarly, if a linked working tree is moved without using `git worktree move`, the main working tree (or bare repository) will be unable to locate it. Running `repair` within the recently-moved working tree will reestablish the connection. If multiple linked working trees are moved, running `repair` from any working tree with each tree's new `<path>` as an argument, will reestablish the connection to all the specified paths.
fr: De même, si un arbre de travail lié est déplacé sans utiliser `git worktree move`, l'arbre de travail principal (ou le dépôt nu) ne pourra pas le localiser. L'exécution de `repair` dans l'arbre de travail récemment déplacé rétablira la connexion. Si plusieurs arbres de travail liés sont déplacés, l'exécution de `repair` à partir de n'importe quel arbre de travail avec le nouveau `<chemin>` de chaque arbre comme argument, rétablira la connexion à tous les chemins spécifiés.

note: type: Plain text
en: If both the main working tree and linked working trees have been moved manually, then running `repair` in the main working tree and specifying the new `<path>` of each linked working tree will reestablish all connections in both directions.
fr: Si l'arbre de travail principal et les arbres de travail liés ont été déplacés manuellement, alors l'exécution de `repair` dans l'arbre de travail principal et la spécification du nouveau `<chemin>` de chaque arbre de travail lié rétablira toutes les connexions dans les deux directions.

note: type: Plain text
en: Unlock a working tree, allowing it to be pruned, moved or deleted.
fr: Déverrouiller un arbre de travail, ce qui permet de l'élaguer, de le déplacer ou de le supprimer.

note: type: Plain text
en: By default, `add` refuses to create a new working tree when `<commit-ish>` is a branch name and is already checked out by another working tree, or if `<path>` is already assigned to some working tree but is missing (for instance, if `<path>` was deleted manually). This option overrides these safeguards. To add a missing but locked working tree path, specify `--force` twice.
fr: Par défaut, `add` refuse de créer un nouvel arbre de travail lorsque `<commit-esque>` est un nom de branche et est déjà extrait par un autre arbre de travail, ou si `<chemin>` est déjà assigné à un arbre de travail mais est manquant (par exemple, si `<chemin>` a été supprimé manuellement). Cette option annule ces protections. Pour ajouter un chemin d'arbre de travail manquant mais verrouillé, spécifiez `--force` deux fois.

note: type: Plain text
en: `move` refuses to move a locked working tree unless `--force` is specified twice. If the destination is already assigned to some other working tree but is missing (for instance, if `<new-path>` was deleted manually), then `--force` allows the move to proceed; use `--force` twice if the destination is locked.
fr: `move` refuse de déplacer un arbre de travail verrouillé à moins que `--force` ne soit spécifiée deux fois. Si la destination est déjà assignée à un autre arbre de travail mais est manquante (par exemple, si `<nouveau-chemin>` a été supprimé manuellement), alors `--force` permet au déplacement de continuer ; utilisez `--force` deux fois si la destination est verrouillée.

note: type: Plain text
en: `remove` refuses to remove an unclean working tree unless `--force` is used.  To remove a locked working tree, specify `--force` twice.
fr: `remove` refuse de supprimer un arbre de travail sale à moins que `--force` ne soit utilisé.  Pour supprimer un arbre de travail verrouillé, il faut spécifier deux fois `-- force`.

note: type: Labeled list
en: -b <new-branch>
fr: -b <nouvelle-branche>

note: type: Labeled list
en: -B <new-branch>
fr: -B <nouvelle-branche>

note: type: Plain text
en: With `add`, create a new branch named `<new-branch>` starting at `<commit-ish>`, and check out `<new-branch>` into the new working tree.  If `<commit-ish>` is omitted, it defaults to `HEAD`.  By default, `-b` refuses to create a new branch if it already exists. `-B` overrides this safeguard, resetting `<new-branch>` to `<commit-ish>`.
fr: Avec `add`, créer une nouvelle branche nommée `<nouvelle-branche>` commençant à `<commit-esque>`, et extraire `<nouvelle-branche>` dans le nouvel arbre de travail.  Si `<commit-esque>` est omis, la valeur par défaut est `HEAD`.  Par défaut, `-b` refuse de créer une nouvelle branche si elle existe déjà. `-B` annule cette protection, en remettant `<nouvelle-branche>` à `<commit-esque>`.

note: type: Plain text
en: With `add`, detach `HEAD` in the new working tree. See "DETACHED HEAD" in linkgit:git-checkout[1].
fr: Avec `add`, détacher `HEAD` dans le nouvel arbre de travail. Voir "HEAD DÉTACHÉE" dans linkgit:git-checkout[1].

note: type: Plain text
en: By default, `add` checks out `<commit-ish>`, however, `--no-checkout` can be used to suppress checkout in order to make customizations, such as configuring sparse-checkout. See "Sparse checkout" in linkgit:git-read-tree[1].
fr: Par défaut, `add`extrait `<commit-esque>`, cependant, `--no-checkout` peut être utilisé pour annuler l'extraction afin de permettre des personnalisations, telles que la configuration de l'extraction partielle. Voir "Extraction partielle" dans linkgit:git-read-tree[1].

note: type: Plain text
en: With `worktree add <path>`, without `<commit-ish>`, instead of creating a new branch from `HEAD`, if there exists a tracking branch in exactly one remote matching the basename of `<path>`, base the new branch on the remote-tracking branch, and mark the remote-tracking branch as "upstream" from the new branch.
fr: Avec `worktree add <chemin>`, sans `<commit-esque>`, au lieu de créer une nouvelle branche à partir de `HEAD`, s'il existe une branche de suivi d'exactement un distant correspondant au basename de `<chemin>`, baser la nouvelle branche sur la branche de suivi à distance, et marquer la branche de suivi à distance comme étant "amont" de la nouvelle branche.

note: type: Plain text
en: This can also be set up as the default behaviour by using the `worktree.guessRemote` config option.
fr: Cela peut également être configuré comme le comportement par défaut en utilisant l'option de configuration `worktree.guessRemote`.

note: type: Plain text
en: When creating a new branch, if `<commit-ish>` is a branch, mark it as "upstream" from the new branch.  This is the default if `<commit-ish>` is a remote-tracking branch.  See `--track` in linkgit:git-branch[1] for details.
fr: À la création d'une nouvelle branche, si `<commit-esque>`est une branche, la marquer comme « upstream » amont de la nouvelle branche. C'est la valeur par défaut si `<commit-esque>` est une branche de suivi à distance. Voir `--track` dans linkgit:git-branch[1] pour plus de détails.

note: type: Plain text
en: Keep the working tree locked after creation. This is the equivalent of `git worktree lock` after `git worktree add`, but without a race condition.
fr: Garder l'arbre de travail verrouillé après la création. C'est l'équivalent de `git worktree lock` après `git worktree add`, mais sans condition de compétition.

note: type: Plain text
en: With `prune`, do not remove anything; just report what it would remove.
fr: Avec `prune`, ne rien supprimer ; montrer seulement ce qui serait supprimé.

note: type: Plain text
en: With `list`, output in an easy-to-parse format for scripts.  This format will remain stable across Git versions and regardless of user configuration.  See below for details.
fr: Avec `list`, donner la sortie dans un format facile à analyser par script. Ce format restera stable à travers les versions de Git et sans tenir compte de la configuration utilisateur. Voir ci-dessous pour de plus amples détails.

note: type: Plain text
en: With `add`, suppress feedback messages.
fr: Avec `add`, supprimer les messages d'état.

note: type: Plain text
en: With `prune`, report all removals.
fr: Avec `prune`, signaler toutes les suppressions.

note: type: Plain text
en: With `list`, output additional information about worktrees (see below).
fr: Avec `list`, afficher des informations supplémentaires sur les arbres de travail (voir ci-dessous).

note: type: Plain text
en: With `prune`, only expire unused working trees older than `<time>`.
fr: Avec `prune`, n'expirer que les arbres de travail inutilisés plus vieux que `<temps>`.

note: type: Plain text
en: With `list`, annotate missing working trees as prunable if they are older than `<time>`.
fr: Avec `list`, annoter les arbres de travail manquant comme élagable s'ils sont plus vieux que `<temps>`.

note: type: Labeled list
en: --reason <string>
fr: --reason <chaîne>

note: type: Plain text
en: With `lock` or with `add --lock`, an explanation why the working tree is locked.
fr: Avec `lock` ou `add--lock`, une explication de la raison pour laquelle l'arbre de travail est verrouillé.

note: type: Labeled list
en: <worktree>
fr: <arbre-de-travail>

note: type: Plain text
en: Working trees can be identified by path, either relative or absolute.
fr: Les arbres de travail peuvent être identifiés par leur chemin, qu'il soit relatif ou absolu.

note: type: Plain text
en: If the last path components in the working tree's path is unique among working trees, it can be used to identify a working tree. For example if you only have two working trees, at `/abc/def/ghi` and `/abc/def/ggg`, then `ghi` or `def/ghi` is enough to point to the former working tree.
fr: Si le dernier élément du chemin de l'arbre de travail est unique parmi les arbres de travail, il peut être utilisé pour identifier les arbres de travail. Par exemple, si vous n'avez que deux arbres de travail, à `/abc/def/ghi` et `/abc/def/ggg`, alors `ghi` ou `def/ghi` suffit à indiquer le premier arbre de travail.

note: type: Title -
en: REFS
fr: RÉFS

note: type: Plain text
en: In multiple working trees, some refs may be shared between all working trees and some refs are local. One example is `HEAD` which is different for each working tree. This section is about the sharing rules and how to access refs of one working tree from another.
fr: Dans le cas de plusieurs arbres de travail, certaines réfs peuvent être partagées entre tous les arbres de travail et certaines réfs sont locales. Par exemple, `HEAD` est différente pour tous les arbres de travail. Cette section concerne les règles de partage et la manière d'accéder aux références d'un arbre de travail à partir d'un autre.

note: type: Plain text
en: In general, all pseudo refs are per working tree and all refs starting with `refs/` are shared. Pseudo refs are ones like `HEAD` which are directly under `$GIT_DIR` instead of inside `$GIT_DIR/refs`. There are exceptions, however: refs inside `refs/bisect` and `refs/worktree` are not shared.
fr: En général, toutes les pseudo réfs sont par arbre de travail et toutes les réfs commençant par `refs/` sont partagées. Les pseudo réfs sont celles comme `HEAD` qui sont directement sous `$GIT_DIR` au lieu d'être à l'intérieur de `$GIT_DIR/refs`. Il y a cependant des exceptions à cela : les réfs à l'intérieur de `refs/bisect` et `refs/worktree` ne sont pas partagées.

note: type: Plain text
en: Refs that are per working tree can still be accessed from another working tree via two special paths, `main-worktree` and `worktrees`. The former gives access to per-working tree refs of the main working tree, while the latter to all linked working trees.
fr: Les références par arbre de travail sont toujours accessibles à partir d'un autre arbre de travail via deux chemins spéciaux, `main-worktree` et `worktrees`. Le premier donne accès aux références par arbre de travail de l'arbre de travail principal, tandis que le second donne accès à tous les arbres de travail liés.

note: type: Plain text
en: For example, `main-worktree/HEAD` or `main-worktree/refs/bisect/good` resolve to the same value as the main working tree's `HEAD` and `refs/bisect/good` respectively. Similarly, `worktrees/foo/HEAD` or `worktrees/bar/refs/bisect/bad` are the same as `$GIT_COMMON_DIR/worktrees/foo/HEAD` and `$GIT_COMMON_DIR/worktrees/bar/refs/bisect/bad`.
fr: Par exemple, `main-worktree/HEAD` ou `main-worktree/refs/bisect/good` ont la même valeur que la `HEAD` de l'arbre de travail principal et `refs/bisect/good` respectivement. De même, `worktrees/foo/HEAD` ou `worktrees/bar/refs/bisect/bad` sont les mêmes que `$GIT_COMMON_DIR/worktrees/foo/HEAD` et `$GIT_COMMON_DIR/worktrees/bar/refs/bisect/bad`.

note: type: Plain text
en: To access refs, it's best not to look inside `$GIT_DIR` directly. Instead use commands such as linkgit:git-rev-parse[1] or linkgit:git-update-ref[1] which will handle refs correctly.
fr: Pour accéder aux réfs, il est préférable de ne pas regarder directement dans `$GIT_DIR`. Utilisez plutôt des commandes telles que linkgit:git-rev-parse[1] ou linkgit:git-update-ref[1] qui gèreront les réfs correctement.

note: type: Plain text
en: By default, the repository `config` file is shared across all working trees. If the config variables `core.bare` or `core.worktree` are already present in the config file, they will be applied to the main working trees only.
fr: Par défaut, le fichier `config` du dépôt est partagé entre tous les arbres de travail. Si les variables de configuration `core.bare` ou `core.worktree` sont déjà présentes dans le fichier de configuration, elles ne seront appliquées qu'aux arbres de travail principaux.

note: type: Plain text
en: In order to have configuration specific to working trees, you can turn on the `worktreeConfig` extension, e.g.:
fr: Afin d'avoir une configuration spécifique aux arbres de travail, vous pouvez activer l'extension `worktreeConfig`, par exemple :

note: type: Plain text
en: In this mode, specific configuration stays in the path pointed by `git rev-parse --git-path config.worktree`. You can add or update configuration in this file with `git config --worktree`. Older Git versions will refuse to access repositories with this extension.
fr: Dans ce mode, la configuration spécifique reste dans le chemin indiqué par `git rev-parse --git-path config.worktree`. Vous pouvez ajouter ou mettre à jour la configuration dans ce fichier avec `git config --worktree`. Les anciennes versions de Git refuseront l'accès aux dépôts avec cette extension.

note: type: Plain text
en: Note that in this file, the exception for `core.bare` and `core.worktree` is gone. If they exist in `$GIT_DIR/config`, you must move them to the `config.worktree` of the main working tree. You may also take this opportunity to review and move other configuration that you do not want to share to all working trees:
fr: Notez que dans ce fichier, l'exception pour `core.bare` et `core.worktree` a disparu. S'ils existent dans `$GIT_DIR/config`, vous devez les déplacer vers `config.worktree` de l'arbre de travail principal. Vous pouvez également profiter de cette occasion pour revoir et déplacer d'autres configurations que vous ne voulez pas partager dans tous les arbres de travail :

note: type: Plain text
en: `core.worktree` and `core.bare` should never be shared
fr: `core.worktree` et `core.bare` ne devraient jamais être partagés

note: type: Plain text
en: `core.sparseCheckout` is recommended per working tree, unless you are sure you always use sparse checkout for all working trees.
fr: Il est recommandé de paramétrer `core.sparseCheckout` par arbre de travail, à moins que vous ne soyez sûr de toujours utiliser des extractions partielles pour tous les arbres de travail.

note: type: Title -
en: DETAILS
fr: DÉTAILS

note: type: Plain text
en: Each linked working tree has a private sub-directory in the repository's `$GIT_DIR/worktrees` directory.  The private sub-directory's name is usually the base name of the linked working tree's path, possibly appended with a number to make it unique.  For example, when `$GIT_DIR=/path/main/.git` the command `git worktree add /path/other/test-next next` creates the linked working tree in `/path/other/test-next` and also creates a `$GIT_DIR/worktrees/test-next` directory (or `$GIT_DIR/worktrees/test-next1` if `test-next` is already taken).
fr: Chaque arbre de travail lié possède un sous-répertoire privé dans le répertoire `$ GIT_DIR/worktrees` du dépôt. Le nom du sous-répertoire privé est généralement le nom de base du chemin de l'arbre de travail lié, éventuellement accompagné d'un numéro pour le rendre unique. Par exemple, lorsque `$GIT_DIR=/chemin/principal/ .git`, la commande`git worktree add /chemin/autre/test-prochain prochain` crée l'arbre de travail lié dans `/chemin/autre/test-prochain` et crée aussi un répertoire `$GIT_DIR/worktrees/test-prochain` (ou`$GIT_DIR/worktrees/test-prochain1` si `test-prochain` est déjà pris).

note: type: Plain text
en: Within a linked working tree, `$GIT_DIR` is set to point to this private directory (e.g. `/path/main/.git/worktrees/test-next` in the example) and `$GIT_COMMON_DIR` is set to point back to the main working tree's `$GIT_DIR` (e.g. `/path/main/.git`). These settings are made in a `.git` file located at the top directory of the linked working tree.
fr: Dans un arbre de travail lié, `$GIT_DIR` est défini pour pointer vers ce répertoire privé (par exemple, `/chemin/principal/.git/worktrees/test-prochain` dans l'exemple) et `$GIT_COMMON_DIR` est défini pour pointer vers l'arbre de travail principal. `$GIT_DIR` (par exemple `/chemin/principal/.git`). Ces paramètres sont définis dans un fichier `.git` situé dans le répertoire supérieur de l'arbre de travail lié.

note: type: Plain text
en: Path resolution via `git rev-parse --git-path` uses either `$GIT_DIR` or `$GIT_COMMON_DIR` depending on the path. For example, in the linked working tree `git rev-parse --git-path HEAD` returns `/path/main/.git/worktrees/test-next/HEAD` (not `/path/other/test-next/.git/HEAD` or `/path/main/.git/HEAD`) while `git rev-parse --git-path refs/heads/master` uses `$GIT_COMMON_DIR` and returns `/path/main/.git/refs/heads/master`, since refs are shared across all working trees, except `refs/bisect` and `refs/worktree`.
fr: La résolution du chemin via `git rev-parse --git-path` utilise soit `$GIT_DIR` soit `$GIT_COMMON_DIR` selon le chemin. Par exemple, dans l'arbre de travail lié `git rev-parse --git-path HEAD` renvoie `/chemin/principal/.git/worktrees/test-prochain/HEAD` (pas `/chemin/autre/test-prochain/.git/HEAD` ou `/chemin/principal/.git/HEAD`) tandis que `git rev-parse --git-path refs/heads/master` utilise `$GIT_COMMON_DIR` et retourne `/chemin/principal/.git/refs/heads/master`, puisque les réfs sont partagées sur tous les arbres de travail, sauf `refs/bisect` et `refs/worktree`.

note: type: Plain text
en: See linkgit:gitrepository-layout[5] for more information. The rule of thumb is do not make any assumption about whether a path belongs to `$GIT_DIR` or `$GIT_COMMON_DIR` when you need to directly access something inside `$GIT_DIR`. Use `git rev-parse --git-path` to get the final path.
fr: Voir linkgit:gitrepository-layout[5] pour plus d'informations. La règle de base est de ne pas faire d'hypothèse sur l'appartenance d'un chemin à `$GIT_DIR` ou `$GIT_COMMON_DIR` lorsque vous devez accéder directement à quelque chose à l'intérieur de ``$GIT_DIR`. Utilisez `git rev-parse --git-path` pour obtenir le chemin final.

note: type: Plain text
en: If you manually move a linked working tree, you need to update the `gitdir` file in the entry's directory. For example, if a linked working tree is moved to `/newpath/test-next` and its `.git` file points to `/path/main/.git/worktrees/test-next`, then update `/path/main/.git/worktrees/test-next/gitdir` to reference `/newpath/test-next` instead. Better yet, run `git worktree repair` to reestablish the connection automatically.
fr: Si vous déplacez manuellement un arbre de travail lié, vous devez mettre à jour le fichier `gitdir` dans le répertoire de l'entrée. Par exemple, si un arbre de travail lié est déplacé vers `/nouveau-chemin/test-prochain` et que son fichier` .git` pointe vers `/chemin/principal/.git /worktrees/test-prochain`, puis mettez à jour`/chemin/principal/.git/worktrees/test-prochain/gitdir` pour référencer `/nouveau-chemin/test-prochain` à la place. Mieux encore, exécutez `git worktree repair` pour rétablir automatiquement la connexion.

note: type: Plain text
en: To prevent a `$GIT_DIR/worktrees` entry from being pruned (which can be useful in some situations, such as when the entry's working tree is stored on a portable device), use the `git worktree lock` command, which adds a file named `locked` to the entry's directory. The file contains the reason in plain text. For example, if a linked working tree's `.git` file points to `/path/main/.git/worktrees/test-next` then a file named `/path/main/.git/worktrees/test-next/locked` will prevent the `test-next` entry from being pruned.  See linkgit:gitrepository-layout[5] for details.
fr: Pour éviter qu'une entrée `$GIT_DIR/worktrees` ne soit élaguée (ce qui peut être utile dans certaines situations, comme lorsque l'arbre de travail de l'entrée est stocké sur un support amovible), utilisez la commande `git worktree lock`, qui ajoute un fichier nommé `locked` au répertoire de l'entrée. Le fichier contient le motif en texte clair. Par exemple, si le fichier `.git` d'un arbre de travail lié pointe vers `/chemin/principal/.git/worktrees/test-prochain`, alors un fichier nommé `/chemin/principal/.git/worktrees/test-prochain/locked` empêchera l'élagage de l'entrée `test-prochain`.  Voir linkgit:gitrepository-layout[5] pour plus de détails.

note: type: Plain text
en: When `extensions.worktreeConfig` is enabled, the config file `.git/worktrees/<id>/config.worktree` is read after `.git/config` is.
fr: Lorsque `extensions.worktreeConfig` est activé, le fichier de configuration `.git/worktrees/<id>/config.worktree` est lu après `.git/config`.

note: type: Title -
en: LIST OUTPUT FORMAT
fr: FORMAT DE SORTIE DE LA LISTE

note: type: Plain text
en: The `worktree list` command has two output formats. The default format shows the details on a single line with columns.  For example:
fr: La commande `worktree list` a deux formats de sortie.  Le format par défaut affiche les détails sur une seule ligne avec des colonnes.  Par exemple :

note: type: delimited block -
en: $ git worktree list
    /path/to/bare-source            (bare)
    /path/to/linked-worktree        abcd1234 [master]
    /path/to/other-linked-worktree  1234abc  (detached HEAD)
fr: $ git worktree list
    /chemin/vers/source-nu            (bare)
    /chemin/vers/arbre-de-travail-lié        abcd1234 [master]
    /chemin/vers/autre-arbre-de-travail-lié  1234abc  (detached HEAD)

note: type: Plain text
en: The command also shows annotations for each working tree, according to its state.  These annotations are:
fr: La commande affiche également des annotations pour chaque arbre de travail, en fonction de son état.  Ces annotations sont :

note: type: Plain text
en: `locked`, if the working tree is locked.
fr: `locked`, si l'arbre de travail est verrouillé.

note: type: Plain text
en: `prunable`, if the working tree can be pruned via `git worktree prune`.
fr: `prunable`, si l'arbre de travail peut être élagué via` git worktree prune`.

note: type: delimited block -
en: $ git worktree list
    /path/to/linked-worktree    abcd1234 [master]
    /path/to/locked-worktree    acbd5678 (brancha) locked
    /path/to/prunable-worktree  5678abc  (detached HEAD) prunable
fr: $ git worktree list
    /chemin/vers/arbre-de-travail-lié        abcd1234 [master]
    /chemin/vers/arbre-de-travail-verrouillé        abcd568 (branche-a) locked
    /chemin/vers/arbre-de-travail-élagable  5678abcd  (detached HEAD) prunable

note: type: Plain text
en: For these annotations, a reason might also be available and this can be seen using the verbose mode. The annotation is then moved to the next line indented followed by the additional information.
fr: Pour ces annotations, une raison peut également être disponible et cela peut être vu en utilisant le mode verbeux. L'annotation est alors déplacée à la ligne suivante en retrait, suivie des informations complémentaires.

note: type: delimited block -
en: $ git worktree list --verbose
    /path/to/linked-worktree              abcd1234 [master]
    /path/to/locked-worktree-no-reason    abcd5678 (detached HEAD) locked
    /path/to/locked-worktree-with-reason  1234abcd (brancha)
    	locked: working tree path is mounted on a portable device
    /path/to/prunable-worktree            5678abc1 (detached HEAD)
    	prunable: gitdir file points to non-existent location
fr: $ git worktree list --verbose
    /chemin/vers/arbre-de-travail-lié              abcd1234 [master]
    /chemin/vers/arbre-de-travail-verrouillé-pas-de-raison    abcd5678 (HEAD détachée) locked
    chemin/vers/arbre-de-travail-verrouillé-avec-raison  1234abcd (branche-a)
    	locked: working tree path is mounted on a portable device
    chemin/vers/arbre-de-travail-elagable            5678abc1 (HEAD détachée)
    	prunable: gitdir file points to non-existent location

note: type: Plain text
en: Note that the annotation is moved to the next line if the additional information is available, otherwise it stays on the same line as the working tree itself.
fr: Notez que l'annotation est déplacée à la ligne suivante si les informations supplémentaires sont disponibles, sinon elle reste sur la même ligne que l'arbre de travail lui-même.

note: type: Title ~
en: Porcelain Format
fr: Format de la porcelaine

note: type: Plain text
en: The porcelain format has a line per attribute.  Attributes are listed with a label and value separated by a single space.  Boolean attributes (like `bare` and `detached`) are listed as a label only, and are present only if the value is true.  Some attributes (like `locked`) can be listed as a label only or with a value depending upon whether a reason is available.  The first attribute of a working tree is always `worktree`, an empty line indicates the end of the record.  For example:
fr: Le format de porcelaine comporte une ligne par attribut.  Les attributs sont énumérés avec une étiquette et une valeur séparées par un seul espace.  Les attributs booléens (comme `bare` et `detached`) sont énumérés sous forme d'étiquette uniquement, et ne sont présents que si la valeur est vraie. Certains attributs (comme `locked`) peuvent être listés comme étiquette seule ou avec une valeur si la raison de cet attribut est disponible  Le premier attribut d'un arbre de travail est toujours `worktree`, une ligne vide indique la fin de l'enregistrement.  Par exemple :

note: type: delimited block -
en: $ git worktree list --porcelain
    worktree /path/to/bare-source
    bare
fr: $ git worktree list --porcelain
    worktree /chemin/vers/source-nu
    bare

note: type: delimited block -
en: worktree /path/to/linked-worktree
    HEAD abcd1234abcd1234abcd1234abcd1234abcd1234
    branch refs/heads/master
fr: worktree /chemin/vers/arbre-de-travail-lié
    HEAD abcd1234abcd1234abcd1234abcd1234abcd1234
    branch refs/heads/master

note: type: delimited block -
en: worktree /path/to/other-linked-worktree
    HEAD 1234abc1234abc1234abc1234abc1234abc1234a
    detached
fr: worktree /chemin/vers/autre-arbre-de-travail-lié
    HEAD 1234abc1234abc1234abc1234abc1234abc1234a
    detached

note: type: delimited block -
en: worktree /path/to/linked-worktree-locked-with-reason
    HEAD 3456def3456def3456def3456def3456def3456b
    branch refs/heads/locked-with-reason
    locked reason why is locked
fr: worktree /chemin/vers/arbre-de-travail-lié-verrouillé-avec-raison
    HEAD 3456def3456def3456def3456def3456def3456b
    branch refs/heads/verrrouille-avec-raison
    raison pourquoi l'arbre est verrouillé

note: type: Plain text
en: If the lock reason contains "unusual" characters such as newline, they are escaped and the entire reason is quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]).  For Example:
fr: Si la raison du verrouillage contient des caractères « inhabituels » tels que des retours chariot, ils sont échappés et la raison est entièrement citée comme expliqué pour la variable de configuration `core.quotePath` (voir linkgit:git-config[1]). Par exemple :

note: type: Plain text
en: You are in the middle of a refactoring session and your boss comes in and demands that you fix something immediately. You might typically use linkgit:git-stash[1] to store your changes away temporarily, however, your working tree is in such a state of disarray (with new, moved, and removed files, and other bits and pieces strewn around) that you don't want to risk disturbing any of it. Instead, you create a temporary linked working tree to make the emergency fix, remove it when done, and then resume your earlier refactoring session.
fr: Vous êtes au milieu d'une séance de refactorisation et votre patron arrive et exige que vous répariez quelque chose immédiatement. Vous pouvez généralement utiliser linkgit:git-stash[1] pour stocker temporairement vos modifications, cependant, votre arbre de travail est dans un tel état de désordre (avec des fichiers nouveaux, déplacés et supprimés, et d'autres éléments éparpillés) que vous ne voulez pas risquer d'en déranger quoi que ce soit. Au lieu de cela, vous créez une arborescence de travail liée temporaire pour effectuer le correctif d'urgence, le supprimez lorsque vous avez terminé, puis reprenez votre session de refactoring précédente.

note: type: delimited block -
en: $ git worktree add -b emergency-fix ../temp master
    $ pushd ../temp
    # ... hack hack hack ...
    $ git commit -a -m 'emergency fix for boss'
    $ popd
    $ git worktree remove ../temp
fr: $ git worktree add -b correctif-d-urgence ../temp master
    $ pushd ../temp
    # ... travail travail travail ...
    $ git commit -a -m 'correction en urgence pour le patron'
    $ popd
    $ git worktree remove ../temp

note: type: Plain text
en: Multiple checkout in general is still experimental, and the support for submodules is incomplete. It is NOT recommended to make multiple checkouts of a superproject.
fr: L'extraction multiple en général est encore expérimentale, et le support des sous-modules est incomplet. Il n'est PAS recommandé d'effectuer des extractions multiples d'un superprojet.

note: type: Plain text
en: git-write-tree - Create a tree object from the current index
fr: git-write-tree - Crée un objet arbre depuis l'index actuel

note: type: Plain text
en: 'git write-tree' [--missing-ok] [--prefix=<prefix>/]
fr: 'git write-tree' [--missing-ok] [--prefix=<préfixe>/]

note: type: Plain text
en: linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:gitcvs-migration[7], linkgit:giteveryday[7], link:user-manual.html[The Git User's Manual]
fr: linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:gitcvs-migration[7], linkgit:giteveryday[7], link:user-manual.html[Le manuel d'utilisateur de Git]

note: type: Labeled list
en: [[def_branch]]branch
fr: [[def_branch]]branche

note: type: Labeled list
en: [[def_directory]]directory
fr: [[def_directory]]répertoire

note: type: Labeled list
en: [[def_remote]]remote repository
fr: [[def_remote]]dépôt distant

note: type: Labeled list
en: [[def_remote_tracking_branch]]remote-tracking branch
fr: [[def_remote_tracking_branch]]branche de suivi à distance

note: type: Plain text
en: Git is to some extent character encoding agnostic.
fr: Git est dans une certaine mesure agnostique concernant l'encodage des caractères.

note: type: Plain text
en: The contents of the blob objects are uninterpreted sequences of bytes.  There is no encoding translation at the core level.
fr: Le contenu des objets blob est une séquence d'octets non interprétés. Il n'y a pas de conversion d'encodage au niveau de base.

note: type: Plain text
en: Path names are encoded in UTF-8 normalization form C. This applies to tree objects, the index file, ref names, as well as path names in command line arguments, environment variables and config files (`.git/config` (see linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and linkgit:gitmodules[5]).
fr: Les noms de chemins sont encodés en forme C de normalisation UTF-8. Ceci s'applique aux objets arbre, au fichier d'index, au noms de références ainsi qu'aux noms de chemin en argument de ligne de commande, aux variables d'environnement et aux fichiers de configuration (`.git/config` (voir linkgit:git-config[1]), linkgit:gitignore[5], linkgit:gitattributes[5] and linkgit:gitmodules[5]).

note: type: Plain text
en: Note that Git at the core level treats path names simply as sequences of non-NUL bytes, there are no path name encoding conversions (except on Mac and Windows). Therefore, using non-ASCII path names will mostly work even on platforms and file systems that use legacy extended ASCII encodings. However, repositories created on such systems will not work properly on UTF-8-based systems (e.g. Linux, Mac, Windows) and vice versa.  Additionally, many Git-based tools simply assume path names to be UTF-8 and will fail to display other encodings correctly.
fr: Remarquez que Git traite les noms de chemins comme des séquences d'octets non-nuls au niveau de base, il n'y a pas de conversion d'encodage des noms de fichiers (sauf sur Mac et Windows). De ce fait, l'utilisation de noms de chemins non-ASCII fonctionnera pratiquement, même sur les plateformes et systèmes de fichier utilisant d'anciens encodages d'ASCII étendu.

note: type: Plain text
en: Commit log messages are typically encoded in UTF-8, but other extended ASCII encodings are also supported. This includes ISO-8859-x, CP125x and many others, but _not_ UTF-16/32, EBCDIC and CJK multi-byte encodings (GBK, Shift-JIS, Big5, EUC-x, CP9xx etc.).
fr: Les messages du journal des validations sont typiquement encodés en UTF-8, mais les autres encodages d'ASCII étendu sont aussi pris en charge. Ceci inclut ISO-8859-x, CP125x et de nombreux autres, mais _pas_ UTF-16/32, EBCDIC ni les encodages multi-octets CJK (GBK, Shift-JIS, Big5, EUC-x, CP9xx etc.).

note: type: Plain text
en: Although we encourage that the commit log messages are encoded in UTF-8, both the core and Git Porcelain are designed not to force UTF-8 on projects.  If all participants of a particular project find it more convenient to use legacy encodings, Git does not forbid it.  However, there are a few things to keep in mind.
fr: Bien que l'usage de UTF-8 dans les messages de validation soit encouragé, le cœur de Git et la porcelaine sont conçus pour ne pas forcer l'usage d'UTF-8 dans les projets. Si tous les participants d'un projet donné trouvent plus simple d'utiliser des encodages anciens, Git ne l'interdit pas. Cependant, il y a quelques détails à garder en tête.

note: type: Plain text
en: 'git commit' and 'git commit-tree' issues a warning if the commit log message given to it does not look like a valid UTF-8 string, unless you explicitly say your project uses a legacy encoding.  The way to say this is to have `i18n.commitEncoding` in `.git/config` file, like this:
fr: `git commit` et `git commit-tree` affichent un avertissement si le message de validation fourni ne semble pas être une chaîne de caractères UTF-8 valide, à moins que vous n'indiquiez explicitement que votre projet utilise un encodage ancien. La manière de l'indiquer est d'avoir `i18n.commitEncoding` dans `.git/config`, comme ceci :

note: type: Plain text
en: Commit objects created with the above setting record the value of `i18n.commitEncoding` in its `encoding` header.  This is to help other people who look at them later.  Lack of this header implies that the commit log message is encoded in UTF-8.
fr: Les objets commit créés avec le réglage ci-dessus enregistrent la valeur de `i18n.commitEncoding` dans leur entête d'encodage `encoding`. Ceci permet d'aider les personnes qui les liront plus tard. L'absence de cet entête implique que les message de validation est encodé en UTF-8.

note: type: Plain text
en: 'git log', 'git show', 'git blame' and friends look at the `encoding` header of a commit object, and try to re-code the log message into UTF-8 unless otherwise specified.  You can specify the desired output encoding with `i18n.logOutputEncoding` in `.git/config` file, like this:
fr: Sauf indication contraire, 'git log', 'git show', 'git blame' et consort lisent l'entête `encoding` d'un objet commit et essaient de ré-encoder le message de validation en UTF-8. Vous pouvez spécifier l'encodage de sortie que vous souhaitez avec `i18n.logOutputEncoding` dans le fichier `.git/config`, comme ceci :

note: type: Plain text
en: If you do not have this configuration variable, the value of `i18n.commitEncoding` is used instead.
fr: Si vous n'avez pas changé cette variable de configuration, c'est la valeur de `i18n.commitEncoding` qui est utilisée.

note: type: Plain text
en: Note that we deliberately chose not to re-code the commit log message when a commit is made to force UTF-8 at the commit object level, because re-coding to UTF-8 is not necessarily a reversible operation.
fr: Remarquez qu'il a été délibérément choisi de ne pas ré-encoder le message de validation quand le commit est créé pour forcer l'UTF-8 au niveau de l'objet commit parce que ré-encoder en UTF-8 n'est pas nécessairement une opération réversible.

note: type: Plain text
en: '<start>' and '<end>' can take one of these forms:
fr: '<début>' et '<fin>' peuvent prendre l'une de ces formes :

note: type: Plain text
en: number
fr: nombre

note: type: Plain text
en: If '<start>' or '<end>' is a number, it specifies an absolute line number (lines count from 1).
fr: Si '<début>' ou '<fin>' est un nombre, il spécifie un numéro de ligne absolu (les lignes comptent à partir de 1).

note: type: Plain text
en: This form will use the first line matching the given POSIX regex. If '<start>' is a regex, it will search from the end of the previous `-L` range, if any, otherwise from the start of file.  If '<start>' is `^/regex/`, it will search from the start of file.  If '<end>' is a regex, it will search starting at the line given by '<start>'.
fr: Cette forme utilisera la première ligne correspondant à la regex POSIX donnée. Si '<début>' est une regex, la recherche se fera à partir de la fin de la plage `-L` précédente, le cas échéant, sinon à partir du début du fichier.  Si '<début>' est `^/regex/`, la recherche se fera à partir du début du fichier.  Si '<fin>' est une regex, la recherche débutera à partir de la ligne donnée par '<début>'.

note: type: Plain text
en: +offset or -offset
fr: + offset ou -offset

note: type: Plain text
en: This is only valid for '<end>' and will specify a number of lines before or after the line given by '<start>'.
fr: Ceci n'est valable que pour '<fin>' et spécifiera un nombre de lignes avant ou après la ligne donnée par '<début>'.

note: type: Plain text
en: If `:<funcname>` is given in place of '<start>' and '<end>', it is a regular expression that denotes the range from the first funcname line that matches '<funcname>', up to the next funcname line. `:<funcname>` searches from the end of the previous `-L` range, if any, otherwise from the start of file. `^:<funcname>` searches from the start of file. The function names are determined in the same way as `git diff` works out patch hunk headers (see 'Defining a custom hunk-header' in linkgit:gitattributes[5]).
fr: Si `:<nom-de-fonction>` est donné à la place de '<début>' et de '<fin>', il s'agit d'une expression régulière qui indique la plage depuis première ligne qui correspond à '<nom-de-fonction>', jusqu'à la ligne de nom-de-fonction suivante. La recherche de `:<nom-de-fonction>` se fait à partir de la fin de la plage `-L` précédente, s'il y en a une, sinon à partir du début du fichier. La recherche de `^:<nom-de-fonction>` commence au début du fichier. Les noms de fonction sont déterminés de la même manière que celle par laquelle `git diff` fonctionne sur les en-têtes de section de rustine (voir 'Définir un en-tête personnalisé' dans linkgit:gitattributes[5]).

note: type: Labeled list
en: -L<start>,<end>:<file>
fr: -L<début>,<fin>:<fichier>

note: type: Labeled list
en: -L:<funcname>:<file>
fr: -L:<nom-de-fonction>:<fichier>

note: type: Plain text
en: Trace the evolution of the line range given by '<start>,<end>', or by the function name regex '<funcname>', within the '<file>'. You may not give any pathspec limiters.  This is currently limited to a walk starting from a single revision, i.e., you may only give zero or one positive revision arguments, and '<start>' and '<end>' (or '<funcname>') must exist in the starting revision.  You can specify this option more than once. Implies `--patch`.  Patch output can be suppressed using `--no-patch`, but other diff formats (namely `--raw`, `--numstat`, `--shortstat`, `--dirstat`, `--summary`, `--name-only`, `--name-status`, `--check`) are not currently implemented.
fr: Tracer l'évolution de la plage de lignes donnée par '<début>,<fin>' (ou la regex de nom de la fonction '<nom-de-fonction>') dans le fichier '<fichier>'.  Vous ne pouvez pas donner de limiteurs de spécificateur de chemin.  Ceci est actuellement limité à une marche à partir d'une seule révision, c'est-à-dire que vous ne pouvez donner qu'aucun ou un seul argument de révision, '<début>' et '<fin>' (ou '<nom-de-fonction>') doivent exister dans la révision de départ.  Vous pouvez spécifier cette option plusieurs fois. Cette option implique `--patch`. L'affichage de la rustine peut être supprimé en utilisant `--no-patch`, mai les autres formats de diff (`--raw`, `--numstat`, `--shortstat`, `--dirstat`, `--summary`, `--name-only`, `--name-status`, `--check`) ne sont pas implantés actuellement.

note: type: Plain text
en: Perform the merge and commit the result. This option can be used to override --no-commit.
fr: Effectuer la fusion et valider le résultat. Cette option peut être utilisée pour passer outre --no-commit.

note: type: Plain text
en: With --no-commit perform the merge and stop just before creating a merge commit, to give the user a chance to inspect and further tweak the merge result before committing.
fr: 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.

note: type: Plain text
en: Note that fast-forward updates do not create a merge commit and therefore there is no way to stop those merges with --no-commit.  Thus, if you want to ensure your branch is not changed or updated by the merge command, use --no-ff with --no-commit.
fr: 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.

note: type: Plain text
en: Invoke an editor before committing successful mechanical merge to further edit the auto-generated merge message, so that the user can explain and justify the merge. The `--no-edit` option can be used to accept the auto-generated message (this is generally discouraged).
fr: 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 `--no-edit` peut être utilisée pour accepter le message généré automatiquement (ce qui est généralement déconseillé).

note: type: Plain text
en: The `--edit` (or `-e`) option is still useful if you are giving a draft message with the `-m` option from the command line and want to edit it in the editor.
fr: L'option `--edit` (ou `-e`) est toujours utile si vous donnez un brouillon de message avec l'option `-m` de la ligne de commande et que vous voulez l'éditer dans l'éditeur.

note: type: Plain text
en: Older scripts may depend on the historical behaviour of not allowing the user to edit the merge log message. They will see an editor opened when they run `git merge`. To make it easier to adjust such scripts to the updated behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be set to `no` at the beginning of them.
fr: 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 `git merge`. Pour faciliter l'ajustement de ces scripts au comportement mis à jour, la variable d'environnement `GIT_MERGE_AUTOEDIT` peut être définie sur `no` à leur début.

note: type: Plain text
en: This option determines how the merge message will be cleaned up before committing. See linkgit:git-commit[1] for more details. In addition, if the '<mode>' is given a value of `scissors`, scissors will be appended to `MERGE_MSG` before being passed on to the commit machinery in the case of a merge conflict.
fr: Cette option détermine comment le message de fusion sera nettoyé avant d'être envoyé. Voir linkgit:git-commit[1] pour plus de détails. De plus, si le '<mode>' a la valeur `scissors`, les ciseaux seront ajoutés à 'MERGE_MSG' avant d'être transmis à la machinerie de commit dans le cas d'un conflit de fusion.

note: type: Plain text
en: Specifies how a merge is handled when the merged-in history is already a descendant of the current history.  `--ff` is the default unless merging an annotated (and possibly signed) tag that is not stored in its natural place in the `refs/tags/` hierarchy, in which case `--no-ff` is assumed.
fr: Précise comment une fusion est traitée lorsque l'historique fusionné est déjà un descendant de l'historique actuel.  `--ff` 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 `refs/tags/`, auquel cas `--no-ff` est supposé.

note: type: Plain text
en: With `--ff`, when possible resolve the merge as a fast-forward (only update the branch pointer to match the merged branch; do not create a merge commit).  When not possible (when the merged-in history is not a descendant of the current history), create a merge commit.
fr: Avec `--ff`, 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.

note: type: Plain text
en: With `--no-ff`, create a merge commit in all cases, even when the merge could instead be resolved as a fast-forward.
fr: Avec `--no-ff`, créer un commit de fusion dans tous les cas, même si la fusion peut être résolue en avance rapide.

note: type: Plain text
en: With `--ff-only`, resolve the merge as a fast-forward when possible.  When not possible, refuse to merge and exit with a non-zero status.
fr: Dans le cas `--ff-only`, il faut résoudre la fusion en avance rapide lorsque c'est possible.  Lorsque ce n'est pas possible, refuser de fusionner et sortir avec un statut non nul.

note: type: Plain text
en: GPG-sign the resulting merge commit. The `keyid` argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand both `commit.gpgSign` configuration variable, and earlier `--gpg-sign`.
fr: Signer le commit résultant de la fusion avec GPG. L'argument `idclé` est optionnel avec par défaut l'identité du validateur ; si spécifiée, elle doit être collée à l'option sans aucun espace. `--no-gpg-sign` est utile pour annuler l'effet de la variable de configuration `commit.gpgSign` ainsi que tout `--gpg-sign` précédent.

note: type: Plain text
en: In addition to branch names, populate the log message with one-line descriptions from at most <n> actual commits that are being merged. See also linkgit:git-fmt-merge-msg[1].
fr: 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 linkgit:git-fmt-merge-msg[1].

note: type: Plain text
en: With --no-log do not list one-line descriptions from the actual commits being merged.
fr: Avec --no-log, ne pas indiquer les descriptions d'une ligne des commits réels qui sont fusionnés.

note: type: Plain text
en: Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.stat.
fr: Afficher un diffstat à la fin de la fusion. Le diffstat est également contrôlé par l'option de configuration merge.stat.

note: type: Plain text
en: With -n or --no-stat do not show a diffstat at the end of the merge.
fr: Avec -n ou --no-stat, ne pas afficher de diffstat à la fin de la fusion.

note: type: Plain text
en: Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit, move the `HEAD`, or record `$GIT_DIR/MERGE_HEAD` (to cause the next `git commit` command to create a merge commit).  This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus).
fr: 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 `HEAD`, ou enregistrer `$GIT_DIR/MERGE_HEAD` (pour forcer le prochain `git commit` à 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).

note: type: Plain text
en: With --no-squash perform the merge and commit the result. This option can be used to override --squash.
fr: Avec --no-squash, effectuer la fusion et valider le résultat. Cette option peut être utilisée pour passer outre --squash.

note: type: Plain text
en: With --squash, --commit is not allowed, and will fail.
fr: Avec --squash, --commit n'est pas permis, et échouera.

note: type: Plain text
en: This option bypasses the pre-merge and commit-msg hooks.  See also linkgit:githooks[5].
fr: Cette option court-circuite les crochets pre-merge et commit-msg. Voir aussi linkgit:githooks[5].

note: type: Plain text
en: Use the given merge strategy; can be supplied more than once to specify them in the order they should be tried.  If there is no `-s` option, a built-in list of strategies is used instead ('git merge-recursive' when merging a single head, 'git merge-octopus' otherwise).
fr: 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 `-s`, une liste intégrée de stratégies est utilisée à la place ('git merge-recursive' lors de la fusion d'une seule tête, 'git merge-octopus' sinon).

note: type: Plain text
en: Pass merge strategy specific option through to the merge strategy.
fr: Faire passer l'option spécifique de la stratégie de fusion à la stratégie de fusion.

note: type: Plain text
en: Verify that the tip commit of the side branch being merged is signed with a valid key, i.e. a key that has a valid uid: in the default trust model, this means the signing key has been signed by a trusted key.  If the tip commit of the side branch is not signed with a valid key, the merge is aborted.
fr: 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.

note: type: Plain text
en: Synonyms to --stat and --no-stat; these are deprecated and will be removed in the future.
fr: Synonymes de --stat et --no-stat ; ils sont déconseillés et seront supprimés à l'avenir.

note: type: Plain text
en: Operate quietly. Implies --no-progress.
fr: Mode Silencieux. Implique --no-progress.

note: type: Plain text
en: Turn progress on/off explicitly. If neither is specified, progress is shown if standard error is connected to a terminal.  Note that not all merge strategies may support progress reporting.
fr: Activer/désactiver explicitement l'affichage du progrès. Si aucun des deux n'est spécifié, la progression est indiquée si l'erreur standard est connectée à un terminal.  Notez que toutes les stratégies de fusion peuvent ne pas prendre en charge le rapport d'avancement.

note: type: Plain text
en: Automatically create a temporary stash entry before the operation begins, and apply it after the operation ends.  This means that you can run the operation on a dirty worktree.  However, use with care: the final stash application after a successful merge might result in non-trivial conflicts.
fr: Créer automatiquement une entrée temporaire de remisage avant le début de l'opération 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.

note: type: Plain text
en: By default, `git merge` command refuses to merge histories that do not share a common ancestor.  This option can be used to override this safety when merging histories of two projects that started their lives independently. As that is a very rare occasion, no configuration variable to enable this by default exists and will not be added.
fr: Par défaut, la commande `git merge` 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.

note: type: Title -
en: MERGE STRATEGIES
fr: LES STRATÉGIES DE FUSION

note: type: Plain text
en: The merge mechanism (`git merge` and `git pull` commands) allows the backend 'merge strategies' to be chosen with `-s` option.  Some strategies can also take their own options, which can be passed by giving `-X<option>` arguments to `git merge` and/or `git pull`.
fr: Le mécanisme de fusion (commandes `git merge` et `git pull`) permet de choisir les 'stratégies de fusion' du backend avec l'option `-s`.  Certaines stratégies peuvent également prendre leurs propres options, qui peuvent être passées en donnant des arguments `-X<option>` à `git merge` et/ou `git pull`.

note: type: Plain text
en: This can only resolve two heads (i.e. the current branch and another branch you pulled from) using a 3-way merge algorithm.  It tries to carefully detect criss-cross merge ambiguities and is considered generally safe and fast.
fr: 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 et est considéré comme généralement sûr et rapide.

note: type: Plain text
en: This can only resolve two heads using a 3-way merge algorithm.  When there is more than one common ancestor that can be used for 3-way merge, it creates a merged tree of the common ancestors and uses that as the reference tree for the 3-way merge.  This has been reported to result in fewer merge conflicts without causing mismerges by tests done on actual merge commits taken from Linux 2.6 kernel development history.  Additionally this can detect and handle merges involving renames, but currently cannot make use of detected copies.  This is the default merge strategy when pulling or merging one branch.
fr: 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, mais ne peut actuellement pas utiliser les copies détectées.  C'est la stratégie de fusion par défaut lors de l'extraction ou de la fusion d'une branche.

note: type: Plain text
en: The 'recursive' strategy can take the following options:
fr: La stratégie 'recursive' peut prendre les options suivantes :

note: type: Plain text
en: This option forces conflicting hunks to be auto-resolved cleanly by favoring 'our' version.  Changes from the other tree that do not conflict with our side are reflected in the merge result.  For a binary file, the entire contents are taken from our side.
fr: Cette option oblige à résoudre les sections en conflit  de manière autonome et propre en favorisant notre version ('our').  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é.

note: type: Plain text
en: This should not be confused with the 'ours' merge strategy, which does not even look at what the other tree contains at all.  It discards everything the other tree did, declaring 'our' history contains all that happened in it.
fr: Il ne faut pas la confondre avec la stratégie de fusion 'ours', 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 ('our') contient tout ce qui s'y est passé.

note: type: Plain text
en: This is the opposite of 'ours'; note that, unlike 'ours', there is no 'theirs' merge strategy to confuse this merge option with.
fr: C'est le contraire de 'ours' ; notez que, contrairement à 'ours', il n'y a pas de stratégie de fusion 'theirs' avec laquelle confondre cette option de fusion.

note: type: Plain text
en: With this option, 'merge-recursive' spends a little extra time to avoid mismerges that sometimes occur due to unimportant matching lines (e.g., braces from distinct functions).  Use this when the branches to be merged have diverged wildly.  See also linkgit:git-diff[1] `--patience`.
fr: Avec cette option, la 'merge-recursive' prend un peu plus de temps pour éviter les erreurs de fusion qui se produisent parfois en raison de lignes de correspondance sans importance (par exemple, des accolades de fonctions distinctes).  Utilisez cette option lorsque les branches à fusionner ont divergé de manière importante.  Voir aussi linkgit:git-diff[1] `--patience`.

note: type: Plain text
en: Tells 'merge-recursive' to use a different diff algorithm, which can help avoid mismerges that occur due to unimportant matching lines (such as braces from distinct functions).  See also linkgit:git-diff[1] `--diff-algorithm`.
fr: Indiquer à la fonction 'merge-recursive' d'utiliser un algorithme de diff différent, ce qui peut aider à éviter les erreurs de fusion dues à des lignes de correspondance sans importance (comme des accolades de fonctions distinctes).  Voir aussi linkgit:git-diff[1] `--diff-algorithm`.

note: type: Plain text
en: Treats lines with the indicated type of whitespace change as unchanged for the sake of a three-way merge.  Whitespace changes mixed with other changes to a line are not ignored.  See also linkgit:git-diff[1] `-b`, `-w`, `--ignore-space-at-eol`, and `--ignore-cr-at-eol`.
fr: 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 linkgit:git-diff[1] `-b`, `-w`, `--ignore-space-at-eol`, et `--ignore-cr-at-eol`.

note: type: Plain text
en: If 'their' version only introduces whitespace changes to a line, 'our' version is used;
fr: Si "leur" version ('theirs') n'introduit que des changements d'espacement sur une ligne, "notre" version ('our') est utilisée ;

note: type: Plain text
en: If 'our' version introduces whitespace changes but 'their' version includes a substantial change, 'their' version is used;
fr: Si "notre" version introduit des modifications dans l'espace blanc mais que "leur" version inclut un changement substantiel, "leur" version est utilisée ;

note: type: Plain text
en: Otherwise, the merge proceeds in the usual way.
fr: Dans le cas contraire, la fusion se déroule de la manière habituelle.

note: type: Plain text
en: This runs a virtual check-out and check-in of all three stages of a file when resolving a three-way merge.  This option is meant to be used when merging branches with different clean filters or end-of-line normalization rules.  See "Merging branches with differing checkin/checkout attributes" in linkgit:gitattributes[5] for details.
fr: Il s'agit d'une extraction et d'un validation virtuelle des trois étapes d'un fichier lors de la résolution d'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 linkgit:gitattributes[5] pour plus de détails.

note: type: Plain text
en: Disables the `renormalize` option.  This overrides the `merge.renormalize` configuration variable.
fr: Désactiver l'option `renormalize`. Cela surcharge la variable de configuration  `merge.renormalize` .

note: type: Plain text
en: Turn off rename detection. This overrides the `merge.renames` configuration variable.  See also linkgit:git-diff[1] `--no-renames`.
fr: Désactiver la détection de renommage. Ceci annule la variable de configuration `merge.renames`.  Voir aussi linkgit:git-diff[1] `--no-renames`.

note: type: Plain text
en: Turn on rename detection, optionally setting the similarity threshold.  This is the default. This overrides the 'merge.renames' configuration variable.  See also linkgit:git-diff[1] `--find-renames`.
fr: 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 `merge.renames`.  Voir aussi linkgit:git-diff[1] `--find-renames`.

note: type: Plain text
en: Deprecated synonym for `find-renames=<n>`.
fr: Synonyme obsolète pour `find-renames=<n>`.

note: type: Labeled list
en: subtree[=<path>]
fr: subtree[=<chemin>]

note: type: Plain text
en: This option is a more advanced form of 'subtree' strategy, where the strategy makes a guess on how two trees must be shifted to match with each other when merging.  Instead, the specified path is prefixed (or stripped from the beginning) to make the shape of two trees to match.
fr: Cette option est une forme plus avancée de stratégie 'subtree', 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.

note: type: Plain text
en: This resolves cases with more than two heads, but refuses to do a complex merge that needs manual resolution.  It is primarily meant to be used for bundling topic branch heads together.  This is the default merge strategy when pulling or merging more than one branch.
fr: 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.

note: type: Plain text
en: This resolves any number of heads, but the resulting tree of the merge is always that of the current branch head, effectively ignoring all changes from all other branches.  It is meant to be used to supersede old development history of side branches.  Note that this is different from the -Xours option to the 'recursive' merge strategy.
fr: 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 'recursive'.

note: type: Plain text
en: This is a modified recursive strategy. When merging trees A and B, if B corresponds to a subtree of A, B is first adjusted to match the tree structure of A, instead of reading the trees at the same level. This adjustment is also done to the common ancestor tree.
fr: Il s'agit d'une stratégie récursive 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.

note: type: Plain text
en: With the strategies that use 3-way merge (including the default, 'recursive'), if a change is made on both branches, but later reverted on one of the branches, that change will be present in the merged result; some people find this behavior confusing.  It occurs because only the heads and the merge base are considered when performing a merge, not the individual commits.  The merge algorithm therefore considers the reverted change as no change at all, and substitutes the changed version instead.
fr: Avec les stratégies qui utilisent la fusion à trois points (y compris la fusion par défaut, 'recursive'), 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.

note: type: Plain text
en: THIS OPTION IS EXPERIMENTAL! SHA-256 support is experimental and still in an early stage.  A SHA-256 repository will in general not be able to share work with "regular" SHA-1 repositories.  It should be assumed that, e.g., Git internal file formats in relation to SHA-256 repositories may change in backwards-incompatible ways.  Only use `--object-format=sha256` for testing purposes.
fr: CETTE OPTION EST EXPÉRIMENTALE ! Le support de SHA-256 est expérimental et encore à un stade précoce.  Un dépôt SHA-256 ne sera en général pas en mesure de partager le travail avec des dépôts SHA-1 "ordinaires".  Il faut supposer que, par exemple, les formats de fichiers internes de Git en relation avec les dépôts SHA-256 peuvent changer de manière non-rétrocompatible.  N'utilisez `--object-format=sha256` qu'à des fins de test.

note: type: Title -
en: PRETTY FORMATS
fr: FORMATS AUTOMATIQUES

note: type: Plain text
en: If the commit is a merge, and if the pretty-format is not 'oneline', 'email' or 'raw', an additional line is inserted before the 'Author:' line.  This line begins with "Merge: " and the hashes of ancestral commits are printed, separated by spaces.  Note that the listed commits may not necessarily be the list of the *direct* parent commits if you have limited your view of history: for example, if you are only interested in changes related to a certain directory or file.
fr: Si le commit est une fusion, et si la mise en forme n'est pas 'oneline', 'email' ou 'raw', une ligne supplémentaire est insérée avant la ligne 'Author:'.  Cette ligne commence par "Merge:" et les empreintes des commits ancêtres sont affichées, séparées par des espaces.  Notez que les commits énumérés ne sont pas nécessairement la liste des commits parents *directs* si vous avez limité votre vue de l'historique : par exemple, si vous n'êtes intéressé que par les modifications liées à un certain répertoire ou fichier.

note: type: Plain text
en: There are several built-in formats, and you can define additional formats by setting a pretty.<name> config option to either another format name, or a 'format:' string, as described below (see linkgit:git-config[1]). Here are the details of the built-in formats:
fr: Il existe plusieurs formats intégrés, et vous pouvez définir des formats supplémentaires en définissant une option pretty.<nom> config à soit un nouveau nom de format, soit une chaîne'format:', comme décrit ci-dessous (voir linkgit:git-config[1]). Voici le détail des formats intégrés :

note: type: Plain text
en: <hash> <title line>
fr: <empreinte> <ligne de titre>

note: type: Plain text
en: This is designed to be as compact as possible.
fr: C'est conçu pour être aussi compact que possible.

note: type: Plain text
en: commit <hash>
    Author: <author>
fr: commit <empreinte>
    Author: <auteur>

note: type: Plain text
en: <title line>
fr: <ligne de titre>

note: type: Plain text
en: commit <hash>
    Author: <author>
    Date:   <author date>
fr: commit <empreinte>
    Author: <auteur>
    Date:   <date d'auteur>

note: type: Plain text
en: <full commit message>
fr: <message de validation complet>

note: type: Plain text
en: commit <hash>
    Author: <author>
    Commit: <committer>
fr: commit <empreinte>
    Author: <auteur>
    Commit: <validateur>

note: type: Plain text
en: commit <hash>
    Author:     <author>
    AuthorDate: <author date>
    Commit:     <committer>
    CommitDate: <committer date>
fr: commit <empreinte>
    Author:     <auteur>
    AuthorDate: <date d'auteur>
    Commit:     <validateur>
    CommitDate: <date de validation>

note: type: Plain text
en: <abbrev hash> (<title line>, <short author date>)
fr: <empreinte abrégée> (<ligne de titre>, <courte date d'auteur>)

note: type: Plain text
en: This format is used to refer to another commit in a commit message and is the same as `--pretty='format:%C(auto)%h (%s, %ad)'`.  By default, the date is formatted with `--date=short` unless another `--date` option is explicitly specified.  As with any `format:` with format placeholders, its output is not affected by other options like `--decorate` and `--walk-reflogs`.
fr: Ce format est utilisé pour faire référence à un autre commit dans un message de validation et est le même que `--pretty='format:%C(auto)%h (%s, %ad)'`.  Par défaut, la date est formatée avec `--date=short` à moins qu'une autre option `--date` ne soit explicitement spécifiée.  Comme pour tout `format:` avec des espaces réservés de format, sa sortie n'est pas affectée par d'autres options comme `--decorate` et `--walk-reflogs`.

note: type: Plain text
en: From <hash> <date>
    From: <author>
    Date: <author date>
    Subject: [PATCH] <title line>
fr: From <empreinte> <date>
    From: <auteur>
    Date: <date d'auteur>
    Subject: [PATCH] <ligne de titre>

note: type: Plain text
en: Like 'email', but lines in the commit message starting with "From " (preceded by zero or more ">") are quoted with ">" so they aren't confused as starting a new commit.
fr: Comme 'email', mais les lignes dans le message de validation commençant par "From" (précédé de zéro ou plus ">") sont citées avec ">" pour ne pas être confondues avec le début d'un nouveau commit.

note: type: Plain text
en: The 'raw' format shows the entire commit exactly as stored in the commit object.  Notably, the hashes are displayed in full, regardless of whether --abbrev or --no-abbrev are used, and 'parents' information show the true parent commits, without taking grafts or history simplification into account. Note that this format affects the way commits are displayed, but not the way the diff is shown e.g. with `git log --raw`. To get full object names in a raw diff format, use `--no-abbrev`.
fr: Le format'raw' montre le commit entier telle qu'elle est stockée dans l'objet commit.  Notamment, les empreintes sont affichées dans leur intégralité, que --abbrev ou --no-abbrev soient utilisés ou non, et l'information 'parents' indiquent le véritable commit parent, sans tenir compte des greffes ou de la simplification d'historique. Notez que ce format affecte la façon dont les commits sont affichés, mais pas la façon dont la différence est affichée, par exemple avec `git log --raw`. Pour obtenir les noms complets des objets dans un format de diff brut, utilisez `--no-abbrev`.

note: type: Plain text
en: 'format:<string>'
fr: 'format:<chaîne>'

note: type: Plain text
en: The 'format:<string>' format allows you to specify which information you want to show. It works a little bit like printf format, with the notable exception that you get a newline with '%n' instead of '\n'.
fr: Le format 'format:<chaîne>' vous permet de spécifier quelles informations vous voulez afficher. Cela fonctionne un peu comme le format printf, à l'exception notable que vous obtenez une nouvelle ligne avec'%n' au lieu de'\n'.

note: type: Plain text
en: E.g, 'format:"The author of %h was %an, %ar%nThe title was >>%s<<%n"' would show something like this:
fr: Par exemple,'format : "L'auteur de %h était %an, %ar%nL'entête était >>%s<<<%n"' afficherait quelque chose comme ceci :

note: type: delimited block -
en: The author of fe6e0ee was Junio C Hamano, 23 hours ago
    The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
fr: L'auteur de fe6e0ee était Junio C Hamano, 23 hours ago
    L'entête était >>t4119: test autocomputing -p<n> for traditional diff input.<<

note: type: Plain text
en: The placeholders are:
fr: Les espaces réservés sont :

note: type: Plain text
en: Placeholders that expand to a single literal character:
fr: Les places qui s'étendent à un seul caractère littéral :

note: type: Plain text
en: newline
fr: retour à la ligne

note: type: Plain text
en: a raw '%'
fr: un '%' brut

note: type: Plain text
en: print a byte from a hex code
fr: afficher un octet à partir d'un code hexagonal

note: type: Plain text
en: Placeholders that affect formatting of later placeholders:
fr: Espaces réservés qui affectent le formatage des espaces réservés ultérieurs :

note: type: Plain text
en: switch color to red
fr: passe la couleur au rouge

note: type: Plain text
en: switch color to green
fr: passe la couleur au vert

note: type: Plain text
en: switch color to blue
fr: passe la couleur au bleu

note: type: Plain text
en: reset color
fr: réinitialise la couleur

note: type: Plain text
en: color specification, as described under Values in the "CONFIGURATION FILE" section of linkgit:git-config[1].  By default, colors are shown only when enabled for log output (by `color.diff`, `color.ui`, or `--color`, and respecting the `auto` settings of the former if we are going to a terminal). `%C(auto,...)` is accepted as a historical synonym for the default (e.g., `%C(auto,red)`). Specifying `%C(always,...)` will show the colors even when color is not otherwise enabled (though consider just using `--color=always` to enable color for the whole output, including this format and anything else git might color).  `auto` alone (i.e. `%C(auto)`) will turn on auto coloring on the next placeholders until the color is switched again.
fr: spécification de couleur, telle que décrite sous Valeurs dans la section "FICHIER DE CONFIGURATION" de linkgit:git-config[1].  Par défaut, les couleurs ne sont affichées que lorsqu'elles sont activées pour la sortie des journaux (par `color.diff`, `color.ui`, ou `--color`, et en respectant les paramètres `auto` du premier si nous allons sur un terminal). `%C(auto,...)` est accepté comme synonyme historique de la valeur par défaut (par exemple, `%C(auto,red)`). Spécifier `%C(always,...)` affichera les couleurs même si la couleur n'est pas activée autrement (bien qu'il faille toujours utiliser `--color=always` pour activer la couleur pour toute la sortie, y compris ce format et tout ce que git peut colorier).  `auto` seul (c'est-à-dire `%C(auto)`) activera la coloration automatique sur les places suivantes jusqu'à ce que la couleur soit à nouveau changée.

note: type: Plain text
en: left (`<`), right (`>`) or boundary (`-`) mark
fr: marque à gauche (`<`), à droite (`>`) ou de limite (`-`)

note: type: Plain text
en: switch line wrapping, like the -w option of linkgit:git-shortlog[1].
fr: basculer de rebouclage de ligne, comme l’option -w de linkgit:git-shortlog[1].

note: type: Labeled list
en: '%<(<N>[,trunc|ltrunc|mtrunc])'
fr: '%<(<N>[,tronq|tronqg|tronqm])'

note: type: Plain text
en: make the next placeholder take at least N columns, padding spaces on the right if necessary.  Optionally truncate at the beginning (ltrunc), the middle (mtrunc) or the end (trunc) if the output is longer than N columns.  Note that truncating only works correctly with N >= 2.
fr: faire prendre au prochain espace réservé au moins N colonnes, en remplissant les espaces à droite si nécessaire.  Au choix, tronquer au début (tronqg), au milieu (tronqm) ou à la fin (tronq) si la sortie est plus longue que N colonnes.  Notez que la troncation ne fonctionne correctement qu'avec N >= 2.

note: type: Plain text
en: make the next placeholder take at least until Nth columns, padding spaces on the right if necessary
fr: faire le prochain espace réservé prendre au moins jusqu’à ce qu'aux Nièmes colonnes, les espaces d'alignement sur la droite si nécessaire

note: type: Plain text
en: similar to '%<(<N>)', '%<|(<N>)' respectively, but padding spaces on the left
fr: similaire à '%<(<N>)', '%<|(<N>)' respectivement, mais les espaces d'alignement à gauche

note: type: Plain text
en: similar to '%>(<N>)', '%>|(<N>)' respectively, except that if the next placeholder takes more spaces than given and there are spaces on its left, use those spaces
fr: similaire à "%>(<N>)", "%>|(<N>)" respectivement, sauf que si le prochain espace réservé prend plus d'espaces que prévu et qu'il y a des espaces à sa gauche, utiliser ces espaces

note: type: Plain text
en: similar to '%<(<N>)', '%<|(<N>)' respectively, but padding both sides (i.e. the text is centered)
fr: similaire à '%<(<N>)', '%<|(<N>)' respectivement, mais en décalant des deux côtés (c'est-à-dire que le texte est centré)

note: type: Plain text
en: Placeholders that expand to information extracted from the commit:
fr: Espaces réservés développant les informations extraites du commit :

note: type: Plain text
en: commit hash
fr: empreinte du commit

note: type: Plain text
en: abbreviated commit hash
fr: empreinte abrégée du commit

note: type: Plain text
en: tree hash
fr: empreinte de l'arbre

note: type: Plain text
en: abbreviated tree hash
fr: empreinte abrégée de l'arbre

note: type: Plain text
en: parent hashes
fr: empreintes des parents

note: type: Plain text
en: abbreviated parent hashes
fr: empreintes abrégés des parents

note: type: Plain text
en: author name
fr: nom de l'auteur

note: type: Plain text
en: author name (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: nom de l'auteur (en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: author email
fr: e-mail de l'auteur

note: type: Plain text
en: author email (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: e-mail de l'auteur (en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: author email local-part (the part before the '@' sign)
fr: partie locale de l'e-mail de l'auteur (la partie avant le signe "@")

note: type: Plain text
en: author local-part (see '%al') respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: partie locale de l'auteur (voir '%al') en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: author date (format respects --date= option)
fr: date de l'auteur (le format respecte l'option --date=)

note: type: Plain text
en: author date, RFC2822 style
fr: date d'auteur, style RFC2822

note: type: Plain text
en: author date, relative
fr: date de l'auteur, date relative

note: type: Plain text
en: author date, UNIX timestamp
fr: date de l'auteur, horodatage UNIX

note: type: Plain text
en: author date, ISO 8601-like format
fr: date de création, format de type ISO 8601

note: type: Plain text
en: author date, strict ISO 8601 format
fr: date d'auteur, format strict ISO 8601

note: type: Plain text
en: author date, short format (`YYYY-MM-DD`)
fr: date d'auteur, format court (`AAAA-MM-JJ`)

note: type: Plain text
en: author date, human style (like the `--date=human` option of linkgit:git-rev-list[1])
fr: date de l'auteur, style humain (comme l'option `--date=human` de linkgit:git-rev-list[1])

note: type: Plain text
en: committer name
fr: nom du validateur

note: type: Plain text
en: committer name (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: nom du validateur (en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: committer email
fr: e-mail du validateur

note: type: Plain text
en: committer email (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: e-mail du validateur (en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: committer email local-part (the part before the '@' sign)
fr: partie locale de l'e-mail du validateur (la partie avant le signe "@")

note: type: Plain text
en: committer local-part (see '%cl') respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: partie locale du validateur (voir '%cl') en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: committer date (format respects --date= option)
fr: date de validation (le format respecte l'option --date=)

note: type: Plain text
en: committer date, RFC2822 style
fr: date de validation, style RFC2822

note: type: Plain text
en: committer date, relative
fr: date de validation, date relative

note: type: Plain text
en: committer date, UNIX timestamp
fr: date de validation, horodatage UNIX

note: type: Plain text
en: committer date, ISO 8601-like format
fr: date de validation, format de type ISO 8601

note: type: Plain text
en: committer date, strict ISO 8601 format
fr: date de validation, format ISO 8601 strict

note: type: Plain text
en: committer date, short format (`YYYY-MM-DD`)
fr: date de validation, format court (`AAAA-MM-JJ`)

note: type: Plain text
en: committer date, human style (like the `--date=human` option of linkgit:git-rev-list[1])
fr: date du validateur, style humain (comme l'option `--date=human` de linkgit:git-rev-list[1])

note: type: Plain text
en: ref names, like the --decorate option of linkgit:git-log[1]
fr: les noms de ref, comme l'option --decorate de linkgit:git-log[1].

note: type: Plain text
en: ref names without the " (", ")" wrapping.
fr: les noms des refs, sans encadrement par « ( » et « ) ».

note: type: Plain text
en: human-readable name, like linkgit:git-describe[1]; empty string for undescribable commits.  The `describe` string may be followed by a colon and zero or more comma-separated options.  Descriptions can be inconsistent when tags are added or removed at the same time.
fr: nom lisible par l'homme, comme linkgit:git-describe[1] ; chaîne vide pour les commits non descriptibles.  La chaîne `describe` peut être suivie de deux points et de zéro ou plusieurs options séparées par des virgules.  Les descriptions peuvent être incohérentes lorsque des étiquettes sont ajoutées ou supprimées en même temps.

note: type: Plain text
en: 'match=<pattern>': Only consider tags matching the given `glob(7)` pattern, excluding the "refs/tags/" prefix.
fr: 'match=<motif>' : Ne considère que les étiquettes correspondant au motif `glob(7)` donné, à l'exclusion du préfixe "refs/tags/".

note: type: Plain text
en: 'exclude=<pattern>': Do not consider tags matching the given `glob(7)` pattern, excluding the "refs/tags/" prefix.
fr: exclude=<motif>' : Ne pas prendre en compte les étiquettes correspondant au motif `glob(7)` donné, en excluant le préfixe "refs/tags/".

note: type: Plain text
en: ref name given on the command line by which the commit was reached (like `git log --source`), only works with `git log`
fr: nom de ref fourni en ligne de commande par lequel le commit a été atteint (comme `git log --source`), ne fonctionne qu’avec `git log`

note: type: Plain text
en: encoding
fr: encodage

note: type: Plain text
en: subject
fr: titre

note: type: Plain text
en: sanitized subject line, suitable for a filename
fr: ligne de titre aseptisée, convenant pour un nom de fichier

note: type: Plain text
en: body
fr: corps

note: type: Plain text
en: raw body (unwrapped subject and body)
fr: corps brut (sujet et corps non enveloppés)

note: type: Plain text
en: commit notes
fr: notes du commit

note: type: Plain text
en: raw verification message from GPG for a signed commit
fr: message de vérification brut de GPG pour un commit signé

note: type: Plain text
en: show "G" for a good (valid) signature, "B" for a bad signature, "U" for a good signature with unknown validity, "X" for a good signature that has expired, "Y" for a good signature made by an expired key, "R" for a good signature made by a revoked key, "E" if the signature cannot be checked (e.g. missing key)  and "N" for no signature
fr: afficher "G" pour une bonne signature (valide), "B" pour une mauvaise signature, "U" pour une bonne signature avec une validité inconnue, "X" pour une bonne signature qui a expiré, "Y" pour une bonne signature faite par une clé expirée, "R" pour une bonne signature faite par une clé révoquée, "E" si la signature ne peut pas être vérifiée (par exemple la clé est manquante) et  "N" pour aucune signature

note: type: Plain text
en: show the name of the signer for a signed commit
fr: affiche le nom du signataire d'un commit signé

note: type: Plain text
en: show the key used to sign a signed commit
fr: afficher la clé utilisée pour signer un commit signé

note: type: Plain text
en: show the fingerprint of the key used to sign a signed commit
fr: afficher l'empreinte digitale de la clé utilisée pour signer un commit signé

note: type: Plain text
en: show the fingerprint of the primary key whose subkey was used to sign a signed commit
fr: afficher l'empreinte digitale de la clé primaire dont la sous-clé a été utilisée pour signer un commit signé

note: type: Plain text
en: show the trust level for the key used to sign a signed commit
fr: afficher le niveau de rouille de la clé utilisée pour signer un commit signé

note: type: Plain text
en: reflog selector, e.g., `refs/stash@{1}` or `refs/stash@{2 minutes ago}`; the format follows the rules described for the `-g` option. The portion before the `@` is the refname as given on the command line (so `git log -g refs/heads/master` would yield `refs/heads/master@{0}`).
fr: sélecteur de reflog, p. ex., `refs/stash@{1}` ou `refs/stash@{2 minutes ago}` ; le format suit les règles décrites pour l'option `-g`. La partie avant `@` est le nom de la référence tel qu'il est donné sur la ligne de commande (donc `git log -g refs/heads/master` produirait `refs/heads/master@{0}`).

note: type: Plain text
en: shortened reflog selector; same as `%gD`, but the refname portion is shortened for human readability (so `refs/heads/master` becomes just `master`).
fr: sélecteur de reflog raccourci ; identique à `%gD`, mais la partie refname est raccourcie pour la lisibilité humaine (ainsi `refs/heads/master` devient simplement `master`).

note: type: Plain text
en: reflog identity name
fr: nom de l'identité reflog

note: type: Plain text
en: reflog identity name (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: nom de l'identité reflog (en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: reflog identity email
fr: adresse de courriel d'identité reflog

note: type: Plain text
en: reflog identity email (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
fr: e-mail de l'identité reflog (en respectant .mailmap, voir linkgit:git-shortlog[1] ou linkgit:git-blame[1])

note: type: Plain text
en: reflog subject
fr: titre du reflog

note: type: Plain text
en: display the trailers of the body as interpreted by linkgit:git-interpret-trailers[1]. The `trailers` string may be followed by a colon and zero or more comma-separated options.  If any option is provided multiple times the last occurrence wins.
fr: afficher les lignes ajoutées du corps comme interprétées par linkgit:git-interpret-trailers[1]. La chaîne `trailers` peut être suivie de deux-points et de zéro ou plus d'options séparées par des virgules. Si une option est fournie plusieurs fois la dernière option l'emporte.

note: type: Plain text
en: The boolean options accept an optional value `[=<BOOL>]`. The values `true`, `false`, `on`, `off` etc. are all accepted. See the "boolean" sub-section in "EXAMPLES" in linkgit:git-config[1]. If a boolean option is given with no value, it's enabled.
fr: Les options booléennes acceptent une valeur optionnelle `[=<BOOLÉEN>]`. Les valeurs `true`, `false`, `on`, `off` etc. sont toutes acceptées. Voir la sous-section "booléen" dans "EXEMPLES" dans linkgit:git-config[1]. Si une option booléenne est donnée sans valeur, elle est activée.

note: type: Plain text
en: 'key=<K>': only show trailers with specified key. Matching is done case-insensitively and trailing colon is optional. If option is given multiple times trailer lines matching any of the keys are shown. This option automatically enables the `only` option so that non-trailer lines in the trailer block are hidden. If that is not desired it can be disabled with `only=false`.  E.g., `%(trailers:key=Reviewed-by)` shows trailer lines with key `Reviewed-by`.
fr: key=<K>' : affiche uniquement les chaînes d'attributs avec la clé spécifiée. L'appariement se fait de façon insensible à la casse et la virgule finale est facultative. Si l'option est donnée plusieurs fois, les lignes d'attributs correspondant à l'une des clés sont affichées. Cette option active automatiquement l'option `only` de sorte que les lignes non-attribut dans le bloc d'attributs soient masquées. Si ce n'est pas désiré, ce peut être désactivé avec `only=false`.  Par exemple, `%(trailers:key=Reviewed-by)` affiche les lignes d'attribut avec la clé `Reviewed-by`.

note: type: Plain text
en: 'only[=<BOOL>]': select whether non-trailer lines from the trailer block should be included.
fr: only [=<BOOLÉEN>]' : choisir si les lignes non annotées du bloc de lignes finales doivent être incluses.

note: type: Plain text
en: 'separator=<SEP>': specify a separator inserted between trailer lines. When this option is not given each trailer line is terminated with a line feed character. The string SEP may contain the literal formatting codes described above. To use comma as separator one must use `%x2C` as it would otherwise be parsed as next option. E.g., `%(trailers:key=Ticket,separator=%x2C )` shows all trailer lines whose key is "Ticket" separated by a comma and a space.
fr: 'separator=<SEP>' : spécifie un séparateur inséré entre les lignes d'attributs. Lorsque cette option n'est pas activée, chaque ligne d'attribut est terminée par un caractère de saut de ligne. La chaîne SEP peut contenir les codes de formatage littéral décrits ci-dessus. Pour utiliser la virgule comme séparateur, il faut utiliser `%x2C` car sinon elle serait analysée comme option suivante. Par exemple, `%(trailers:key=Ticket,separator=%x2C )` affiche toutes les lignes d'attributs dont la clé est « Ticket » séparées par une virgule et un espace.

note: type: Plain text
en: 'unfold[=<BOOL>]': make it behave as if interpret-trailer's `--unfold` option was given. E.g., `%(trailers:only,unfold=true)` unfolds and shows all trailer lines.
fr: 'unfold[=<booléen>]' : se comporter comme si l'option `--unfold` d'interprétation des attributs était donnée. Par exemple, `%(trailers:only,unfold=true)` déplie et affiche toutes les lignes d'attributs.

note: type: Plain text
en: 'keyonly[=<BOOL>]': only show the key part of the trailer.
fr: 'keyonly [=<BOOLÉEN>]' : ne montrer que la partie principale du bloc final.

note: type: Plain text
en: 'valueonly[=<BOOL>]': only show the value part of the trailer.
fr: 'valueonly [=<BOOLÉEN>]' : n'affichez que la partie valeur des lignes finales.

note: type: Plain text
en: 'key_value_separator=<SEP>': specify a separator inserted between trailer lines. When this option is not given each trailer key-value pair is separated by ": ". Otherwise it shares the same semantics as 'separator=<SEP>' above.
fr: 'key_value_separator=<SEP>' : spécifier un séparateur inséré entre les lignes finales. Si cette option n'est pas fournie, chaque paire clé-valeur de la ligne finale est séparée par " :", sinon elle partage la même sémantique que 'separator=<SEP>' ci-dessus.

note: type: Plain text
en: Some placeholders may depend on other options given to the revision traversal engine. For example, the `%g*` reflog options will insert an empty string unless we are traversing reflog entries (e.g., by `git log -g`). The `%d` and `%D` placeholders will use the "short" decoration format if `--decorate` was not already provided on the command line.
fr: Certains espaces réservés peuvent dépendre d'autres options données au moteur de traversée de révisions. Par exemple, les options de reflog `%g*` inséreront une chaîne vide à moins que nous ne traversions des entrées de reflog (par exemple, par `git log -g`). Les caractères de remplissage `%d` et `%D` utiliseront le format de décoration « short » si `--decorate` n'a pas déjà été fourni sur la ligne de commande.

note: type: Plain text
en: If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is inserted immediately before the expansion if and only if the placeholder expands to a non-empty string.
fr: Si vous ajoutez un `+` (signe plus) après'%' d'un espace réservé, un saut de ligne est inséré immédiatement avant l'expansion si et seulement si l'espace réservé se développe en une chaîne non vide.

note: type: Plain text
en: If you add a `-` (minus sign) after '%' of a placeholder, all consecutive line-feeds immediately preceding the expansion are deleted if and only if the placeholder expands to an empty string.
fr: Si vous ajoutez un `-` (signe moins) après'%' d'un caractère de remplissage, tous les sauts de ligne consécutifs précédant immédiatement l'expansion sont supprimés si et seulement si l'espace réservé se développe en une chaîne vide.

note: type: Plain text
en: If you add a ` ` (space) after '%' of a placeholder, a space is inserted immediately before the expansion if and only if the placeholder expands to a non-empty string.
fr: Si vous ajoutez un ``(espace) après'%' d'un espace réservé, un espace est inséré immédiatement avant l'expansion si et seulement si l'espace réservé se développe en une chaîne non vide.

note: type: Plain text
en: The 'tformat:' format works exactly like 'format:', except that it provides "terminator" semantics instead of "separator" semantics. In other words, each commit has the message terminator character (usually a newline) appended, rather than a separator placed between entries.  This means that the final entry of a single-line format will be properly terminated with a new line, just as the "oneline" format does.  For example:
fr: Le format'tformat:' fonctionne exactement comme'format:', sauf qu'il fournit une sémantique « terminator » au lieu de  « separator ». En d'autres termes, chaque commit a le caractère de fin de message (habituellement une nouvelle ligne) ajouté, plutôt qu'un séparateur placé entre les entrées.  Cela signifie que l'entrée finale d'un format à une ligne se terminera correctement par une nouvelle ligne, tout comme le format "oneline".  Par exemple :

note: type: Plain text
en: In addition, any unrecognized string that has a `%` in it is interpreted as if it has `tformat:` in front of it.  For example, these two are equivalent:
fr: De plus, toute chaîne non reconnue qui contient un `%` est interprétée comme si elle avait `tformat:` devant elle.  Par exemple, ces deux éléments sont équivalents :

note: type: Plain text
en: Pretty-print the contents of the commit logs in a given format, where '<format>' can be one of 'oneline', 'short', 'medium', 'full', 'fuller', 'reference', 'email', 'raw', 'format:<string>' and 'tformat:<string>'.  When '<format>' is none of the above, and has '%placeholder' in it, it acts as if '--pretty=tformat:<format>' were given.
fr: Formater le contenu des journaux de commits dans un format donné, où '<format>' peut être au choix parmi 'oneline', 'short', 'medium', 'full', 'fuller', 'reference', 'email', 'raw', 'format:<chaîne>' et 'tformat:<chaîne>'.  Lorsque '<format>' n'est rien de ce qui précède, et qu'il contient'%format', il agit comme si '--pretty=tformat:<format>' était donné.

note: type: Plain text
en: See the "PRETTY FORMATS" section for some additional details for each format.  When '=<format>' part is omitted, it defaults to 'medium'.
fr: Voir la section "MISE EN FORME" pour plus de détails pour chaque format.  Lorsque la partie'=<format>' est omise, la valeur par défaut est'medium'.

note: type: Plain text
en: Note: you can specify the default pretty format in the repository configuration (see linkgit:git-config[1]).
fr: Note : vous pouvez spécifier le format par défaut dans la configuration du dépôt `commit.cleanup` (voir linkgit:git-config[1]).

note: type: Plain text
en: Instead of showing the full 40-byte hexadecimal commit object name, show a prefix that names the object uniquely.  "--abbrev=<n>" (which also modifies diff output, if it is displayed)  option can be used to specify the minimum length of the prefix.
fr: Au lieu d'afficher le nom complet hexadécimal de 40 octets de l'objet commit, afficher un préfixe qui nomme l'objet de manière unique. L'option "--abbrev=<n>" (qui modifie également la sortie diff, si elle est affichée) peut être utilisée pour spécifier la longueur minimale du préfixe.

note: type: Plain text
en: This should make "--pretty=oneline" a whole lot more readable for people using 80-column terminals.
fr: Cela devrait rendre "--pretty=online" beaucoup plus lisible pour les personnes utilisant des terminaux à 80 colonnes.

note: type: Plain text
en: Show the full 40-byte hexadecimal commit object name. This negates `--abbrev-commit`, either explicit or implied by other options such as "--oneline". It also overrides the `log.abbrevCommit` variable.
fr: Afficher le nom complet hexadécimal de 40 octets de l'objet commit. Ceci annule `--abbrev-commit`, qu'elle soit explicitement ou implicitement impliquée par d'autres options telles que "--online". Elle remplace également la variable `log.abbrevCommit`.

note: type: Plain text
en: This is a shorthand for "--pretty=oneline --abbrev-commit" used together.
fr: C'est un raccourci pour "--pretty=online --abbrev-commit" utilisés ensemble.

note: type: Plain text
en: The commit objects record the encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user.  For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in `X` and we are outputting in `X`, we will output the object verbatim; this means that invalid sequences in the original commit may be copied to the output.
fr: Les objets commit enregistrent l'encodage utilisé pour le message de log dans leur en-tête d'encodage ; cette option peut être utilisée pour indiquer à la commande de recoder le message de log  du commit dans l'encodage préféré par l'utilisateur.  Pour les commandes hors plomberie, cette valeur par défaut est UTF-8. Notez que si un objet prétend être encodé en `X` et que nous sortons en `X`, nous allons sortir l'objet à l'identique ; cela signifie que les séquences invalides dans la livraison originale peuvent être copiées dans la sortie.

note: type: Plain text
en: Perform a tab expansion (replace each tab with enough spaces to fill to the next display column that is multiple of '<n>')  in the log message before showing it in the output.  `--expand-tabs` is a short-hand for `--expand-tabs=8`, and `--no-expand-tabs` is a short-hand for `--expand-tabs=0`, which disables tab expansion.
fr: Effectuer une extension de tabulation (remplacer chaque tabulation par suffisamment d'espaces pour remplir jusqu'à la colonne d'affichage suivante qui est multiple de'<n>') dans le message de journal avant de l'afficher dans la sortie.  `--expand-tabs` est un raccourci  pour `--expand-tabs=8`, et `--no-expand-tabs` est un raccourci pour `--expand-tabs=0`, qui désactive l'extension des tabulations.

note: type: Plain text
en: By default, tabs are expanded in pretty formats that indent the log message by 4 spaces (i.e.  'medium', which is the default, 'full', and 'fuller').
fr: Par défaut, les tabulations sont développées par les formatages qui indentent le message de log par 4 espaces (c'est-à-dire 'medium', qui est le format par défaut, 'full', 'fuller').

note: type: Plain text
en: Show the notes (see linkgit:git-notes[1]) that annotate the commit, when showing the commit log message.  This is the default for `git log`, `git show` and `git whatchanged` commands when there is no `--pretty`, `--format`, or `--oneline` option given on the command line.
fr: Afficher les notes (voir linkgit:git-notes[1]) qui annotent le commit, lors de l'affichage du message du journal de commit.  C'est la valeur par défaut pour les commandes `git log`, `git show` et `git whatchanged` lorsqu'il n'y a pas d'option `--pretty`, `--format` ou `--online` sur la ligne de commande.

note: type: Plain text
en: By default, the notes shown are from the notes refs listed in the `core.notesRef` and `notes.displayRef` variables (or corresponding environment overrides). See linkgit:git-config[1] for more details.
fr: Par défaut, les notes affichées proviennent des références de notes listées dans les variables `core.notesRef` et `notes.displayRef` (ou les substitutions d'environnement correspondantes). Voir linkgit:git-config[1] pour plus de détails.

note: type: Plain text
en: With an optional '<ref>' argument, use the ref to find the notes to display.  The ref can specify the full refname when it begins with `refs/notes/`; when it begins with `notes/`, `refs/` and otherwise `refs/notes/` is prefixed to form a full name of the ref.
fr: Avec un argument optionnel'<ref>', utiliser la référence pour trouver les notes à afficher.  La référence peut spécifier le nom complet de référence quand elle commence par `refs/notes/` ; quand elle commence par `notes/`, `refs/` et sinon `refs/notes/` est préfixé pour former un nom complet de la référence.

note: type: Plain text
en: Multiple --notes options can be combined to control which notes are being displayed. Examples: "--notes=foo" will show only notes from "refs/notes/foo"; "--notes=foo --notes" will show both notes from "refs/notes/foo" and from the default notes ref(s).
fr: Plusieurs options --notes peuvent être combinées pour contrôler quelles notes sont affichées. Exemples : "--notes=foo" affichera uniquement les notes de "refs/notes/foo" ; "--notes=foo --notes" affichera les notes de "refs/notes/foo" et des ref(s) de notes par défaut.

note: type: Plain text
en: Do not show notes. This negates the above `--notes` option, by resetting the list of notes refs from which notes are shown.  Options are parsed in the order given on the command line, so e.g.  "--notes --notes=foo --no-notes --notes=bar" will only show notes from "refs/notes/bar".
fr: Ne pas afficher les notes. Ceci annule l'option `--notes` ci-dessus, en réinitialisant la liste des références de notes à partir desquelles les notes sont affichées.  Les options sont analysées dans l'ordre donné sur la ligne de commande, par exemple "--notes --notes --notes=foo --no-notes --notes=bar" n'affichera que les notes "refs/notes/bar".

note: type: Labeled list
en: --show-notes[=<ref>]
fr: --show-notes[=<reférence>]

note: type: Plain text
en: These options are deprecated. Use the above --notes/--no-notes options instead.
fr: Ces options sont obsolètes. Utilisez plutôt les options --notes/--no-notes ci-dessus.

note: type: Plain text
en: Check the validity of a signed commit object by passing the signature to `gpg --verify` and show the output.
fr: Vérifier la validité d'un objet commit signé en passant la signature à `gpg --verify' et afficher le résultat.

note: type: Plain text
en: The "remote" repository that is the source of a fetch or pull operation.  This parameter can be either a URL (see the section <<URLS,GIT URLS>> below) or the name of a remote (see the section <<REMOTES,REMOTES>> below).
fr: 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 <<URLS, URLS GIT>> ci-dessous) soit le nom d'un remote (voir la section <<REMOTES,DISTANTS>> ci-dessous).

note: type: Labeled list
en: <group>
fr: <groupe>

note: type: Plain text
en: A name referring to a list of repositories as the value of remotes.<group> in the configuration file.  (See linkgit:git-config[1]).
fr: Un nom faisant référence à une liste des dépôts comme la valeur de remotes.<groupe> dans le fichier de configuration. (voir linkgit:git-config[1]).

note: type: Labeled list
en: <refspec>
fr: <spécificateur-de-référence>

note: type: Plain text
en: Specifies which refs to fetch and which local refs to update.  When no <refspec>s appear on the command line, the refs to fetch are read from `remote.<repository>.fetch` variables instead
fr: 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 `remote.<dépôt>.fetch` à la place

note: type: Plain text
en: 	(see <<CRTB,CONFIGURED REMOTE-TRACKING BRANCHES>> below).
fr: 	(voir <<CRTB,BRANCHES DE SUIVI À DISTANCE CONFIGURÉES>> ci-dessous).

note: type: Plain text
en: 	(see the section "CONFIGURED REMOTE-TRACKING BRANCHES"
    	in linkgit:git-fetch[1]).
fr: 	(voir la section "<<BRANCHES DE SUIVI À DISTANCE CONFIGURÉES>>"
    	dans linkgit:git-fetch[1]).

note: type: Plain text
en: The format of a <refspec> parameter is an optional plus `+`, followed by the source <src>, followed by a colon `:`, followed by the destination ref <dst>.  The colon can be omitted when <dst> is empty.  <src> is typically a ref, but it can also be a fully spelled hex object name.
fr: Le format d'un paramètre <spéc-de-réf> est un plus `+` optionnel, suivi de la source <src>, suivi de deux points `:`, suivi de la destination ref <dst>.  Les deux points peuvent être omis lorsque <dst> est vide.  <src> est typiquement une réf, mais cela peut aussi être un nom d'objet hexadécimal entier.

note: type: Plain text
en: A <refspec> may contain a `*` in its <src> to indicate a simple pattern match. Such a refspec functions like a glob that matches any ref with the same prefix. A pattern <refspec> must have a `*` in both the <src> and <dst>. It will map refs to the destination by replacing the `*` with the contents matched from the source.
fr: Un <spec-de-réf> peut contenir un `*` 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 `*` dans les deux <src> et <dst>. Il va faire correspondre les références à la destination en remplaçant le `*` par le contenu correspondant de la source.

note: type: Plain text
en: If a refspec is prefixed by `^`, it will be interpreted as a negative refspec. Rather than specifying which refs to fetch or which local refs to update, such a refspec will instead specify refs to exclude. A ref will be considered to match if it matches at least one positive refspec, and does not match any negative refspec. Negative refspecs can be useful to restrict the scope of a pattern refspec so that it will not include specific refs.  Negative refspecs can themselves be pattern refspecs. However, they may only contain a <src> and do not specify a <dst>. Fully spelled out hex object names are also not supported.
fr: Si un spécificateur de référence est préfixé par `^`, 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.

note: type: Plain text
en: `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`; it requests fetching everything up to the given tag.
fr: `tag <étiquette>` signifie la même chose que `refs/tags/<tag>:refs/tags/<tag>` ; cela demande de tout récupérer jusqu'à l'étiquette donnée.

note: type: Plain text
en: The remote ref that matches <src> is fetched, and if <dst> is not an empty string, an attempt is made to update the local ref that matches it.
fr: 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.

note: type: Plain text
en: Whether that update is allowed without `--force` depends on the ref namespace it's being fetched to, the type of object being fetched, and whether the update is considered to be a fast-forward. Generally, the same rules apply for fetching as when pushing, see the `<refspec>...` section of linkgit:git-push[1] for what those are. Exceptions to those rules particular to 'git fetch' are noted below.
fr: Le fait que cette mise à jour soit autorisée sans `---force` 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 `<spéc-de-réf>...` de linkgit:git-push[1] pour les connaître. Les exceptions à ces règles particulières à 'git fetch' sont notées ci-dessous.

note: type: Plain text
en: Until Git version 2.20, and unlike when pushing with linkgit:git-push[1], any updates to `refs/tags/*` would be accepted without `+` in the refspec (or `--force`). When fetching, we promiscuously considered all tag updates from a remote to be forced fetches.  Since Git version 2.20, fetching to update `refs/tags/*` works the same way as when pushing. I.e. any updates will be rejected without `+` in the refspec (or `--force`).
fr: Jusqu'à la version 2.20 de Git, et contrairement à ce qui se passe avec linkgit:git-push[1], toute mise à jour de `refs/tags/*` serait acceptée sans `+` dans la spéc-de-réf (ou `--force`). 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 `refs/tags/*` 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 `--force`).

note: type: Plain text
en: Unlike when pushing with linkgit:git-push[1], any updates outside of `refs/{tags,heads}/*` will be accepted without `+` in the refspec (or `--force`), whether that's swapping e.g. a tree object for a blob, or a commit for another commit that's doesn't have the previous commit as an ancestor etc.
fr: Contrairement à une poussée avec linkgit:git-push[1], toute mise à jour en dehors de `refs/{tags,heads}/*` sera acceptée sans `+` dans le spéc-de-réf (ou `--force`), 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.

note: type: Plain text
en: Unlike when pushing with linkgit:git-push[1], there is no configuration which'll amend these rules, and nothing like a `pre-fetch` hook analogous to the `pre-receive` hook.
fr: Contrairement à une poussée avec linkgit:git-push[1], il n'y a pas de configuration qui modifie ces règles, et rien de tel qu'un crochet pré-récupération `pre-fetch` analogue à celui de pré-réception`pre-receive`.

note: type: Plain text
en: As with pushing with linkgit:git-push[1], all of the rules described above about what's not allowed as an update can be overridden by adding an the optional leading `+` to a refspec (or using `--force` command line option). The only exception to this is that no amount of forcing will make the `refs/heads/*` namespace accept a non-commit object.
fr: Comme pour la poussée avec linkgit:git-push[1], 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 `--force`). La seule exception à cette règle est qu'aucun forçage ne fera accepter à l'espace de noms `refs/heads/*` un objet non commit.

note: type: Plain text
en: When the remote branch you want to fetch is known to be rewound and rebased regularly, it is expected that its new tip will not be descendant of its previous tip (as stored in your remote-tracking branch the last time you fetched).  You would want to use the `+` sign to indicate non-fast-forward updates will be needed for such branches.  There is no way to determine or declare that a branch will be made available in a repository with this behavior; the pulling user simply must know this is the expected usage pattern for a branch.
fr: 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.

note: type: Plain text
en: There is a difference between listing multiple <refspec> directly on 'git pull' command line and having multiple `remote.<repository>.fetch` entries in your configuration for a <repository> and running a 'git pull' command without any explicit <refspec> parameters.  <refspec>s listed explicitly on the command line are always merged into the current branch after fetching.  In other words, if you list more than one remote ref, 'git pull' will create an Octopus merge.  On the other hand, if you do not list any explicit <refspec> parameter on the command line, 'git pull' will fetch all the <refspec>s it finds in the `remote.<repository>.fetch` configuration and merge only the first <refspec> found into the current branch.  This is because making an Octopus from remote refs is rarely done, while keeping track of multiple remote heads in one-go by fetching more than one is often useful.
fr: Il y a une différence entre le fait de lister plusieurs <spéc-de-réf> directement sur la ligne de commande 'git pull' et le fait d'avoir plusieurs entrées `remote.<dépôt>.fetch` dans votre configuration pour un <dépôt> et d'exécuter une commande 'git pull' 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, 'git pull' 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, 'git pull' récupérera tous les <spéc-de-réf>s qu'il trouve dans la configuration `remote.<dépôt>.fetch` 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.

note: type: Plain text
en: When combining multiple `--contains` and `--no-contains` filters, only references that contain at least one of the `--contains` commits and contain none of the `--no-contains` commits are shown.
fr: Lorsque vous combinez plusieurs filtres `--contains` et `--no-contains`, seules les références qui contiennent au moins un des commits `--contains` et ne contiennent aucun des commits `--no-contains` sont affichées.

note: type: Plain text
en: When combining multiple `--merged` and `--no-merged` filters, only references that are reachable from at least one of the `--merged` commits and from none of the `--no-merged` commits are shown.
fr: Lorsque vous combinez plusieurs filtres `--merged` et `--no-merged`, seules les références qui sont accessibles depuis au moins un des commits `--merged` et depuis aucun des commits `--no-merged` sont affichées.

note: type: Plain text
en: Specifying several revisions means the set of commits reachable from any of the given commits.
fr: Spécifier plusieurs révisions signifie l'ensemble de commits accessibles à partir de l'un des commits donnés.

note: type: Plain text
en: List commits that are reachable by following the `parent` links from the given commit(s), but exclude commits that are reachable from the one(s)  given with a '{caret}' in front of them.  The output is given in reverse chronological order by default.
fr: Liste les commits qui sont accessibles en suivant les liens `parents` du ou des commits donnés, mais exclut les commits qui sont accessibles depuis le ou les commits donnés avec un '{caret}' devant eux.  La sortie est donnée dans l'ordre chronologique inverse par défaut.

note: type: Plain text
en: You can think of this as a set operation. Commits reachable from any of the commits given on the command line form a set, and then commits reachable from any of the ones given with '{caret}' in front are subtracted from that set.  The remaining commits are what comes out in the command's output.  Various other options and paths parameters can be used to further limit the result.
fr: Vous pouvez considérer cela comme une opération sur un ensemble. Les commits accessibles à partir de n'importe lequel des commits donnés sur la ligne de commande forment un ensemble, puis les commits accessibles à partir de n'importe lequel de ceux donnés avec '{caret}' devant sont soustraits de cet ensemble.  Les commits restants sont ceux qui apparaissent dans la sortie de la commande.  Diverses autres options et paramètres de chemins peuvent être utilisés pour limiter davantage le résultat.

note: type: Plain text
en: Thus, the following command:
fr: Ainsi, la commande suivante :

note: type: Plain text
en: means "list all the commits which are reachable from 'foo' or 'bar', but not from 'baz'".
fr: signifie "liste tous les commits qui sont accessibles depuis 'foo' ou 'bar', mais pas depuis 'baz'".

note: type: Plain text
en: A special notation "'<commit1>'..'<commit2>'" can be used as a short-hand for "^'<commit1>' '<commit2>'". For example, either of the following may be used interchangeably:
fr: Une notation spéciale "'<commit1>'..'<commit2>'" peut être utilisée comme raccourci pour "^'<commit1>' '<commit2>'". Par exemple, l'un ou l'autre des éléments suivants peut être utilisé de manière interchangeable :

note: type: Plain text
en: Another special notation is "'<commit1>'...'<commit2>'" which is useful for merges.  The resulting set of commits is the symmetric difference between the two operands.  The following two commands are equivalent:
fr: Une autre notation spéciale est "'<commit1>'...'<commit2>'" qui est utile pour les fusions.  L'ensemble de commits résultant est la différence symétrique entre les deux opérandes.  Les deux commandes suivantes sont équivalentes :

note: type: Title ~
en: Commit Limiting
fr: Limitation de commit

note: type: Plain text
en: Besides specifying a range of commits that should be listed using the special notations explained in the description, additional commit limiting may be applied.
fr: En plus de spécifier une plage de commits qui doivent être listés en utilisant les notations spéciales expliquées dans la description, des limitations supplémentaires de commits peuvent être appliquées.

note: type: Plain text
en: Using more options generally further limits the output (e.g.  `--since=<date1>` limits to commits newer than `<date1>`, and using it with `--grep=<pattern>` further limits to commits whose log message has a line that matches `<pattern>`), unless otherwise noted.
fr: L'utilisation d'un plus grand nombre d'options filtre généralement plus la sortie (par exemple `--since=<date1>` limite aux commits plus récents que `<date1>`, et son utilisation avec `--grep=<motif>` limite aux commits dont le message de journal a une ligne qui correspond `<motif>`), sauf indication contraire.

note: type: Plain text
en: Note that these are applied before commit ordering and formatting options, such as `--reverse`.
fr: Notez que celles-ci sont appliquées avant les options de classement et de formatage des commits, telles que `--reverse`.

note: type: Labeled list
en: -<number>
fr: -<nombre>

note: type: Labeled list
en: -n <number>
fr: -n <nombre>

note: type: Labeled list
en: --max-count=<number>
fr: --max-count==<nombre>

note: type: Plain text
en: Limit the number of commits to output.
fr: Limite le nombre de commits dans la sortie.

note: type: Labeled list
en: --skip=<number>
fr: --skip=<nombre>

note: type: Plain text
en: Skip 'number' commits before starting to show the commit output.
fr: Sauter'nombre' commits avant de commencer à afficher la sortie de journal.

note: type: Plain text
en: Show commits more recent than a specific date.
fr: Afficher les commits plus récents qu'une date spécifique.

note: type: Plain text
en: Show commits older than a specific date.
fr: Afficher les commits plus anciens qu'une date spécifique.

note: type: Labeled list
en: --max-age=<timestamp>
fr: --max-age=<horodatage>

note: type: Labeled list
en: --min-age=<timestamp>
fr: --min-age=<horodatage>

note: type: Plain text
en: Limit the commits output to specified time range.
fr: Limiter la sortie des commits à une plage de temps spécifiée.

note: type: Labeled list
en: --author=<pattern>
fr: --author=<motif>

note: type: Labeled list
en: --committer=<pattern>
fr: --committer=<motif>

note: type: Plain text
en: Limit the commits output to ones with author/committer header lines that match the specified pattern (regular expression).  With more than one `--author=<pattern>`, commits whose author matches any of the given patterns are chosen (similarly for multiple `--committer=<pattern>`).
fr: Limiter la sortie des commits à ceux dont les lignes d'en-tête auteur/validateur correspondent au motif spécifié (expression régulière).  Avec plus d'un `--author=<motif>`, les commits dont l'auteur correspond à l'un des motifs donnés sont choisis (de même pour plusieurs `--committer=<motif>`).

note: type: Labeled list
en: --grep-reflog=<pattern>
fr: --grep-reflog=<motif>

note: type: Plain text
en: Limit the commits output to ones with reflog entries that match the specified pattern (regular expression). With more than one `--grep-reflog`, commits whose reflog message matches any of the given patterns are chosen.  It is an error to use this option unless `--walk-reflogs` is in use.
fr: Limiter la sortie des commits à ceux dont les entrées de reflog correspondent au motif spécifié (expression régulière). Avec plus d'un `--grep-reflog', les commits dont le message de reflog correspond à l'un des modèles donnés sont choisis.  C'est une erreur d'utiliser cette option à moins que `-walk-reflogs' ne soit utilisé.

note: type: Labeled list
en: --grep=<pattern>
fr: --grep=<motif>

note: type: Plain text
en: Limit the commits output to ones with log message that matches the specified pattern (regular expression).  With more than one `--grep=<pattern>`, commits whose message matches any of the given patterns are chosen (but see `--all-match`).
fr: Limiter la sortie des commits à ceux dont le message de validation correspond au motif spécifié (expression régulière).  Avec plus d'un `--grep=<motif>`, les commits dont le message correspond à l'un des motifs donnés sont choisis (mais voir `--all-match`).

note: type: Plain text
en: When `--notes` is in effect, the message from the notes is matched as if it were part of the log message.
fr: Lorsque `notes' est en vigueur, le message des notes est vérifié comme s'il faisait partie du message du journal.

note: type: Plain text
en: Limit the commits output to ones that match all given `--grep`, instead of ones that match at least one.
fr: Limiter la sortie des commits à ceux qui correspondent à la fois à tous les `--grep' donnés, au lieu de ceux qui correspondent à au moins un.

note: type: Plain text
en: Limit the commits output to ones with log message that do not match the pattern specified with `--grep=<pattern>`.
fr: Limiter la sortie des commits à ceux dont le message de log ne correspond pas au motif spécifié avec `--grep=<motif>`.

note: type: Plain text
en: Match the regular expression limiting patterns without regard to letter case.
fr: Faites correspondre les expressions régulières sans tenir compte de la casse des lettres.

note: type: Plain text
en: Consider the limiting patterns to be basic regular expressions; this is the default.
fr: Considérer les motifs limitatifs comme des expressions régulières de base ; c'est la valeur par défaut.

note: type: Plain text
en: Consider the limiting patterns to be extended regular expressions instead of the default basic regular expressions.
fr: Considérer les motifs limitatifs comme des expressions régulières étendues au lieu des expressions régulières par défaut de base.

note: type: Plain text
en: Consider the limiting patterns to be fixed strings (don't interpret pattern as a regular expression).
fr: Considérer les motifs limitatifs comme des chaînes de caractères fixes (ne pas interpréter le motif comme une expression régulière).

note: type: Plain text
en: Consider the limiting patterns to be Perl-compatible regular expressions.
fr: Considérer les motifs limitatifs comme des expressions régulières compatibles Perl.

note: type: Plain text
en: Stop when a given path disappears from the tree.
fr: Arrêter lorsqu'un chemin donné disparaît de l'arbre.

note: type: Plain text
en: Print only merge commits. This is exactly the same as `--min-parents=2`.
fr: N'afficher que les commits de fusion. C'est exactement la même chose que `--min-parents=2`.

note: type: Plain text
en: Do not print commits with more than one parent. This is exactly the same as `--max-parents=1`.
fr: Ne pas afficher les commits avec plus d'un parent. C'est exactement la même chose que `--max-parents=1`.

note: type: Labeled list
en: --min-parents=<number>
fr: --min-parents=<nombre>

note: type: Labeled list
en: --max-parents=<number>
fr: --max-parents=<nombre>

note: type: Plain text
en: Show only commits which have at least (or at most) that many parent commits. In particular, `--max-parents=1` is the same as `--no-merges`, `--min-parents=2` is the same as `--merges`.  `--max-parents=0` gives all root commits and `--min-parents=3` all octopus merges.
fr: Afficher uniquement les commits qui ont au moins (ou au plus) autant de commits parents. En particulier, `--max-parents=1` est la même chose que `--no-merges`, `--min-parents=2` est la même chose que `--merges`.  `--max-parents=0` donne tous les commits racine et `--min-parents=3` toutes les fusions octopus.

note: type: Plain text
en: `--no-min-parents` and `--no-max-parents` reset these limits (to no limit)  again.  Equivalent forms are `--min-parents=0` (any commit has 0 or more parents) and `--max-parents=-1` (negative numbers denote no upper limit).
fr: `--no-min-parents` et `--no-max-parents` réinitialisent ces limites (à sans limite).  Les formes équivalentes sont `--min-parents=0` (tout commit a 0 ou plus de parents) et `--max-parents=-1` (les nombres négatifs dénotent l'absence de limite supérieure).

note: type: Plain text
en: Follow only the first parent commit upon seeing a merge commit.  This option can give a better overview when viewing the evolution of a particular topic branch, because merges into a topic branch tend to be only about adjusting to updated upstream from time to time, and this option allows you to ignore the individual commits brought in to your history by such a merge.
fr: Ne suivre que le premier commit parent lors d'un commit de fusion.  Cette option peut donner une meilleure vue d'ensemble lors de l'affichage de l'évolution d'une branche de sujet particulière, parce que la fusion dans une branche de sujet a tendance à n'être que des mises à jour avec l'amont de temps en temps, et cette option permet d'ignorer les commits individuels apportés dans votre historique par de telles fusions.

note: type: Plain text
en: This option also changes default diff format for merge commits to `first-parent`, see `--diff-merges=first-parent` for details.
fr: Cette option change également le format de diff par défaut pour les commits de fusion à `first-parent`, voir `--diff-merges=first-parent` pour plus de détails.

note: type: Plain text
en: Reverses the meaning of the '{caret}' prefix (or lack thereof)  for all following revision specifiers, up to the next `--not`.
fr: Inverser la signification du préfixe'{caret}' (ou son absence) pour tous les spécificateurs de révision suivants, jusqu'au prochain `--not`.

note: type: Plain text
en: Pretend as if all the refs in `refs/`, along with `HEAD`, are listed on the command line as '<commit>'.
fr: Faire comme si toutes les refs de `refs/`, ainsi que `HEAD`, étaient listées sur la ligne de commande comme'<commit>'.

note: type: Labeled list
en: --branches[=<pattern>]
fr: --branches[=<motif>]

note: type: Plain text
en: Pretend as if all the refs in `refs/heads` are listed on the command line as '<commit>'. If '<pattern>' is given, limit branches to ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
fr: Faire comme si toutes les refs de `refs/heads` étaient listées sur la ligne de commande comme'<commit>'. Si'<motif>' est fournir, limiter les branches à celles qui correspondent à un glob shell donné. Si le motif ne présente pas de '?', '{asterisk}', ni '[', '/{asterisk}' à la fin est implicite.

note: type: Labeled list
en: --tags[=<pattern>]
fr: --tags[=<motif>]

note: type: Plain text
en: Pretend as if all the refs in `refs/tags` are listed on the command line as '<commit>'. If '<pattern>' is given, limit tags to ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
fr: Faire comme si toutes les refs de `refs/tags` étaient listées sur la ligne de commande comme'<commit>'. Si'<motif>' est fournir, limiter les étiquettes à celles qui correspondent à un glob shell donné. Si le motif ne présente pas de '?', '{asterisk}', ni '[', '/{asterisk}' à la fin est implicite.

note: type: Labeled list
en: --remotes[=<pattern>]
fr: --remotes[=<motif>]

note: type: Plain text
en: Pretend as if all the refs in `refs/remotes` are listed on the command line as '<commit>'. If '<pattern>' is given, limit remote-tracking branches to ones matching given shell glob.  If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
fr: Faire comme si toutes les refs de `refs/remotes' étaient listées sur la ligne de commande comme'<commit>'. Si'<motif>' est donné, limiter les branches de suivi à distance à celles qui correspondent à un glob shell donné.  Si le motif ne présent pas '?', '{asterisk}', ni '[', '/{asterisk}' à la fin est implicite.

note: type: Labeled list
en: --glob=<glob-pattern>
fr: --glob=<motif-glob>

note: type: Plain text
en: Pretend as if all the refs matching shell glob '<glob-pattern>' are listed on the command line as '<commit>'. Leading 'refs/', is automatically prepended if missing. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied.
fr: Faire comme si toutes les réfs correspondant au shell glob'<motif-glob>' étaient listées sur la ligne de commande comme'<commit>'. Le préfixe 'refs/', est automatiquement ajouté s'il n'y en a pas. Si le motif ne présente pas de '?', '{asterisk}', ni '[', '/{asterisk}' à la fin est implicite.

note: type: Plain text
en: Pretend as if all objects mentioned by reflogs are listed on the command line as `<commit>`.
fr: Faire comme si tous les objets mentionnés par les reflogs étaient listés sur la ligne de commande comme `<commit>`.

note: type: Plain text
en: Pretend as if all objects mentioned as ref tips of alternate repositories were listed on the command line. An alternate repository is any repository whose object directory is specified in `objects/info/alternates`.  The set of included objects may be modified by `core.alternateRefsCommand`, etc. See linkgit:git-config[1].
fr: Faire comme si tous les objets mentionnés en tant que sommets de référence des dépôts alternatifs étaient listés sur la ligne de commande. Un dépôt alternatif est tout dépôt dont le répertoire d'objets est spécifié dans `objects/info/alternates`.  L'ensemble des objets inclus peut être modifié par `core.alternateRefsCommand`, etc. Voir linkgit:git-config[1].

note: type: Plain text
en: By default, all working trees will be examined by the following options when there are more than one (see linkgit:git-worktree[1]): `--all`, `--reflog` and `--indexed-objects`.  This option forces them to examine the current working tree only.
fr: Par défaut, tous les arbres de travail seront examinés par les options suivantes lorsqu'il y en a plusieurs (voir linkgit:git-worktree[1]) : `--all`, `--reflog` et `--indexed-objects`.  Cette option les oblige à n'examiner que l'arbre de travail actuel.

note: type: Plain text
en: Upon seeing an invalid object name in the input, pretend as if the bad input was not given.
fr: En voyant un nom d'objet invalide dans l'entrée, faire comme si la mauvaise entrée n'avait pas été donnée.

note: type: Plain text
en: Pretend as if the bad bisection ref `refs/bisect/bad` was listed and as if it was followed by `--not` and the good bisection refs `refs/bisect/good-*` on the command line.
fr: Faire comme si le mauvais bissection ref `refs/bisect/bad` a été inscrite comme si elle a été suivie par `--not` et que les bonnes refs de bissection `refs/bisect/good-*` sur la ligne de commande.

note: type: Plain text
en: In addition to the '<commit>' listed on the command line, read them from the standard input. If a `--` separator is seen, stop reading commits and start reading paths to limit the result.
fr: En plus des '<commit>' indiqués sur la ligne de commande, les lire à partir de l'entrée standard. Si un séparateur `--` est vu, arrêter la lecture des commits et commencer à lire les chemins pour limiter le résultat.

note: type: Plain text
en: Don't print anything to standard output.  This form is primarily meant to allow the caller to test the exit status to see if a range of objects is fully connected (or not).  It is faster than redirecting stdout to `/dev/null` as the output does not have to be formatted.
fr: Ne rien imprimer en sortie standard.  Cette forme est principalement destinée à permettre à l'appelant de tester l'état de sortie pour voir si une série d'objets est entièrement connectée (ou non).  C'est plus rapide que de rediriger stdout vers `/dev/null` car la sortie n'a pas besoin d'être formatée.

note: type: Plain text
en: Suppress normal output; instead, print the sum of the bytes used for on-disk storage by the selected commits or objects. This is equivalent to piping the output into `git cat-file --batch-check='%(objectsize:disk)'`, except that it runs much faster (especially with `--use-bitmap-index`). See the `CAVEATS` section in linkgit:git-cat-file[1] for the limitations of what "on-disk storage" means.
fr: Supprimer la sortie normale ; afficher plutôt la somme des octets utilisés pour le stockage sur disque par les commits ou les objets sélectionnés. Cela équivaut à envoyer la sortie dans `git cat-file --batch-check='%(objectsize:disk)'`, sauf que cela fonctionne beaucoup plus vite (surtout avec `--use-bitmap-index`). Voir la section `AVERTISSEMENTS` dans linkgit:git-cat-file[1] pour les limitations de ce que signifie "stockage sur disque".

note: type: Plain text
en: Like `--cherry-pick` (see below) but mark equivalent commits with `=` rather than omitting them, and inequivalent ones with `+`.
fr: Comme `--cherry-pick` (voir ci-dessous) mais marquer les commits équivalents avec `==` plutôt que de les omettre, et les différents avec `+`.

note: type: Plain text
en: Omit any commit that introduces the same change as another commit on the ``other side'' when the set of commits are limited with symmetric difference.
fr: Omettre tout commit qui introduit le même changement qu'un autre commit de l'"autre côté" lorsque l'ensemble des commits est limité avec une différence symétrique.

note: type: Plain text
en: For example, if you have two branches, `A` and `B`, a usual way to list all commits on only one side of them is with `--left-right` (see the example below in the description of the `--left-right` option). However, it shows the commits that were cherry-picked from the other branch (for example, ``3rd on b'' may be cherry-picked from branch A). With this option, such pairs of commits are excluded from the output.
fr: Par exemple, si vous avez deux branches, `A` et `B`, une façon habituelle de lister tous les commits d'un seul côté d'entre elles est avec `--left-right` (voir l'exemple ci-dessous dans la description de l'option `--left-right`). Cependant, cela montre les commits qui ont été picorés sur l'autre branche (par exemple, ``3rd on b'' peut être trié sur la branche A). Avec cette option, ces paires de commits sont exclues de la sortie.

note: type: Plain text
en: List only commits on the respective side of a symmetric difference, i.e. only those which would be marked `<` resp. `>` by `--left-right`.
fr: Ne lister que les commits du côté respectif d'une différence symétrique, c'est-à-dire seulement ceux qui seraient marqués `<` resp. `>` par `--left-right`.

note: type: Plain text
en: For example, `--cherry-pick --right-only A...B` omits those commits from `B` which are in `A` or are patch-equivalent to a commit in `A`. In other words, this lists the `+` commits from `git cherry A B`.  More precisely, `--cherry-pick --right-only --no-merges` gives the exact list.
fr: Par exemple, `--cherry-pick --right-only A...B` omet les commits de `B` qui sont dans `A` ou sont équivalents en rustine à un commit en `A`. En d'autres termes, cela liste les commits `+` de `git cherry A B`.  Plus précisément, `--cherry-pick --right-only --no-merges` donne la liste exacte.

note: type: Plain text
en: A synonym for `--right-only --cherry-mark --no-merges`; useful to limit the output to the commits on our side and mark those that have been applied to the other side of a forked history with `git log --cherry upstream...mybranch`, similar to `git cherry upstream mybranch`.
fr: Un synonyme pour `--right-only --cherry-mark --no-merges` ; utile pour limiter la sortie aux commits de notre côté et marquer ceux qui ont été appliqués de l'autre côté d'un historique en fourche avec `git log --cherry amont...mabranche', similaire à `git cherry upstream mabranche`.

note: type: Plain text
en: Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones.  When this option is used you cannot specify commits to exclude (that is, '{caret}commit', 'commit1..commit2', and 'commit1\...commit2' notations cannot be used).
fr: Au lieu de marcher dans la chaîne des commits ancêtres, parcourir les entrées de reflog du plus récent au plus ancien.  Lorsque cette option est utilisée, vous ne pouvez pas spécifier de commits à exclure (c'est-à-dire que les notations '{caret}commit', 'commit1..commit2' et'commit1\...commit2' ne peuvent pas être utilisées).

note: type: Plain text
en: With `--pretty` format other than `oneline` and `reference` (for obvious reasons), this causes the output to have two extra lines of information taken from the reflog.  The reflog designator in the output may be shown as `ref@{Nth}` (where `Nth` is the reverse-chronological index in the reflog) or as `ref@{timestamp}` (with the timestamp for that entry), depending on a few rules:
fr: Avec le format `--pretty` autre que `online` et `reference` (pour des raisons évidentes), cela fait que la sortie a deux lignes supplémentaires d'informations tirées du reflog.  L'indicateur de reflog dans la sortie peut être affiché comme `ref@{Nième}` (où `Nième` est l'index chronologique inverse dans le reflog) ou comme `ref@{horodatage}` (avec l'horodatage pour cette entrée), selon quelques règles :

note: type: Plain text
en: If the starting point is specified as `ref@{Nth}`, show the index format.
fr: Si le point de départ est spécifié comme `ref@{Nième}`, afficher le format de l'index.

note: type: Plain text
en: If the starting point was specified as `ref@{now}`, show the timestamp format.
fr: Si le point de départ a été spécifié comme `ref@{now}`, afficher le format de l'horodatage.

note: type: Plain text
en: If neither was used, but `--date` was given on the command line, show the timestamp in the format requested by `--date`.
fr: Si ni l'un ni l'autre n'a été utilisé, mais que `--date' a été donné sur la ligne de commande, afficher l'horodatage dans le format demandé par `--date`.

note: type: Plain text
en: Otherwise, show the index format.
fr: Sinon, afficher le format de l'index.

note: type: Plain text
en: Under `--pretty=oneline`, the commit message is prefixed with this information on the same line.  This option cannot be combined with `--reverse`.  See also linkgit:git-reflog[1].
fr: Sous `--pretty=oneline`, le message de commit est préfixé avec cette information sur la même ligne.  Cette option ne peut pas être combinée avec `--reverse'.  Voir aussi linkgit:git-reflog[1].

note: type: Plain text
en: Under `--pretty=reference`, this information will not be shown at all.
fr: Sous l'option `--pretty = reference`, ces informations ne seront pas affichées du tout.

note: type: Plain text
en: After a failed merge, show refs that touch files having a conflict and don't exist on all heads to merge.
fr: Après une fusion ratée, afficher les références qui touchent les fichiers en conflit et qui n'existent pas sur toutes les têtes à fusionner.

note: type: Plain text
en: Output excluded boundary commits. Boundary commits are prefixed with `-`.
fr: Afficher les commits de limite exclus. Les limites sont préfixées par `-`.

note: type: Plain text
en: Try to speed up the traversal using the pack bitmap index (if one is available). Note that when traversing with `--objects`, trees and blobs will not have their associated path printed.
fr: Essayer d'accélérer la traversée en utilisant l'index bitmap empaqueté (si disponible). Notez que lorsque vous parcourez avec `--objets`, les arbres et les blobs n'auront pas leur chemin associé affiché.

note: type: Labeled list
en: --progress=<header>
fr: --progress=<entête>

note: type: Plain text
en: Show progress reports on stderr as objects are considered. The `<header>` text will be printed with each progress update.
fr: Afficher les rapports d'avancement sur stderr au fur et à mesure que les objets sont pris en compte. Le texte "<en-tête>" sera affiché à chaque mise à jour de l'état d'avancement.

note: type: Title ~
en: History Simplification
fr: Simplification de l'historique

note: type: Plain text
en: Sometimes you are only interested in parts of the history, for example the commits modifying a particular <path>. But there are two parts of 'History Simplification', one part is selecting the commits and the other is how to do it, as there are various strategies to simplify the history.
fr: Parfois vous n'êtes intéressé que par certaines parties de l'historique, par exemple les commits qui modifient un <chemin> particulier. Mais il y a deux parties dans la 'Simplification de l'historique', une partie est la sélection des commits et l'autre la manière de le faire, car il existe différentes stratégies pour simplifier l'historique.

note: type: Plain text
en: The following options select the commits to be shown:
fr: Les options suivantes sélectionnent les commits à afficher :

note: type: Labeled list
en: <paths>
fr: <chemins>

note: type: Plain text
en: Commits modifying the given <paths> are selected.
fr: Les commits qui modifient les <chemins> donnés sont sélectionnés.

note: type: Plain text
en: Commits that are referred by some branch or tag are selected.
fr: Les commits qui sont liés à une branche ou une étiquette sont sélectionnés.

note: type: Plain text
en: Note that extra commits can be shown to give a meaningful history.
fr: Notez que des commits supplémentaires peuvent être affichés pour donner un historique significatif.

note: type: Plain text
en: The following options affect the way the simplification is performed:
fr: Les options suivantes influent sur la façon dont la simplification est effectuée :

note: type: Labeled list
en: Default mode
fr: Mode par défaut

note: type: Plain text
en: Simplifies the history to the simplest history explaining the final state of the tree. Simplest because it prunes some side branches if the end result is the same (i.e. merging branches with the same content)
fr: Simplifie l'historique jusqu'à l'historique le plus simple en expliquant l'état final de l'arbre. Le plus simple parce qu'il taille certaines branches latérales si le résultat final est le même (c'est-à-dire qu'il fusionne des branches avec le même contenu)

note: type: Plain text
en: Include all commits from the default mode, but also any merge commits that are not TREESAME to the first parent but are TREESAME to a later parent. This mode is helpful for showing the merge commits that "first introduced" a change to a branch.
fr: Inclure tous les commits du mode par défaut, mais aussi tous les commits de fusion qui ne sont pas MEMEARBRE au premier parent mais qui sont MEMEARBRE à un parent ultérieur. Ce mode est utile pour montrer les commits de fusion qui ont "introduit en premier" une modification dans une branche.

note: type: Plain text
en: Same as the default mode, but does not prune some history.
fr: Identique au mode par défaut, mais ne pas élaguer l'historique.

note: type: Plain text
en: Only the selected commits are shown, plus some to have a meaningful history.
fr: Seuls les commits sélectionnés sont affichés, plus certains pour avoir un historique significatif.

note: type: Plain text
en: All commits in the simplified history are shown.
fr: Tous les commits de l'historique simplifié sont affichés.

note: type: Plain text
en: Additional option to `--full-history` to remove some needless merges from the resulting history, as there are no selected commits contributing to this merge.
fr: Option supplémentaire à `--full-history' pour supprimer certaines fusions inutiles de l'historique résultant, car il n'y a pas de commits sélectionnés contribuant à cette fusion.

note: type: Plain text
en: When given a range of commits to display (e.g. 'commit1..commit2' or 'commit2 {caret}commit1'), only display commits that exist directly on the ancestry chain between the 'commit1' and 'commit2', i.e. commits that are both descendants of 'commit1', and ancestors of 'commit2'.
fr: Lorsqu'on lui donne une plage de commits à afficher (par exemple'commit1..commit2' ou'commit2 {caret}commit1'), seuls les commits qui existent directement sur la chaîne des ancêtres entre 'commit1' et 'commit2', c'est-à-dire les commits qui sont à la fois descendants de 'commit1' et ancêtres de 'commit2', sont affichés.

note: type: Plain text
en: A more detailed explanation follows.
fr: Une explication plus détaillée suit.

note: type: Plain text
en: Suppose you specified `foo` as the <paths>.  We shall call commits that modify `foo` !TREESAME, and the rest TREESAME.  (In a diff filtered for `foo`, they look different and equal, respectively.)
fr: Supposons que vous ayez spécifié `foo` pour <chemins>.  Nous appellerons les commits qui modifient `foo` !MEMEARBRE, et le reste MEMEARBRE.  (Dans un diff filtré pour `foo`, ils sont différents et égaux, respectivement.)

note: type: Plain text
en: In the following, we will always refer to the same example history to illustrate the differences between simplification settings.  We assume that you are filtering for a file `foo` in this commit graph:
fr: Dans ce qui suit, nous nous référerons toujours au même exemple d'historique pour illustrer les différences entre les paramètres de simplification.  Nous supposons que vous filtrez pour un fichier `foo` dans ce graphe de commits :

note: type: Plain text
en: The horizontal line of history A---Q is taken to be the first parent of each merge.  The commits are:
fr: La ligne horizontale de l'historique A---Q est prise pour être le premier parent de chaque fusion.  Les commits sont :

note: type: Plain text
en: `I` is the initial commit, in which `foo` exists with contents ``asdf'', and a file `quux` exists with contents ``quux''. Initial commits are compared to an empty tree, so `I` is !TREESAME.
fr: `I` est le commit initial, dans lequel 'foo` existe avec le contenu ''asdf'', et un fichier `quux` existe avec le contenu ''quux''. Les commits initiaux sont comparés à un arbre vide, donc `I` est !MEMEARBRE.

note: type: Plain text
en: In `A`, `foo` contains just ``foo''.
fr: Dans `A`, `foo` ne contient que ``foo''.

note: type: Plain text
en: `B` contains the same change as `A`.  Its merge `M` is trivial and hence TREESAME to all parents.
fr: `B` contient le même changement que `A`.  Sa fusion `M` est triviale et donc MEMEARBRE pour tous les parents.

note: type: Plain text
en: `C` does not change `foo`, but its merge `N` changes it to ``foobar'', so it is not TREESAME to any parent.
fr: `C` ne change pas `foo`, mais sa fusion `N` le change en ``foobar'', donc ce n'est pas MEMEARBRE à aucun parent.

note: type: Plain text
en: `D` sets `foo` to ``baz''. Its merge `O` combines the strings from `N` and `D` to ``foobarbaz''; i.e., it is not TREESAME to any parent.
fr: `D` met `foo` sur `baz`. Sa fusion `O` combine les chaînes de caractères de `N` et `D` à ``foobarbaz'' ; c'est-à-dire qu'elle n'est pas MEMEARBRE à aucun parent.

note: type: Plain text
en: `E` changes `quux` to ``xyzzy'', and its merge `P` combines the strings to ``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`.
fr: `E` change `quux` en ``xyzzy'', et sa fusion `P` combine les chaînes en ``quux xyzzy''. `P` est MEMEARBRE à `O`, mais pas à `E`.

note: type: Plain text
en: `X` is an independent root commit that added a new file `side`, and `Y` modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and `Q` is TREESAME to `P`, but not to `Y`.
fr: `X` est un commit racine indépendant qui a ajouté un nouveau fichier `side`, et `Y` l'a modifié. `Y` est MEMEARBRE à `X`. Sa fusion `Q` a ajouté `side` à `P`, et `Q` est MEMEARBRE à `P`, mais pas à `Y`.

note: type: Plain text
en: `rev-list` walks backwards through history, including or excluding commits based on whether `--full-history` and/or parent rewriting (via `--parents` or `--children`) are used. The following settings are available.
fr: `rev-list` traverse en arrière l'historique, y compris ou en excluant les commits en fonction de si '--full-history' et / ou la réécriture des parents (par l'intermédiaire de `--parents` ou `--children`) sont utilisés. Les paramètres suivants sont disponibles.

note: type: Plain text
en: Commits are included if they are not TREESAME to any parent (though this can be changed, see `--sparse` below).  If the commit was a merge, and it was TREESAME to one parent, follow only that parent.  (Even if there are several TREESAME parents, follow only one of them.)  Otherwise, follow all parents.
fr: Les commits sont inclus s'ils ne sont pas MEMEARBRE à un parent (bien que ceci puisse être changé, voir `--sparse` ci-dessous).  Si le commit était une fusion, et que c'était MEMEARBRE à un des parents, ne suivez que ce parent.  (Même s'il y a plusieurs parents MEMEARBRE, ne suivez qu'un seul d'entre eux.) Sinon, suivez tous les parents.

note: type: Plain text
en: This results in:
fr: Il en résulte :

note: type: Plain text
en: Note how the rule to only follow the TREESAME parent, if one is available, removed `B` from consideration entirely.  `C` was considered via `N`, but is TREESAME.  Root commits are compared to an empty tree, so `I` is !TREESAME.
fr: Notez que la règle de ne suivre que le parent MEMEARBRE, s'il y en a un disponible, a entièrement supprimé `B` de la considération.  `C` a été pris en compte via `N`, mais il est MEMEARBRE.  Les commits racines sont comparés à un arbre vide, donc `I` est !MEMEARBRE.

note: type: Plain text
en: Parent/child relations are only visible with `--parents`, but that does not affect the commits selected in default mode, so we have shown the parent lines.
fr: Les relations parents/enfants ne sont visibles qu'avec `--parents', mais cela n'affecte pas les commits sélectionnés en mode par défaut, nous avons donc montré les lignes parentales.

note: type: Labeled list
en: --full-history without parent rewriting
fr: --full-history sans réécriture des parents

note: type: Plain text
en: This mode differs from the default in one point: always follow all parents of a merge, even if it is TREESAME to one of them.  Even if more than one side of the merge has commits that are included, this does not imply that the merge itself is! In the example, we get
fr: Ce mode diffère du mode par défaut en un point : toujours suivre tous les parents d'une fusion, même si c'est MEMEARBRE à l'un d'eux.  Même si plus d'un côté de la fusion a des commits qui sont inclus, cela ne signifie pas que la fusion elle-même l'est ! Dans l'exemple, nous obtenons

note: type: Plain text
en: `M` was excluded because it is TREESAME to both parents.  `E`, `C` and `B` were all walked, but only `B` was !TREESAME, so the others do not appear.
fr: `M` a été exclu parce qu'il s'agit d'un MEMEARBRE pour les deux parents.  `E`, `C` et `B` ont tous été parcourus, mais seul `B` était un !MEMEARBRE, donc les autres n'apparaissent pas.

note: type: Plain text
en: Note that without parent rewriting, it is not really possible to talk about the parent/child relationships between the commits, so we show them disconnected.
fr: Notez que sans réécriture des parents, il n'est pas vraiment possible de parler des relations parent/enfant entre les commits, donc nous les montrons déconnectés.

note: type: Labeled list
en: --full-history with parent rewriting
fr: --full-history sans réécriture des parents

note: type: Plain text
en: Ordinary commits are only included if they are !TREESAME (though this can be changed, see `--sparse` below).
fr: Les commits ordinaires ne sont inclus que s'ils le sont !MEMEARBRE (bien que cela puisse être changé, voir `--sparse` ci-dessous).

note: type: Plain text
en: Merges are always included.  However, their parent list is rewritten: Along each parent, prune away commits that are not included themselves.  This results in
fr: Les fusions sont toujours incluses.  Cependant, leur liste de parents est réécrite : à côté de chaque parent, élaguer les commits qui ne sont pas inclus eux-mêmes.  Il en résulte

note: type: Plain text
en: Compare to `--full-history` without rewriting above.  Note that `E` was pruned away because it is TREESAME, but the parent list of P was rewritten to contain `E`'s parent `I`.  The same happened for `C` and `N`, and `X`, `Y` and `Q`.
fr: À comparer avec `--full-history` sans réécrire ci-dessus.  Notez que `E` a été élagué parce que c'est MEMEARBRE, mais la liste parent de P a été réécrite pour contenir le parent `I` de `E`.  Il en a été de même pour `C` et `N`, et `X`, `Y` et `Q`.

note: type: Plain text
en: In addition to the above settings, you can change whether TREESAME affects inclusion:
fr: En plus des paramètres ci-dessus, vous pouvez modifier si MEMEARBRE affecte l'inclusion :

note: type: Plain text
en: Commits that are walked are included if they are not TREESAME to any parent.
fr: Les commits qui sont parcourus sont inclus s'ils ne sont pas MEMEARBRE pour aucun parent.

note: type: Plain text
en: All commits that are walked are included.
fr: Tous les commits qui sont parcourus sont inclus.

note: type: Plain text
en: Note that without `--full-history`, this still simplifies merges: if one of the parents is TREESAME, we follow only that one, so the other sides of the merge are never walked.
fr: Notez que sans `--full-history`, cela simplifie encore les fusions : si l'un des parents est MEMEARBRE, nous ne suivons que celui-là, donc les autres côtés de la fusion ne sont jamais parcourus.

note: type: Plain text
en: First, build a history graph in the same way that `--full-history` with parent rewriting does (see above).
fr: Tout d'abord, construire un graphe d'historique de la même manière que `--full-history` avec la réécriture des parents (voir ci-dessus).

note: type: Plain text
en: Then simplify each commit `C` to its replacement `C'` in the final history according to the following rules:
fr: Puis simplifier chaque commit `C` à son remplacement `C'` dans l'historique final selon les règles suivantes :

note: type: Plain text
en: Set `C'` to `C`.
fr: Définir `C'` sur `C`.

note: type: Plain text
en: Replace each parent `P` of `C'` with its simplification `P'`.  In the process, drop parents that are ancestors of other parents or that are root commits TREESAME to an empty tree, and remove duplicates, but take care to never drop all parents that we are TREESAME to.
fr: Remplacer chaque parent `P` de `C'` par sa simplification `P'`.  Dans le processus, déposer les parents qui sont les ancêtres d'autres parents ou qui sont des commits racines MEMEARBRE à un arbre vide, et supprimer les doublons, mais prendre soin de ne jamais laisser tomber tous les parents auxquels nous sommes MEMEARBRE.

note: type: Plain text
en: If after this parent rewriting, `C'` is a root or merge commit (has zero or >1 parents), a boundary commit, or !TREESAME, it remains.  Otherwise, it is replaced with its only parent.
fr: Si après cette réécriture des parents, `C'` est un commit racine ou de fusion (qui a zéro ou >1 parents), un commit limite, ou !MEMEARBRE, il est conservé.  Sinon, il est remplacé par son seul parent.

note: type: Plain text
en: The effect of this is best shown by way of comparing to `--full-history` with parent rewriting.  The example turns into:
fr: L'effet de ceci est mieux montré en comparant avec `--full-history` avec la réécriture des parents.  L'exemple se transforme en :

note: type: Plain text
en: Note the major differences in `N`, `P`, and `Q` over `--full-history`:
fr: Notez les principales différences entre `N`, `P` et `Q` par rapport à `--full-history` :

note: type: Plain text
en: `N`'s parent list had `I` removed, because it is an ancestor of the other parent `M`.  Still, `N` remained because it is !TREESAME.
fr: 'La liste des parents de `N` a été supprimée, parce qu'elle est un ancêtre de l'autre parent `M`.  Pourtant, `N` est resté parce qu'il est !MEMEARBRE.

note: type: Plain text
en: `P`'s parent list similarly had `I` removed.  `P` was then removed completely, because it had one parent and is TREESAME.
fr: De même, la liste des parents de `P` a eu `I` supprimé.  `P` a ensuite été complètement enlevé, parce qu'il avait un parent et qu'il est MEMEARBRE.

note: type: Plain text
en: `Q`'s parent list had `Y` simplified to `X`. `X` was then removed, because it was a TREESAME root. `Q` was then removed completely, because it had one parent and is TREESAME.
fr: La liste des parents de `Q` a rendu `Y` simplifié en `X`. `X` a ensuite été supprimé, parce que c'était une racine MEMEARBRE. `Q` a ensuite été complètement supprimée, parce qu'elle avait un parent et qu'il est MEMEARBRE.

note: type: Plain text
en: There is another simplification mode available:
fr: Il existe un autre mode de simplification :

note: type: Plain text
en: Limit the displayed commits to those directly on the ancestry chain between the ``from'' and ``to'' commits in the given commit range. I.e. only display commits that are ancestor of the ``to'' commit and descendants of the ``from'' commit.
fr: Limiter les commits affichés à ceux qui se trouvent directement sur la chaîne des ancêtres entre les commits "from" et "to" dans la plage de commit donnée. C'est-à-dire n'afficher que les commits qui sont l'ancêtre du commit "to" et les descendants du commit "from".

note: type: Plain text
en: As an example use case, consider the following commit history:
fr: À titre d'exemple, considérons l'historique de commits suivant :

note: type: Plain text
en: A regular 'D..M' computes the set of commits that are ancestors of `M`, but excludes the ones that are ancestors of `D`. This is useful to see what happened to the history leading to `M` since `D`, in the sense that ``what does `M` have that did not exist in `D`''. The result in this example would be all the commits, except `A` and `B` (and `D` itself, of course).
fr: Un 'D..M' régulier calcule l'ensemble des commits qui sont les ancêtres de `M`, mais exclut ceux qui sont les ancêtres de `D`. C'est utile pour voir ce qui s'est passé dans l'historique qui a mené à `M` depuis le `D`, au sens de « ce que `M` a qui n'existait pas dans `D` ». Le résultat dans cet exemple serait tous les commits, sauf `A` et `B` (et `D` lui-même, bien sûr).

note: type: Plain text
en: When we want to find out what commits in `M` are contaminated with the bug introduced by `D` and need fixing, however, we might want to view only the subset of 'D..M' that are actually descendants of `D`, i.e.  excluding `C` and `K`. This is exactly what the `--ancestry-path` option does. Applied to the 'D..M' range, it results in:
fr: Quand nous voulons savoir quels commits dans `M` sont contaminés par le bogue introduit par `D` et ont besoin d'être corrigés, cependant, nous pourrions vouloir voir seulement le sous-ensemble de 'D..M' qui sont en fait des descendants de `D`, c'est-à-dire en excluant `C` et `K`. C'est exactement ce que fait l'option `--ancestry-path`. Appliqué à l'intervalle 'D..M', il se traduit en :

note: type: Plain text
en: Before discussing another option, `--show-pulls`, we need to create a new example history.
fr: Avant de discuter d'une autre option, `--show-pulls`, nous devons créer un nouvel exemple d'historique.

note: type: Plain text
en: A common problem users face when looking at simplified history is that a commit they know changed a file somehow does not appear in the file's simplified history. Let's demonstrate a new example and show how options such as `--full-history` and `--simplify-merges` works in that case:
fr: Un problème courant auquel les utilisateurs sont confrontés lorsqu'ils consultent l'historique simplifié est qu'un commit dont ils savent qu'il a modifié un fichier n'apparaît pas dans l'historique simplifié du fichier. Prenons un nouvel exemple et montrons comment des options telles que `--full-history` et `--simplify-history` fonctionnent dans ce cas :

note: type: Plain text
en: For this example, suppose `I` created `file.txt` which was modified by `A`, `B`, and `X` in different ways. The single-parent commits `C`, `Z`, and `Y` do not change `file.txt`. The merge commit `M` was created by resolving the merge conflict to include both changes from `A` and `B` and hence is not TREESAME to either. The merge commit `R`, however, was created by ignoring the contents of `file.txt` at `M` and taking only the contents of `file.txt` at `X`. Hence, `R` is TREESAME to `X` but not `M`. Finally, the natural merge resolution to create `N` is to take the contents of `file.txt` at `R`, so `N` is TREESAME to `R` but not `C`.  The merge commits `O` and `P` are TREESAME to their first parents, but not to their second parents, `Z` and `Y` respectively.
fr: Pour cet exemple, supposons que `I` a créé `fichier.txt` qui a été modifié par `A`, `B` et `X` de différentes manières. Les commits à parent unique  `C`, `Z` et `Y` ne modifient pas `fichier.txt`. Le commit de fusion `M` a été créé en résolvant le conflit de fusion pour inclure les deux modifications de `A` et `B` et n'est donc pas MEMEARBRE pour l'un ou l'autre. Le commit de fusion `R`, cependant, a été créé en ignorant le contenu du fichier `fichier.txt` à `M` et en prenant seulement le contenu du fichier `fichier.txt` à `X`. Par conséquent, `R` est MEMEARBRE à `X` mais pas à `M`. Enfin, la résolution de fusion naturelle pour créer `N` est de prendre le contenu du `fichier.txt` à `R`, donc `N` est MEMEARBRE à `R` mais pas à `C`.  La fusion engage `O` et `P` sont MEMEARBRE à leurs premiers parents, mais pas à leurs seconds parents, `Z` et `Y` respectivement.

note: type: Plain text
en: When using the default mode, `N` and `R` both have a TREESAME parent, so those edges are walked and the others are ignored. The resulting history graph is:
fr: En utilisant le mode par défaut, `N` et `R` ont tous deux un parent MEMEARBRE, donc ces bords sont parcourus et les autres sont ignorés. Le graphique d'historique qui en résulte est :

note: type: Plain text
en: When using `--full-history`, Git walks every edge. This will discover the commits `A` and `B` and the merge `M`, but also will reveal the merge commits `O` and `P`. With parent rewriting, the resulting graph is:
fr: Lors de l'utilisation de `--full-history`, Git parcourt toutes les arêtes . Il découvrira les commits `A` et `B` et la fusion `M`, mais aussi les commits de fusion `O` et `P`. Avec la réécriture des parents, le graphe résultant est :

note: type: Plain text
en: Here, the merge commits `O` and `P` contribute extra noise, as they did not actually contribute a change to `file.txt`. They only merged a topic that was based on an older version of `file.txt`. This is a common issue in repositories using a workflow where many contributors work in parallel and merge their topic branches along a single trunk: manu unrelated merges appear in the `--full-history` results.
fr: Ici, les commits de fusion `O` et `P` apportent un bruit supplémentaire, car ils n'ont pas réellement apporté de modification à `fichier.txt`. Ils ont seulement fusionné une branche thématique qui était basée sur une ancienne version de `fichier.txt`. C'est un problème courant dans les dépôts utilisant une organisation où de nombreux contributeurs travaillent en parallèle et fusionnent leurs branches thématiques le long d'un seul tronc : de nombreuses fusions sans rapport apparaissent dans les résultats de `--full-history`.

note: type: Plain text
en: When using the `--simplify-merges` option, the commits `O` and `P` disappear from the results. This is because the rewritten second parents of `O` and `P` are reachable from their first parents. Those edges are removed and then the commits look like single-parent commits that are TREESAME to their parent. This also happens to the commit `N`, resulting in a history view as follows:
fr: Lorsque l'on utilise l'option `--simplify-merges`, les valeurs `O` et `P` disparaissent des résultats. Cela est dû au fait que les seconds parents réécrits de `O` et `P` sont accessibles depuis leurs premiers parents. Ces arêtes sont supprimées et les commits ressemblent alors à des commits monoparentaux qui sont MEMEARBRE pour leur parent. C'est également le cas pour le commit `N`, ce qui donne l'historique suivant :

note: type: Plain text
en: In this view, we see all of the important single-parent changes from `A`, `B`, and `X`. We also see the carefully-resolved merge `M` and the not-so-carefully-resolved merge `R`. This is usually enough information to determine why the commits `A` and `B` "disappeared" from history in the default view. However, there are a few issues with this approach.
fr: Dans cette optique, nous voyons toutes les modifications monoparentales de `A`, `B` et `X`. Nous voyons également la fusion `M`, soigneusement résolue, et la fusion `R`, pas si soigneusement résolue. Ces informations sont généralement suffisantes pour déterminer pourquoi les commits `A` et `B` ont « disparu » de l'historique dans la vue par défaut. Cependant, cette approche pose quelques problèmes.

note: type: Plain text
en: The first issue is performance. Unlike any previous option, the `--simplify-merges` option requires walking the entire commit history before returning a single result. This can make the option difficult to use for very large repositories.
fr: La première question est celle de la performance. Contrairement à toutes les options précédentes, l'option `--simplify-merges` nécessite de parcourir l'historique complet des commits avant de renvoyer un seul résultat. Cela peut rendre l'option difficile à utiliser pour les très grands dépôts.

note: type: Plain text
en: The second issue is one of auditing. When many contributors are working on the same repository, it is important which merge commits introduced a change into an important branch. The problematic merge `R` above is not likely to be the merge commit that was used to merge into an important branch. Instead, the merge `N` was used to merge `R` and `X` into the important branch. This commit may have information about why the change `X` came to override the changes from `A` and `B` in its commit message.
fr: La deuxième question est celle de l'audit. Lorsque plusieurs contributeurs travaillent sur le même dépôt, il est important de savoir quels commits de fusion ont introduit un changement dans une branche importante. La fusion problématique `R` ci-dessus n'est probablement pas le commit de fusion qui a été utilisé pour fusionner dans une branche importante. Au lieu de cela, la fusion `N` a été utilisée pour fusionner `R` et `X` dans la branche importante. Ce commit peut avoir des informations sur la raison pour laquelle la modifcation `X` est venu remplacer les changements de `A` et `B` dans son message de commit.

note: type: Plain text
en: In addition to the commits shown in the default history, show each merge commit that is not TREESAME to its first parent but is TREESAME to a later parent.
fr: En plus des commits indiqués dans l’historique par défaut, montrer chaque commit de fusion qui n’est pas MEMEARBRE à son premier parent, mais qui est MEMEARBRE à un parent ultérieur.

note: type: Plain text
en: When a merge commit is included by `--show-pulls`, the merge is treated as if it "pulled" the change from another branch. When using `--show-pulls` on this example (and no other options) the resulting graph is:
fr: Quand un commit de fusion est inclus par `--show-pulls`, cette fusion est traitée comme si elle avait "tiré" le changement d'une autre branche. Lorsque l'on utilise `--show-pulls` sur cet exemple (et aucune autre option), le graphe résultant est :

note: type: Plain text
en: Here, the merge commits `R` and `N` are included because they pulled the commits `X` and `R` into the base branch, respectively. These merges are the reason the commits `A` and `B` do not appear in the default history.
fr: Ici, les commits de fusion `R` et `N` sont inclus, car ils ont tiré les commits `X` et `R` dans la branche de base, respectivement. Ces fusions sont les raisons pour lesquelles les commits `A` et `B` n'apparaissent pas dans l'historique par défaut.

note: type: Plain text
en: When `--show-pulls` is paired with `--simplify-merges`, the graph includes all of the necessary information:
fr: Lorsque l'option `--show-pulls` est associée à l'option `--simplify-merges`, le graphe comprend toutes les informations nécessaires :

note: type: Plain text
en: Notice that since `M` is reachable from `R`, the edge from `N` to `M` was simplified away. However, `N` still appears in the history as an important commit because it "pulled" the change `R` into the main branch.
fr: Remarquez que puisque `M` est accessible à partir de `R`, l'arête entre `N` et `M` a été simplifiée. Cependant, `N` apparaît toujours dans l'historique comme un commit important parce qu'il a « tiré » le changement `R` dans la branche principale.

note: type: Plain text
en: The `--simplify-by-decoration` option allows you to view only the big picture of the topology of the history, by omitting commits that are not referenced by tags.  Commits are marked as !TREESAME (in other words, kept after history simplification rules described above) if (1) they are referenced by tags, or (2) they change the contents of the paths given on the command line.  All other commits are marked as TREESAME (subject to be simplified away).
fr: L'option `--simplify-by-decoration` vous donne une vue d'ensemble de la topologie de l'historique, en omettant les commits qui ne sont pas référencés par des étiquettes.  Les commits sont marqués comme !MEMEARBRE(en d'autres termes, conservés après les règles de simplification de l'historique décrites ci-dessus) si (1) ils sont référencés par des étiquettes, ou (2) ils changent le contenu des chemins donnés sur la ligne de commande.  Tous les autres commits sont marqués comme MEMEARBRE (soumis à une possible simplification).

note: type: Title ~
en: Bisection Helpers
fr: Aides à la bisection

note: type: Plain text
en: Limit output to the one commit object which is roughly halfway between included and excluded commits. Note that the bad bisection ref `refs/bisect/bad` is added to the included commits (if it exists) and the good bisection refs `refs/bisect/good-*` are added to the excluded commits (if they exist). Thus, supposing there are no refs in `refs/bisect/`, if
fr: Limiter la sortie à l'objet commit qui est à peu près à mi-chemin entre les commits inclus et les commits exclus. Notez que la référence mauvaise de bissection `refs/bisect/bad` est ajoutée aux commits inclus (si elle existe) et la référence bonne de bissection `refs/bisect/good-*` est ajoutée aux commits exclus (s'ils existent). Ainsi, en supposant qu'il n'y ait pas de références dans `refs/bisect/`, si

note: type: Plain text
en: outputs 'midpoint', the output of the two commands
fr: affiche 'midpoint', la sortie des deux commandes

note: type: Plain text
en: would be of roughly the same length.  Finding the change which introduces a regression is thus reduced to a binary search: repeatedly generate and test new 'midpoint's until the commit chain is of length one.
fr: seraientt à peu près de la même longueur.  Trouver le changement qui introduit une régression se réduit donc à une recherche binaire : générer et tester à plusieurs reprises de nouveaux 'midpoint' jusqu'à ce que la chaîne de commits soit de longueur un.

note: type: Plain text
en: This calculates the same as `--bisect`, except that refs in `refs/bisect/` are not used, and except that this outputs text ready to be eval'ed by the shell. These lines will assign the name of the midpoint revision to the variable `bisect_rev`, and the expected number of commits to be tested after `bisect_rev` is tested to `bisect_nr`, the expected number of commits to be tested if `bisect_rev` turns out to be good to `bisect_good`, the expected number of commits to be tested if `bisect_rev` turns out to be bad to `bisect_bad`, and the number of commits we are bisecting right now to `bisect_all`.
fr: Cela calcule la même chose que '--bisect', sauf que les références dans `refs/bisect/` ne sont pas utilisées, et sauf que cela affiche un texte prêt à être évalué par le shell. Ces lignes attribueront le nom de la révision à mi-parcours à la variable `bisect_rev`, et le nombre prévu de commits à tester après `bisect_rev` est testé à `bisect_nr`, le nombre prévu de commits à tester si `bisect_rev` s'avère être bon à `bisect_good`, le nombre prévu d'engagements à tester si `bisect_rev` s'avère être mauvais à `bisect_bad`, et le nombre de commits que nous sommes en train de bissecter en ce moment à `bisect_all`.

note: type: Plain text
en: This outputs all the commit objects between the included and excluded commits, ordered by their distance to the included and excluded commits. Refs in `refs/bisect/` are not used. The farthest from them is displayed first. (This is the only one displayed by `--bisect`.)
fr: Ceci affiche tous les objets commit entre les commits inclus et exclus, classés selon leur distance par rapport aux commits inclus et exclus. Les références dans `refs/bisect/` ne sont pas utilisées. Le plus éloigné d'eux est affiché en premier. (C'est le seul affiché par `--bisect`.)

note: type: Plain text
en: This is useful because it makes it easy to choose a good commit to test when you want to avoid to test some of them for some reason (they may not compile for example).
fr: Ceci est utile car il est facile de choisir un bon commit à tester lorsque vous voulez éviter de tester certains d'entre eux pour une raison quelconque (ils peuvent ne pas compiler par exemple).

note: type: Plain text
en: This option can be used along with `--bisect-vars`, in this case, after all the sorted commit objects, there will be the same text as if `--bisect-vars` had been used alone.
fr: Cette option peut être utilisée avec `--bisect-vars', dans ce cas, après tous les objets commit triés, le texte sera le même que si `--bisect-vars' avait été utilisé seul.

note: type: Title ~
en: Commit Ordering
fr: Ordre des commits

note: type: Plain text
en: By default, the commits are shown in reverse chronological order.
fr: Par défaut, les commits sont affichés dans l'ordre chronologique inverse.

note: type: Plain text
en: Show no parents before all of its children are shown, but otherwise show commits in the commit timestamp order.
fr: N'afficher aucun parent avant que tous ses enfants ne soient affichés, mais sinon montrer les commits dans l'ordre de l'horodatage des commits.

note: type: Plain text
en: Show no parents before all of its children are shown, but otherwise show commits in the author timestamp order.
fr: N'afficher aucun parent avant que tous ses enfants ne soient affichés, mais autrement afficher les commits dans l'ordre d'horodatage de l'auteur.

note: type: Plain text
en: Show no parents before all of its children are shown, and avoid showing commits on multiple lines of history intermixed.
fr: N'afficher aucun parent avant que tous ses enfants ne soient affichés, et éviter d'afficher des commits entremêlés sur plusieurs lignes d'historique.

note: type: Plain text
en: For example, in a commit history like this:
fr: Par exemple, dans un historique de commit comme celui-ci :

note: type: Plain text
en: where the numbers denote the order of commit timestamps, `git rev-list` and friends with `--date-order` show the commits in the timestamp order: 8 7 6 5 4 3 2 1.
fr: où les nombres indiquent l'ordre des horodatages de commit, `git rev-list` et consorts avec `--date-order` affichent les commits dans l'ordre d'horodatage : 8 7 6 5 4 3 2 1.

note: type: Plain text
en: With `--topo-order`, they would show 8 6 5 3 7 4 2 1 (or 8 7 4 2 6 5 3 1); some older commits are shown before newer ones in order to avoid showing the commits from two parallel development track mixed together.
fr: Avec `--topo-order', ils afficheraient 8 6 5 5 3 3 7 4 7 4 2 1 (ou 8 7 4 2 2 6 5 5 3 1) ; certains commits plus anciens sont affichés avant les plus récents afin d'éviter de montrer mélangés ensemble les commits de deux pistes de développement parallèles.

note: type: Plain text
en: Output the commits chosen to be shown (see Commit Limiting section above) in reverse order. Cannot be combined with `--walk-reflogs`.
fr: Sortir les commits choisis pour être affichés (voir la section Limitation des commits ci-dessus) dans l'ordre inverse. Ne peut pas être combiné avec `--walk-reflogs`.

note: type: Title ~
en: Object Traversal
fr: Traversée d'objets

note: type: Plain text
en: These options are mostly targeted for packing of Git repositories.
fr: Ces options sont principalement destinées à l'empaquetage des dépôts Git.

note: type: Plain text
en: Print the object IDs of any object referenced by the listed commits.  `--objects foo ^bar` thus means ``send me all object IDs which I need to download if I have the commit object _bar_ but not _foo_''.
fr: Imprimer les ID d'objet de tout objet référencé par les commits listés.  `--objets foo ^bar` signifie donc ``envoie-moi tous les ID d'objets que je dois télécharger si j'ai l'objet commit _bar_ mais pas _foo_''.

note: type: Plain text
en: Print tree and blob ids in order of the commits. The tree and blob ids are printed after they are first referenced by a commit.
fr: Imprimer les identifiants des arbres et des blobs dans l'ordre des commits. Les identifiants des arbres et des blobs sont imprimés que lors qu'ils sont référencés la première fois par un commit.

note: type: Plain text
en: Similar to `--objects`, but also print the IDs of excluded commits prefixed with a ``-'' character.  This is used by linkgit:git-pack-objects[1] to build a ``thin'' pack, which records objects in deltified form based on objects contained in these excluded commits to reduce network traffic.
fr: Semblable à `--objects`, mais afficher aussi les ID des commits exclus préfixés par un caractère ``-''.  Ceci est utilisé par linkgit:git-pack-objects[1] pour construire un paquet ``thin'', qui enregistre les objets sous forme déltaifiée en fonction des objets contenus dans ces commits exclus pour réduire le trafic réseau.

note: type: Plain text
en: Similar to `--objects-edge`, but it tries harder to find excluded commits at the cost of increased time.  This is used instead of `--objects-edge` to build ``thin'' packs for shallow repositories.
fr: Similaire à `--objects-edge', mais s'efforce de trouver les commits exclus au prix d'un temps plus long de traitement.  Ceci est utilisé à la place de `--objects-edge' pour construire des paquets ``thin'' pour les dépôts superficiels.

note: type: Plain text
en: Pretend as if all trees and blobs used by the index are listed on the command line.  Note that you probably want to use `--objects`, too.
fr: Faire comme si tous les arbres et tous les blobs utilisés par l'index étaient listés sur la ligne de commande.  Notez que vous voudrez probablement utiliser aussi `--objects`.

note: type: Plain text
en: Only useful with `--objects`; print the object IDs that are not in packs.
fr: Uniquement utile avec `--objects` ; afficher les ID d'objets qui ne sont pas dans les paquets.

note: type: Plain text
en: Only useful with `--objects`; print the names of the object IDs that are found. This is the default behavior.
fr: Uniquement utile avec `--objects` ; afficher les noms des ID des objets trouvés. C'est le comportement par défaut.

note: type: Plain text
en: Only useful with `--objects`; does not print the names of the object IDs that are found. This inverts `--object-names`. This flag allows the output to be more easily parsed by commands such as linkgit:git-cat-file[1].
fr: Uniquement utile avec `--objects` ; ne pas afficher les noms des ID des objets trouvés. Ceci inverse `--object-names`. Ce drapeau permet à la sortie d'être plus facilement analysée par des commandes telles que linkgit:git-cat-file[1].

note: type: Plain text
en: Only useful with one of the `--objects*`; omits objects (usually blobs) from the list of printed objects.  The '<filter-spec>' may be one of the following:
fr: Uniquement utile avec l'un des `--objects*' ; omettre des objets (généralement les blobs) de la liste des objets affichés.  Le'<spécificateur-de-filtre>' peut être l'un des suivants :

note: type: Plain text
en: The form '--filter=blob:none' omits all blobs.
fr: La forme '--filter=blob:none' omet tous les blobs.

note: type: Plain text
en: The form '--filter=blob:limit=<n>[kmg]' omits blobs larger than n bytes or units.  n may be zero.  The suffixes k, m, and g can be used to name units in KiB, MiB, or GiB.  For example, 'blob:limit=1k' is the same as 'blob:limit=1024'.
fr: La forme'--filter=blob:limit=<n>[kmg]' omet les blobls plus gros que n octets ou unités. n peut être zéro.  Les suffixes k, m et g peuvent être utilisés pour nommer les unités en Kio, Mio ou Gio.  Par exemple,'blob:limit=1k' est identique à 'blob:limit=1024'.

note: type: Plain text
en: The form '--filter=object:type=(tag|commit|tree|blob)' omits all objects which are not of the requested type.
fr: La forme '--filter=object:type=(tag|commit|tree|blob)' permet d'omettre tous les objets qui ne sont pas du type demandé.

note: type: Plain text
en: The form '--filter=sparse:oid=<blob-ish>' uses a sparse-checkout specification contained in the blob (or blob-expression) '<blob-ish>' to omit blobs that would not be required for a sparse checkout on the requested refs.
fr: La forme '--filter=sparse:oid=<blob-esque>' utilise une spécification d'extraction clairsemée contenue dans le blob (ou l'expression de blob) '<blob-esque>' pour omettre les blobs qui ne seraient pas nécessaires pour une extraction clairsemée sur les références demandées.

note: type: Plain text
en: The form '--filter=tree:<depth>' omits all blobs and trees whose depth from the root tree is >= <depth> (minimum depth if an object is located at multiple depths in the commits traversed). <depth>=0 will not include any trees or blobs unless included explicitly in the command-line (or standard input when --stdin is used). <depth>=1 will include only the tree and blobs which are referenced directly by a commit reachable from <commit> or an explicitly-given object. <depth>=2 is like <depth>=1 while also including trees and blobs one more level removed from an explicitly-given commit or tree.
fr: La forme '--filter=tree:<profondeur>' omet tous les blobs et tous les arbres dont la profondeur de l'arbre racine est >= <profondeur> (profondeur minimale si un objet est situé à plusieurs profondeurs dans les commits traversés). <profondeur>=0 n'inclura pas d'arbres ni de blobs à moins d'être inclus explicitement dans la ligne de commande (ou dans l'entrée standard lorsque --stdin est utilisé). <profondeur>=1 inclura seulement l'arbre et les blobs qui sont référencés directement par un commit accessible depuis <commit> ou un objet explicitement donné. <profondeur>=2 est comme <profondeur>=1 tout en incluant aussi les arbres et les blobs d'un niveau supplémentaire tiré d'un commit ou d'un arbre explicitement donné.

note: type: Plain text
en: Note that the form '--filter=sparse:path=<path>' that wants to read from an arbitrary path on the filesystem has been dropped for security reasons.
fr: Notez que la forme '--filter=sparse:path=<chemin>' qui veut lire à partir d'un chemin arbitraire sur le système de fichiers a été supprimé pour des raisons de sécurité.

note: type: Plain text
en: Multiple '--filter=' flags can be specified to combine filters. Only objects which are accepted by every filter are included.
fr: Plusieurs drapeaux '--filter=' peuvent être spécifiés pour combiner les filtres. Seuls les objets acceptés par tous les filtres sont inclus.

note: type: Plain text
en: The form '--filter=combine:<filter1>+<filter2>+...<filterN>' can also be used to combined several filters, but this is harder than just repeating the '--filter' flag and is usually not necessary. Filters are joined by '{plus}' and individual filters are %-encoded (i.e. URL-encoded).  Besides the '{plus}' and '%' characters, the following characters are reserved and also must be encoded: `~!@#$^&*()[]{}\;",<>?`+&#39;&#96;+ as well as all characters with ASCII code &lt;= `0x20`, which includes space and newline.
fr: La forme'--filter=combine:<filtre1>+<filtre2>+...<filtreN>' peut aussi être utilisée pour combiner plusieurs filtres, mais c'est plus difficile que de répéter simplement le drapeau'--filter' et ce n'est généralement pas nécessaire. Les filtres sont joints par des signes '{plus}' et les filtres individuels sont codés en % (c'est-à-dire codés comme des URL).  Outre les caractères '{plus}' et'%', les caractères suivants sont réservés et doivent également être encodés : `~!@#$^^&*()[]{]{}\ ;",<>?`+&#39;&#96;+ ainsi que tous les caractères avec un code ASCII <= `0x20`, qui inclut l'espace et la ligne nouvelle.

note: type: Plain text
en: Other arbitrary characters can also be encoded. For instance, 'combine:tree:3+blob:none' and 'combine:tree%3A3+blob%3Anone' are equivalent.
fr: D'autres caractères arbitraires peuvent également être encodés. Par exemple,'combine:tree:3+blob:none' et 'combine:tree%3A3+blob%3Anone' sont équivalents.

note: type: Plain text
en: Turn off any previous `--filter=` argument.
fr: Désactiver tout argument `--filter=` précédent.

note: type: Plain text
en: Filter the list of explicitly provided objects, which would otherwise always be printed even if they did not match any of the filters. Only useful with `--filter=`.
fr: Filtrer la liste des objets explicitement fournis, qui autrement seraient toujours imprimés même s'ils ne correspondent à aucun des filtres. Seulement utile avec `--filter=`.

note: type: Plain text
en: Only useful with `--filter=`; prints a list of the objects omitted by the filter.  Object IDs are prefixed with a ``~'' character.
fr: Uniquement utile avec `--filter=` ; imprimer une liste des objets omis par le filtre.  Les ID d'objet sont préfixés par un caractère "~".

note: type: Plain text
en: The form '--missing=error' requests that rev-list stop with an error if a missing object is encountered.  This is the default action.
fr: La forme '--missing=error' demande que rev-list s'arrête avec une erreur si un objet manquant est rencontré.  C'est l'action par défaut.

note: type: Plain text
en: The form '--missing=allow-any' will allow object traversal to continue if a missing object is encountered.  Missing objects will silently be omitted from the results.
fr: La forme '--missing=allow-any' permet de continuer le parcours d'objet si un objet manquant est rencontré.  Les objets manquants seront silencieusement omis des résultats.

note: type: Plain text
en: The form '--missing=allow-promisor' is like 'allow-any', but will only allow object traversal to continue for EXPECTED promisor missing objects.  Unexpected missing objects will raise an error.
fr: Le forme '--missing=allow-promisor' est comme 'allow-any', mais ne permettra la traversée d'objets de continuer que pour les objets manquants du promettant EXPECTED.  Les objets manquants inattendus entraîneront une erreur.

note: type: Plain text
en: The form '--missing=print' is like 'allow-any', but will also print a list of the missing objects.  Object IDs are prefixed with a ``?'' character.
fr: La forme '--missing=print' est comme 'allow-any', mais affichera aussi une liste des objets manquants.  Les ID d'objet sont préfixés par un caractère "?".

note: type: Plain text
en: (For internal use only.)  Prefilter object traversal at promisor boundary.  This is used with partial clone.  This is stronger than `--missing=allow-promisor` because it limits the traversal, rather than just silencing errors about missing objects.
fr: (Pour usage interne seulement.) Préfiltrer la traversée de l'objet à la limite du promettant.  Ceci est utilisé avec un clone partiel.  C'est plus fort que `--missing=allow-promisor` parce qu'il limite la traversée, plutôt que de simplement réduire au silence les erreurs sur les objets manquants.

note: type: Plain text
en: Only show the given commits, but do not traverse their ancestors.  This has no effect if a range is specified. If the argument `unsorted` is given, the commits are shown in the order they were given on the command line. Otherwise (if `sorted` or no argument was given), the commits are shown in reverse chronological order by commit time.  Cannot be combined with `--graph`.
fr: Montrer seulement les commits donnés, mais ne pas traverser leurs ancêtres.  Ceci n'a aucun effet si une plage est spécifiée. Si l'argument `unsorted` est donné, les commits sont affichés dans l'ordre dans lequel ils ont été donnés sur la ligne de commande. Sinon (si `sorted` ou aucun argument n'a été donné), les commits sont affichés dans l'ordre chronologique inverse par date de validation.  Ne peut pas être combiné avec `--graph`.

note: type: Plain text
en: Overrides a previous `--no-walk`.
fr: Remplacer un `--no-walk` précédent.

note: type: Title ~
en: Commit Formatting
fr: Formatage des commits

note: type: Plain text
en: Using these options, linkgit:git-rev-list[1] will act similar to the more specialized family of commit log tools: linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-whatchanged[1]
fr: En utilisant ces options, linkgit:git-rev-list[1] agira de la même manière que la famille plus spécialisée d'outils de journaux de validation : linkgit:git-log[1], linkgit:git-show[1] et linkgit:git-whatch changed[1]

note: type: Plain text
en: Synonym for `--date=relative`.
fr: Synonyme de ` --date=relative`.

note: type: Plain text
en: Only takes effect for dates shown in human-readable format, such as when using `--pretty`. `log.date` config variable sets a default value for the log command's `--date` option. By default, dates are shown in the original time zone (either committer's or author's). If `-local` is appended to the format (e.g., `iso-local`), the user's local time zone is used instead.
fr: Ne prendre effet que pour les dates indiquées dans un format lisible par l'homme, par exemple lors de l'utilisation de `--pretty`. La variable config `log.date` définit une valeur par défaut pour l'option `--date` de la commande log. Par défaut, les dates sont affichées dans le fuseau horaire d'origine (soit celui du validateur ou celui de l'auteur). Si `-local` est ajouté au format (p. ex., `iso-local`), le fuseau horaire local de l'utilisateur est utilisé à la place.

note: type: Plain text
en: `--date=relative` shows dates relative to the current time, e.g. ``2 hours ago''. The `-local` option has no effect for `--date=relative`.
fr: `--date=relative` affiche les dates relatives à l'heure actuelle, par exemple ``Il y a 2 heures''. L'option `-local` n'a aucun effet pour `--date=relative`.

note: type: Plain text
en: `--date=local` is an alias for `--date=default-local`.
fr: `--date=local` est un alias pour `--date=default-local`.

note: type: Plain text
en: `--date=iso` (or `--date=iso8601`) shows timestamps in a ISO 8601-like format.  The differences to the strict ISO 8601 format are:
fr: `--date=iso` (ou `--date=iso8601`) montre les horodatages dans un format similaire à ISO 8601.  Les différences par rapport au format strict ISO 8601 sont :

note: type: Plain text
en: a space instead of the `T` date/time delimiter
fr: une espace au lieu du délimiteur date/heure `T`

note: type: Plain text
en: a space between time and time zone
fr: une espace entre l'heure et le fuseau horaire

note: type: Plain text
en: no colon between hours and minutes of the time zone
fr: pas de deux points entre les heures et les minutes du fuseau horaire

note: type: Plain text
en: `--date=iso-strict` (or `--date=iso8601-strict`) shows timestamps in strict ISO 8601 format.
fr: `--date=iso-strict` (ou `--date=iso8601-strict`) affiche les horodatages au format ISO 8601 strict.

note: type: Plain text
en: `--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 format, often found in email messages.
fr: `--date=rfc` (ou `--date=rfc2822`) montre les horodatages au format RFC 2822, souvent trouvés dans les messages électroniques.

note: type: Plain text
en: `--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format.
fr: `--date=short` montre seulement la date, mais pas l'heure, au format `AAA-MM-JJ`.

note: type: Plain text
en: `--date=raw` shows the date as seconds since the epoch (1970-01-01 00:00:00 UTC), followed by a space, and then the timezone as an offset from UTC (a `+` or `-` with four digits; the first two are hours, and the second two are minutes). I.e., as if the timestamp were formatted with `strftime("%s %z")`).  Note that the `-local` option does not affect the seconds-since-epoch value (which is always measured in UTC), but does switch the accompanying timezone value.
fr: `--date=raw` montre la date en secondes depuis l'époque (1970-01-01 00:00:00 UTC), suivi d'une espace, puis le fuseau horaire en décalage par rapport à UTC (un `+` ou `-` avec quatre chiffres ; les deux premiers sont des heures, et les deux seconds des minutes), c'est-à-dire comme si l'horodatage était formaté avec `strftime("%s %z")`).  Notez que l'option `-local` n'affecte pas la valeur des secondes depuis l'écho (qui est toujours mesurée en UTC), mais commute la valeur du fuseau horaire qui l'accompagne.

note: type: Plain text
en: `--date=human` shows the timezone if the timezone does not match the current time-zone, and doesn't print the whole date if that matches (ie skip printing year for dates that are "this year", but also skip the whole date itself if it's in the last few days and we can just say what weekday it was).  For older dates the hour and minute is also omitted.
fr: `--date=human` montre le fuseau horaire si le fuseau horaire ne correspond pas au fuseau horaire actuel, et n'affiche pas la date complète s'il y a correspondance (c'est-à-dire ne pas afficher l'année pour les dates qui sont "cette année", mais aussi sauter la date complète elle-même si elle est dans les derniers jours et que nous pouvons juste indiquer le jour de la semaine passée).  Pour les dates plus anciennes, l'heure et la minute sont également omises.

note: type: Plain text
en: `--date=unix` shows the date as a Unix epoch timestamp (seconds since 1970).  As with `--raw`, this is always in UTC and therefore `-local` has no effect.
fr: `--date=unix` affiche la date sous forme d'un horodatage d'époque Unix (secondes depuis 1970).  Comme dans le cas de " --raw ", c'est toujours en UTC et donc " --local " n'a aucun effet.

note: type: Plain text
en: `--date=format:...` feeds the format `...` to your system `strftime`, except for %z and %Z, which are handled internally.  Use `--date=format:%c` to show the date in your system locale's preferred format.  See the `strftime` manual for a complete list of format placeholders. When using `-local`, the correct syntax is `--date=format-local:...`.
fr: `--date=format :...` alimente le format `...` vers `strftime` de votre système , sauf pour %z et %Z, qui sont gérés en interne.  Utilisez `--date=format:%c` pour afficher la date dans le format préféré de la locale de votre système.  Voir le manuel de `strftime` pour une liste complète des espaces réservés de format. Quand on utilise `-local`, la syntaxe correcte est `--date=format-local :...`.

note: type: Plain text
en: `--date=default` is the default format, and is similar to `--date=rfc2822`, with a few exceptions:
fr: `--date=default` est le format par défaut, et est similaire à `--date=rfc2822`, avec quelques exceptions :

note: type: Plain text
en: there is no comma after the day-of-week
fr: il n'y a pas de virgule après le jour de la semaine

note: type: Plain text
en: the time zone is omitted when the local time zone is used
fr: le fuseau horaire est omis lorsque le fuseau horaire local est utilisé

note: type: Plain text
en: Print the contents of the commit in raw-format; each record is separated with a NUL character.
fr: Afficher le contenu du commit en format brut ; chaque enregistrement est séparé par un caractère NUL.

note: type: Plain text
en: Suppress the header line containing "commit" and the object ID printed before the specified format.  This has no effect on the built-in formats; only custom formats are affected.
fr: Supprime la ligne d'en-tête contenant "commit" et l'ID de l'objet affiché avant le format spécifié.  Ceci n'a aucun effet sur les formats intégrés ; seuls les formats personnalisés sont concernés.

note: type: Plain text
en: Overrides a previous `--no-commit-header`.
fr: Remplacer un `--no-commit-header` précédent.

note: type: Plain text
en: Print also the parents of the commit (in the form "commit parent...").  Also enables parent rewriting, see 'History Simplification' above.
fr: Afficher aussi les parents du commit (sous la forme "parent du commit...").  Permet également la réécriture des parents, voir " Simplification de l'historique " ci-dessus.

note: type: Plain text
en: Print also the children of the commit (in the form "commit child...").  Also enables parent rewriting, see 'History Simplification' above.
fr: Afficher aussi les enfants du commit (sous la forme "commit child...").  Permet également la réécriture des parents, voir " Simplification de l'historique " ci-dessus.

note: type: Plain text
en: Print the raw commit timestamp.
fr: Imprimer l'horodatage brut du commit.

note: type: Plain text
en: Mark which side of a symmetric difference a commit is reachable from.  Commits from the left side are prefixed with `<` and those from the right with `>`.  If combined with `--boundary`, those commits are prefixed with `-`.
fr: Indiquer de quel côté d'une différence symétrique un commit est accessible.  Les commits de gauche sont préfixés par " < " et ceux de  droite par " > ".  Si on combine avec `--boundary`, ces commits sont préfixés par `-`.

note: type: Plain text
en: For example, if you have this topology:
fr: Par exemple, si vous avez cette topologie :

note: type: delimited block -
en: 	     y---b---b  branch B
    	    / \ /
    	   /   .
    	  /   / \
    	 o---x---a---a  branch A
fr: 	     y---b---b  branche B
    	    / \ /
    	   /   .
    	  /   / \
    	 o---x---a---a  branche A

note: type: Plain text
en: you would get an output like this:
fr: vous obtiendriez une sortie comme celle-ci :

note: type: Plain text
en: Draw a text-based graphical representation of the commit history on the left hand side of the output.  This may cause extra lines to be printed in between commits, in order for the graph history to be drawn properly.  Cannot be combined with `--no-walk`.
fr: Dessiner une représentation graphique en texte de l'historique du commit sur la gauche de la sortie.  Cela peut entraîner l'impression de lignes supplémentaires entre les validations, afin que l'historique du graphique soit correctement tracé.  Ne peut pas être combiné avec `--no-walk`.

note: type: Plain text
en: This enables parent rewriting, see 'History Simplification' above.
fr: Cela permet la réécriture des parents, voir « Simplification de l'historique » ci-dessus.

note: type: Plain text
en: This implies the `--topo-order` option by default, but the `--date-order` option may also be specified.
fr: Cela implique l'option `--topo-order` par défaut, mais l'option `--date-order` peut aussi être spécifiée.

note: type: Labeled list
en: --show-linear-break[=<barrier>]
fr: --show-linear-break [=<barrière>]

note: type: Plain text
en: When --graph is not used, all history branches are flattened which can make it hard to see that the two consecutive commits do not belong to a linear branch. This option puts a barrier in between them in that case. If `<barrier>` is specified, it is the string that will be shown instead of the default one.
fr: Lorsque --graph n'est pas utilisé, toutes les branches de l'historique sont aplaties, ce qui peut rendre difficile de voir que les deux commits consécutifs n'appartiennent pas à une branche linéaire. Dans ce cas, cette option met une barrière entre les deux. Si `<barrière>` est spécifié, c'est la chaîne de caractères qui sera affichée à la place de celle par défaut.

note: type: Plain text
en: Print a number stating how many commits would have been listed, and suppress all other output.  When used together with `--left-right`, instead print the counts for left and right commits, separated by a tab. When used together with `--cherry-mark`, omit patch equivalent commits from these counts and print the count for equivalent commits separated by a tab.
fr: Imprimer un nombre indiquant combien de commits auraient été listés, et supprimer toutes les autres sorties.  Lorsqu'il est utilisé avec `--left-right`, imprimer à la place les comptes des commits gauche et droite, séparés par une tabulation. Lorsqu'utilisé avec `--cherry-mark`, omettre les commits équivalents de rustines de ces comptes et imprimer le compte des commits équivalents séparés par une tabulation.

note: type: Plain text
en: Add a `Signed-off-by` trailer by the committer at the end of the commit log message.  The meaning of a signoff depends on the project to which you're committing.  For example, it may certify that the committer has the rights to submit the work under the project's license or agrees to some contributor representation, such as a Developer Certificate of Origin.  (See http://developercertificate.org for the one used by the Linux kernel and Git projects.)  Consult the documentation or leadership of the project to which you're contributing to understand how the signoffs are used in that project.
fr: Ajouter une ligne finale `Signed-off-by` 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 http://developercertificate.org/ 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.

note: type: Plain text
en: The --no-signoff option can be used to countermand an earlier --signoff option on the command line.
fr: L'option --no-signoff peut être utilisée pour contrecarrer une option --signoff précédente sur la ligne de commande.

note: type: Plain text
en: The fetch and push protocols are not designed to prevent one side from stealing data from the other repository that was not intended to be shared. If you have private data that you need to protect from a malicious peer, your best option is to store it in another repository. This applies to both clients and servers. In particular, namespaces on a server are not effective for read access control; you should only grant read access to a namespace to clients that you would trust with read access to the entire repository.
fr: 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.

note: type: Plain text
en: The known attack vectors are as follows:
fr: Les vecteurs d'attaque connus sont les suivants :

note: type: Plain text
en: The victim sends "have" lines advertising the IDs of objects it has that are not explicitly intended to be shared but can be used to optimize the transfer if the peer also has them. The attacker chooses an object ID X to steal and sends a ref to X, but isn't required to send the content of X because the victim already has it. Now the victim believes that the attacker has X, and it sends the content of X back to the attacker later. (This attack is most straightforward for a client to perform on a server, by creating a ref to X in the namespace the client has access to and then fetching it. The most likely way for a server to perform it on a client is to "merge" X into a public branch and hope that the user does additional work on this branch and pushes it back to the server without noticing the merge.)
fr: 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).

note: type: Plain text
en: As in #1, the attacker chooses an object ID X to steal. The victim sends an object Y that the attacker already has, and the attacker falsely claims to have X and not Y, so the victim sends Y as a delta against X.  The delta reveals regions of X that are similar to Y to the attacker.
fr: 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.

note: type: Title -
en: REMOTES[[REMOTES]]
fr: DISTANTS[[REMOTES]]

note: type: Plain text
en: The name of one of the following can be used instead of a URL as `<repository>` argument:
fr: Le nom de l'un des éléments suivants peut être utilisé à la place d'une URL en tant qu'argument `<dépôt>` :

note: type: Plain text
en: a remote in the Git configuration file: `$GIT_DIR/config`,
fr: un distant dans le fichier de configuration Git : `$GIT_DIR/config`,

note: type: Plain text
en: a file in the `$GIT_DIR/remotes` directory, or
fr: un fichier dans le répertoire `$GIT_DIR/remotes`, ou

note: type: Plain text
en: a file in the `$GIT_DIR/branches` directory.
fr: un fichier dans le répertoire `$GIT_DIR/branches`.

note: type: Plain text
en: All of these also allow you to omit the refspec from the command line because they each contain a refspec which git will use by default.
fr: 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.

note: type: Title ~
en: Named remote in configuration file
fr: distant nommé dans le fichier de configuration

note: type: Plain text
en: You can choose to provide the name of a remote which you had previously configured using linkgit:git-remote[1], linkgit:git-config[1] or even by a manual edit to the `$GIT_DIR/config` file.  The URL of this remote will be used to access the repository.  The refspec of this remote will be used by default when you do not provide a refspec on the command line.  The entry in the config file would appear like this:
fr: Vous pouvez choisir de fournir le nom d'un distant que vous aviez précédemment configuré en utilisant linkgit:git-remote[1], linkgit:git-config[1] ou même par une modification manuelle du fichier `$GIT_DIR/config`.  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 :

note: type: delimited block -
en: 	[remote "<name>"]
    		url = <url>
    		pushurl = <pushurl>
    		push = <refspec>
    		fetch = <refspec>
fr: 	[remote "<nom>"]
    		url = <url>
    		pushurl = <url-poussée>
    		push = <spéc-de-réf>
    		fetch = <spéc-de-réf>

note: type: Plain text
en: The `<pushurl>` is used for pushes only. It is optional and defaults to `<url>`.
fr: Le `<url-poussée>` n'est utilisé que pour les poussées. Il est facultatif et sa valeur par défaut est `<url>`.

note: type: Title ~
en: Named file in `$GIT_DIR/remotes`
fr: Fichier nommé dans `$GIT_DIR/remotes`

note: type: Plain text
en: You can choose to provide the name of a file in `$GIT_DIR/remotes`.  The URL in this file will be used to access the repository.  The refspec in this file will be used as default when you do not provide a refspec on the command line.  This file should have the following format:
fr: Vous pouvez choisir de fournir le nom d'un fichier dans `$GIT_DIR/remotes`.  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 :

note: type: delimited block -
en: 	URL: one of the above URL format
    	Push: <refspec>
    	Pull: <refspec>
fr: 	URL: un des format d'URL ci-dessus
    	Push: <spéc-de-réf>
    	Pull: <spéc-de-réf>

note: type: Plain text
en: `Push:` lines are used by 'git push' and `Pull:` lines are used by 'git pull' and 'git fetch'.  Multiple `Push:` and `Pull:` lines may be specified for additional branch mappings.
fr: Les lignes `Push:`" sont utilisées par 'git push' et les lignes `Pull:` sont utilisées par 'git pull' et 'git fetch'.  Des lignes `Push:` et `Pull:` multiples peuvent être spécifiées pour des mappages  supplémentaires de branches.

note: type: Title ~
en: Named file in `$GIT_DIR/branches`
fr: Fichier nommé dans `$GIT-DIR/branches`

note: type: Plain text
en: You can choose to provide the name of a file in `$GIT_DIR/branches`.  The URL in this file will be used to access the repository.  This file should have the following format:
fr: Vous pouvez choisir de fournir le nom d'un fichier dans `$GIT_DIR/branches`.  L'URL de ce fichier sera utilisée pour accéder au dépôt.  Ce fichier doit avoir le format suivant :

note: type: delimited block -
en: 	<url>#<head>
fr: 	<url>#<tête>

note: type: Plain text
en: `<url>` is required; `#<head>` is optional.
fr: `<url>` est obligatoire ; `#<tête>` est facultatif.

note: type: Plain text
en: Depending on the operation, git will use one of the following refspecs, if you don't provide one on the command line.  `<branch>` is the name of this file in `$GIT_DIR/branches` and `<head>` defaults to `master`.
fr: 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.  `<branche>` est le nom de ce fichier dans `$GIT_DIR/branches` et `<tête>` vaut par défaut `master`.

note: type: Plain text
en: git fetch uses:
fr: git fetch utilise :

note: type: delimited block -
en: 	refs/heads/<head>:refs/heads/<branch>
fr: 	refs/heads/<tête>:refs/heads/<branche>

note: type: Plain text
en: git push uses:
fr: git push utilise :

note: type: delimited block -
en: 	HEAD:refs/heads/<head>
fr: 	HEAD:refs/heads/<tête>

note: type: Title -
en: GIT URLS[[URLS]]
fr: URL GIT[[URLS]]

note: type: Plain text
en: In general, URLs contain information about the transport protocol, the address of the remote server, and the path to the repository.  Depending on the transport protocol, some of this information may be absent.
fr: 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.

note: type: Plain text
en: Git supports ssh, git, http, and https protocols (in addition, ftp, and ftps can be used for fetching, but this is inefficient and deprecated; do not use it).
fr: 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).

note: type: Plain text
en: The native transport (i.e. git:// URL) does no authentication and should be used with caution on unsecured networks.
fr: Le transport natif (c'est-à-dire l'URL git://) n'utilise pas d'authentification et ne devrait être utilisé qu'avec précaution sur des réseaux non sécurisés.

note: type: Plain text
en: The following syntaxes may be used with them:
fr: Les syntaxes suivantes peuvent être utilisées avec eux :

note: type: Plain text
en: ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/
fr: ssh://{startsb}compte@{endsb}hôte.xz{startsb}:port{endsb}/chemin/du/dépôt.git/

note: type: Plain text
en: git://host.xz{startsb}:port{endsb}/path/to/repo.git/
fr: git://hôte.xz{startsb}:port{endsb}/chemin/du/dépôt.git/

note: type: Plain text
en: http{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/
fr: http{startsb}s{endsb}://hôte.xz{startsb}:port{endsb}/chemin/du/dépôt.git/

note: type: Plain text
en: ftp{startsb}s{endsb}://host.xz{startsb}:port{endsb}/path/to/repo.git/
fr: ftp{startsb}s{endsb}://hôte.xz{startsb}:port{endsb}/chemin/du/dépôt.git/

note: type: Plain text
en: An alternative scp-like syntax may also be used with the ssh protocol:
fr: Une syntaxe alternative de type scp peut aussi être utilisée pour le protocole ssh :

note: type: Plain text
en: {startsb}user@{endsb}host.xz:path/to/repo.git/
fr: {startsb}compte@{endsb}hôte.xz:chemin/vers/le/dépôt.git/

note: type: Plain text
en: This syntax is only recognized if there are no slashes before the first colon. This helps differentiate a local path that contains a colon. For example the local path `foo:bar` could be specified as an absolute path or `./foo:bar` to avoid being misinterpreted as an ssh url.
fr: 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 `toto:titi` pourrait être spécifié comme un chemin absolu ou `./toto:titi` pour éviter d'être interprété comme une url ssh.

note: type: Plain text
en: The ssh and git protocols additionally support ~username expansion:
fr: Les protocoles ssh et git supportent en plus l'expansion ~utilisateur :

note: type: Plain text
en: ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
fr: ssh://{startsb}compte@{endsb}hôte.xz{startsb}:port{endsb}/~{startsb}utilisateur{endsb}/chemin/du/dépôt.git/

note: type: Plain text
en: git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
fr: git://hôte.xz{startsb}:port{endsb}/~{startsb}compte{endsb}/chemin/du/dépôt.git/

note: type: Plain text
en: {startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/
fr: {startsb}compte@{endsb}hôte.xz:/~{startsb}compte{endsb}/chemin/du/dépôt.git/

note: type: Plain text
en: For local repositories, also supported by Git natively, the following syntaxes may be used:
fr: Pour les dépôts locaux, supportés aussi nativement par Git, les syntaxes suivantes sont aussi admises :

note: type: Plain text
en: /path/to/repo.git/
fr: /chemin/du/dépôt.git/

note: type: Plain text
en: \file:///path/to/repo.git/
fr: \file:///chemin/du/dépôt.git/

note: type: Plain text
en: These two syntaxes are mostly equivalent, except when cloning, when the former implies --local option. See linkgit:git-clone[1] for details.
fr: Ces deux syntaxes sont à peu près équivalentes, à part lors d'un clonage, où la première implique l'option `--local`. Voir linkgit:git-clone[1] pour plus de détails.

note: type: Plain text
en: These two syntaxes are mostly equivalent, except the former implies --local option.
fr: Ces deux syntaxes sont à peu près équivalentes, à part que la première implique l'option `--local`.

note: type: Plain text
en: 'git clone', 'git fetch' and 'git pull', but not 'git push', will also accept a suitable bundle file. See linkgit:git-bundle[1].
fr: « git clone », « git fetch » et « git pull », mais pas « git push », acceptent également un fichier paquet approprié. Voir linkgit:git-bundle[1].

note: type: Plain text
en: When Git doesn't know how to handle a certain transport protocol, it attempts to use the 'remote-<transport>' remote helper, if one exists. To explicitly request a remote helper, the following syntax may be used:
fr: Quand Git ne sait pas comment gérer un certain protocole, il essaie d'utiliser l'assistant de gestion de distant 'remote-<transport>', s'il existe. Pour requérir l'emploi d'un assistant spécifique, la syntaxe suivante peut être utilisée :

note: type: Plain text
en: <transport>::<address>
fr: <transport>::<adresse>

note: type: Plain text
en: where <address> may be a path, a server and path, or an arbitrary URL-like string recognized by the specific remote helper being invoked. See linkgit:gitremote-helpers[7] for details.
fr: où <adresse> peut être un chemin, un serveur et chemin, ou une chaîne URL arbitraire reconnue par l'assistant de gestion de distant invoqué. Voir linkgit:gitremote-helpers[7] pour plus de détails.

note: type: Plain text
en: If there are a large number of similarly-named remote repositories and you want to use a different format for them (such that the URLs you use will be rewritten into URLs that work), you can create a configuration section of the form:
fr: 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 :

note: type: delimited block -
en: 	[url "<actual url base>"]
    		insteadOf = <other url base>
fr: 	[url "<base d'URL correcte>"]
    		insteadOf = <autre base d'URL>

note: type: Plain text
en: For example, with this:
fr: Par exemple, avec ceci :

note: type: delimited block -
en: 	[url "git://git.host.xz/"]
    		insteadOf = host.xz:/path/to/
    		insteadOf = work:
fr: 	[url "git://git.host.xz/"]
    		insteadOf = host.xz:/chemin/vers/
    		insteadOf = travail:

note: type: Plain text
en: a URL like "work:repo.git" or like "host.xz:/path/to/repo.git" will be rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".
fr: 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 ».

note: type: Plain text
en: If you want to rewrite URLs for push only, you can create a configuration section of the form:
fr: Si vous souhaitez réécrire les URL seulement pour pousser, vous pouvez créer une section de configuration de la forme :

note: type: delimited block -
en: 	[url "<actual url base>"]
    		pushInsteadOf = <other url base>
fr: 	[url "<base d'URL correcte>"]
    		pushInsteadOf = <autre base d'URL>

note: type: delimited block -
en: 	[url "ssh://example.org/"]
    		pushInsteadOf = git://example.org/
fr: 	[url "ssh://exemple.org/"]
    		pushInsteadOf = git://exemple.org/

note: type: Plain text
en: a URL like "git://example.org/path/to/repo.git" will be rewritten to "ssh://example.org/path/to/repo.git" for pushes, but pulls will still use the original URL.
fr: 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.

note: type: Title -
en: "git bisect" overview
fr: Survol "git bisect"

note: type: Title ~
en: Avoiding untestable commits
fr: Éviter les commits intestables

note: type: Title -
en: "git bisect" details
fr: Détails de "git bisect"

note: type: Title ~
en: Bisection algorithm
fr: Algorithme de bisection

note: type: Plain text
en: For example if we start with a graph like this:
fr: Par exemple, nous démarrons avec un graphe comme celui-ci :

note: type: delimited block -
en: $ git rev-list --bisect-all BAD --not GOOD1 GOOD2
fr: $ git rev-list --bisect-all MAUVAIS --not BON1 BON2

note: type: Plain text
en: If we compute the following non optimal function on it:
fr: Si nous calculons la fonction non optimale suivante dessus :

note: type: Plain text
en: use "git bisect run" to find the commit that introduced it
fr: utiliser"git bisect run" pour rechercher la modification qui l'a introduite

note: type: Plain text
en: For example using:
fr: Par exemple en utilisant :

note: type: Title ~
en: Bisecting sporadic bugs
fr: Bisection de bugs sporatiques

note: type: Title -
en: References
fr: Références
