Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
-
2.54.0
2026-04-20
- 2.51.2 â 2.53.0 no changes
-
2.51.1
2025-10-15
- 2.49.1 â 2.51.0 no changes
-
2.49.0
2025-03-14
- 2.45.1 â 2.48.2 no changes
-
2.45.0
2024-04-29
- 2.43.1 â 2.44.4 no changes
-
2.43.0
2023-11-20
- 2.42.1 â 2.42.4 no changes
-
2.42.0
2023-08-21
- 2.41.1 â 2.41.3 no changes
-
2.41.0
2023-06-01
- 2.39.1 â 2.40.4 no changes
-
2.39.0
2022-12-12
- 2.38.1 â 2.38.5 no changes
-
2.38.0
2022-10-02
- 2.32.1 â 2.37.7 no changes
-
2.32.0
2021-06-06
- 2.22.1 â 2.31.8 no changes
-
2.22.0
2019-06-07
- 2.19.3 â 2.21.4 no changes
-
2.19.2
2018-11-21
- 2.19.1 no changes
-
2.19.0
2018-09-10
- 2.18.1 â 2.18.5 no changes
-
2.18.0
2018-06-21
- 2.17.0 â 2.17.6 no changes
-
2.16.6
2019-12-06
-
2.15.4
2019-12-06
- 2.14.6 no changes
-
2.13.7
2018-05-22
- 2.12.5 no changes
-
2.11.4
2017-09-22
- 2.10.5 no changes
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
- 2.7.6 no changes
-
2.6.7
2017-05-05
- 2.3.10 â 2.5.6 no changes
-
2.2.3
2015-09-04
NOM
git-interpret-trailers - Ajoute ou analyse de lâinformation structurĂ©e dans les messages de validation
SYNOPSIS
git interpret-trailers [--in-place] [--trim-empty] [(--trailer (<clĂ©>|<alias-de-clĂ©>)[(=|:)<valeur>])âŠâ] [--parse] [<fichier>âŠâ]
DESCRIPTION
Ajouter ou analyser des lignes terminales, qui ressemblent Ă des en-tĂȘtes de courriel RFC 822, Ă la fin de la partie autrement libre dâun message de validation. Par exemple, dans le message de validation suivant
titre Lorem ipsum dolor sit amet, consectetur adipiscing elit. Signed-off-by: Alice <alice@exemple.com> Signed-off-by: Bob <bob@exemple.com>
les deux derniÚres lignes commençant par "Signed-off-by" sont des lignes terminales.
Cette commande lit des messages de validation provenant soit des <fichier>s en argument, soit de lâentrĂ©e standard, si aucun <fichier> nâest spĂ©cifiĂ©. Si --parse est spĂ©cifiĂ©, la sortie se compose des lignes terminales analysĂ©es provenant de l ' entrĂ©e, sans les influencer avec des options de ligne de commande ou des variables de configuration.
Sinon, cette commande sâapplique les variables de configuration`trailer.*` (qui pourraient potentiellement ajouter de nouvelles lignes terminales, ainsi que les repositionner), ainsi que tous les arguments de ligne de commande qui peuvent remplacer les variables de configuration (comme --trailer=... qui pourraient Ă©galement ajouter de nouvelles lignes terminales), Ă chaque fichier dâentrĂ©e. Le rĂ©sultat est Ă©mis sur la sortie standard.
Cette commande peut Ă©galement fonctionner sur la sortie de git-format-patch[1], qui est plus Ă©laborĂ© quâun simple message de validation. Plus prĂ©cisĂ©ment, cette sortie comprend un message de validation (comme ci-dessus), une ligne de sĂ©paration "---" et une rustine. Pour ces entrĂ©es, le sĂ©parateur et les rustines ne sont pas modifiĂ©s par cette commande et sont Ă©mis tel quels sur la sortie, Ă moins que --no-divider soit spĂ©cifiĂ©.
Certaines variables de configuration contrĂŽlent la façon dont les arguments --trailer sont appliquĂ©s Ă chaque entrĂ©e et la façon dont toute ligne terminale existante dans lâentrĂ©e est changĂ©e. Elles permettent Ă©galement dâajouter automatiquement des lignes terminales.
Par dĂ©faut, lâargument <clĂ©>=<valeur> or <clĂ©>:<valeur> fourni en utilisant --trailer ne sera ajoutĂ© aprĂšs les lignes terminales existantes que si la derniĂšre ligne terminale a une paire (<clĂ©>, <valeur>) diffĂ©rente (ou sâil nây a pas de ligne terminale). Les parties <clĂ©> et <valeur> seront raccourcis pour supprimer les espaces blancs de dĂ©but et de fin, et les <clĂ©> et <valeur> nettoyĂ©s rĂ©sultants seront apposĂ©s dans la sortie comme ceci :
clé:valeur
Cela signifie que les <clĂ©> et <valeur> nettoyĂ©s seront sĂ©parĂ©s par : (deux points suivis dâun espace).
Pour plus de commoditĂ©, on peut configurer un <alias-de-clĂ©> afin dâutiliser un --trailer plus court Ă taper sur la ligne de commande. Cela peut ĂȘtre configurĂ© Ă lâaide de la variable de configuration trailer.<alias-de-clĂ©>.key. L'<alias-de-clĂ©> doit ĂȘtre un prĂ©fixe de la chaĂźne complĂšte <clĂ©>, bien que la sensibilitĂ© Ă la casse nâa pas dâimportance. Par exemple, si vous avez
trailer.sign.key "Signed-off-by: "
dans votre configuration, vous devez seulement spécifier --trailer="sign: foo" sur la ligne de commande au lieu de --trailer="Signed-off-by: foo".
Par dĂ©faut, la nouvelle ligne terminale apparaĂźtra aprĂšs toutes les lignes terminales existantes. Sâil nây a pas de ligne terminale existante, la nouvelle ligne terminale apparaĂźtra Ă la fin de lâentrĂ©e. Sâil nây a pas dĂ©jĂ de ligne avec seulement des espaces Ă la fin, une ligne vierge sera ajoutĂ©e avant la nouvelle ligne terminale.
Les lignes terminales existantes sont extraites de lâentrĂ©e en recherchant un groupe dâune ou plusieurs lignes qui (i) nâest constituĂ© que de lignes terminales, ou (ii) contient au moins une ligne terminale gĂ©nĂ©rĂ©e par Git ou pour par la configuration utilisateur et se compose dâau moins 25% de lignes terminales. Le groupe doit ĂȘtre prĂ©cĂ©dĂ© dâune ou de plusieurs lignes vides (ou espace seulement). Le groupe doit soit ĂȘtre Ă la fin de lâentrĂ©e, soit ĂȘtre les derniĂšres lignes non blanches avant une ligne qui commence par --- (suivi par un espace ou la fin de la ligne).
Lors de la lecture des lignes terminales, il ne doit pas y avoir dâespace blanc avant ou Ă lâintĂ©rieur du <clĂ©>, mais les caractĂšres dâespace normaux ou de tabulations sont autorisĂ©s entre la <clĂ©> et le sĂ©parateur. Il peut y avoir des espaces blancs avant, Ă lâintĂ©rieur ou aprĂšs la <valeur.> La <valeur> peut ĂȘtre divisĂ©e sur plusieurs lignes avec chaque ligne subsĂ©quente commençant par au moins un espace blanc, comme le "folding" dans RFC 822. Exemple :
clé: C'est une trÚs longue ligne, avec des espaces et des retours chariots.
Notez que les lignes terminales ne suivent pas (et ne sont pas destinĂ©es Ă suivre) de nombreuses rĂšgles pour les en-tĂȘtes RFC 822. Par exemple, elles ne suivent pas les rĂšgles dâencodage.
OPTIONS
- --in-place
-
Ăditer les fichiers sur place.
- --trim-empty
-
Si la partie <valeur> dâune ligne terminale ne contient que des espaces blancs, la totalitĂ© de la ligne terminale est Ă©liminĂ©e de la sortie rĂ©sultante. Ceci sâapplique aux lignes terminales prĂ©-existantes ainsi quâaux nouvelles lignes terminales.
- --trailer <clé>[(=| :)<valeur>]
-
SpĂ©cifier une paire (<clĂ©>, <valeur> ) qui devrait ĂȘtre appliquĂ©e comme ligne terminale Ă lâentrĂ©e. Voir la description de cette commande.
- --where <placement>
- --no-where
-
PrĂ©ciser oĂč toutes les nouvelles lignes terminales seront ajoutĂ©es. Un paramĂštre fourni avec --where a prĂ©cĂ©dence sur la variable de configuration
trailer.whereet toute autretrailer.<alias-de-clĂ©>.whereet sâapplique Ă toutes les options --trailer jusquâĂ la prochaine occurrence de --where ou --no-where. La prĂ©sence du --no-where`rĂ©initialise l'effet de toute utilisation antĂ©rieure de `--where, de sorte que les variables de configuration pertinentes ne sont plus outrepassĂ©es. Les placements possibles sontafter,before,endoustart. - --if-exists <action>
- --no-if-exists
-
SpĂ©cifier lâaction qui sera exĂ©cutĂ©e lorsquâil y a dĂ©jĂ au moins une ligne terminale avec la mĂȘme <clĂ©> dans lâentrĂ©e. Un paramĂštre fourni avec
--if-existssurcharge les variables de configurationtrailer.ifExistsettouteautretrailer.<alias-de-clĂ©>.ifExistset sâapplique Ă toutes les options--trailerjusquâĂ la prochaine occurrence de--if-existsou--no-if-exists. Lâoccurrence de--no-if-existsrĂ©initialise lâeffet de toute utilisation antĂ©rieure de--if-exists, de sorte que les variables de configurations pertinentes ne sont plus surchargĂ©es. Les actions possibles sontaddIfDifferent,addIfDifferentNeighbor,add,replaceetdoNothing. - --if-missing <action>
- --no-if-missing
-
SpĂ©cifier lâaction qui sera exĂ©cutĂ©e lorsquâil nây a pas dâautre ligne-terminale avec le mĂȘme <clĂ©> dans lâentrĂ©e. Un paramĂštre fourni avec
--if-missingsurcharge les variables de configurationtrailer.ifMissinget toute autretrailer.<alias-de-clĂ©>.ifMissinget sâapplique Ă toutes les options--trailerjusquâĂ la prochaine occurrence de--if-missingou--no-if-missing. Lâoccurrence de--no-if-missingrĂ©initialise lâeffet de toute utilisation antĂ©rieure de--if-missing, de sorte que les variables de configurations pertinentes ne sont plus surchargĂ©es. Les actions possibles sontdoNothingouadd. - --only-trailers
-
Extraire seulement les lignes terminales, pas dâautres parties de lâentrĂ©e.
- --only-input
-
Ne sortir que les lignes terminales qui existent dans lâentrĂ©eâŻ; nâajouter aucune depuis la ligne de commande ou en appliquant les variables de configuration`trailer.*`.
- --unfold
-
Si une ligne terminale a une valeur qui se suit sur plusieurs lignes (aka "folded"), reformater la valeur en une seule ligne.
- --parse
-
Un alias de commodité pour les
--only-trailers--only-input--unfold. Cela rend plus facile de voir seulement les lignes terminales provenant de lâentrĂ©e sans les influer sur toutes les options de ligne de commande ou de configuration, tout en rendant la sortie compatible avec un traitement automatique e avec --unfold. - --no-divider
-
Ne pas traiter
---comme la fin du message de validation. Utilisez ceci lorsque vous savez que votre entrĂ©e contient simplement le message de validation lui-mĂȘme (et non un courriel ou la sortie degitformat-patch).
VARIABLES DE CONFIGURATION
Tout ce qui se trouve en dessous de cette ligne dans cette section est inclus de maniĂšre sĂ©lective Ă partir de la documentation git-config[1]. Le contenu est le mĂȘme que celui qui sây trouve :
|
Warning
|
Missing See original version for this content. |
EXEMPLES
-
Configurer une ligne terminale signature avec une clé Signed-off-by, puis ajouter deux de ces lignes terminales à un fichier de message de validation :
$ git config trailer.sign.key "Signed-off-by" $ cat msg.txt subject corps du message $ git interpret-trailers --trailer 'sign: Alice <alice@exemple.com>' --trailer 'sign: Bob <bob@exemple.com>' <msg.txt subject corps du message Signed-off-by: Alice <alice@exemple.com> Signed-off-by: Bob <bob@exemple.com>
-
Utilisez lâoption
--in-placepour modifier un fichier de message de validation en place :$ cat msg.txt subject corps du message Signed-off-by: Bob <bob@exemple.com> $ git interpret-trailers --trailer 'Acked-by: Alice <alice@exemple.com>' --in-place msg.txt $ cat msg.txt subject corps du message Signed-off-by: Bob <bob@exemple.com> Acked-by: Alice <alice@exemple.com>
-
Ăxtraire le dernier commit comme une rustine, et y ajouter des lignes terminales "Cc" et "Reviewed-by' :
$ git format-patch -1 0001-foo.patch $ git interpret-trailers --trailer 'Cc: Alice <alice@exemple.com>' --trailer 'Reviewed-by: Bob <bob@exemple.com>' 0001-foo.patch >0001-bar.patch
-
Configurer une ligne terminale "sign" avec une commande pour ajouter automatiquement un "Signed-off-by :" avec les informations sur lâauteur uniquement sâil nây a pas dĂ©jĂ de "Signed-off-by:", et montrer comment cela fonctionne :
$ cat msg1.txt subject corps du message $ git config trailer.sign.key "Signed-off-by: " $ git config trailer.sign.ifmissing add $ git config trailer.sign.ifexists doNothing $ git config trailer.sign.cmd 'echo "$(git config user.name) <$(git config user.email)>"' $ git interpret-trailers --trailer sign <msg1.txt titre corps du message Signed-off-by: Bob <bob@exemple.com> $ cat msg2.txt subject corps du message Signed-off-by: Alice <alice@exemple.com> $ git interpret-trailers --trailer sign <msg2.txt subject corps du message Signed-off-by: Alice <alice@exemple.com>
-
Configurer une ligne terminale fix avec une clé qui contient un # et aucun espace aprÚs ce caractÚre, et montrer comment il fonctionne :
$ git config trailer.separators ":#" $ git config trailer.fix.key "Fix #" $ echo "subject" | git interpret-trailers --trailer fix=42 subject Fix #42
-
Configurer une ligne terminale help avec un cmd, utiliser un script
glog-find-authorqui recherche lâidentitĂ© de lâauteur spĂ©cifiĂ© dans le journal git dans le dĂ©pĂŽt git et montrer comment cela fonctionne :$ cat ~/bin/glog-find-author #!/bin/sh test -n "$1" && git log --author="$1" --pretty="%an <%ae>" -1 || true $ cat msg.txt subject corps du message $ git config trailer.help.key "Helped-by: " $ git config trailer.help.ifExists "addIfDifferentNeighbor" $ git config trailer.help.cmd "~/bin/glog-find-author" $ git interpret-trailers --trailer="help:Junio" --trailer="help:Couder" <msg.txt titre corps du message Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Christian Couder <christian.couder@gmail.com>
-
Configurer une ligne terminale ref avec un script
glog-greppour rechercher le dernier commit pertinent dans le journal git du dépÎt git et montrer comment cela fonctionne :$ cat ~/bin/glog-grep #!/bin/sh test -n "$1" && git log --grep "$1" --pretty=reference -1 || true $ cat msg.txt subject corps du message $ git config trailer.ref.key "Reference-to: " $ git config trailer.ref.ifExists "replace" $ git config trailer.ref.cmd "~/bin/glog-grep" $ git interpret-trailers --trailer="ref:Add copyright notices." <msg.txt titre corps du message Reference-to: 8bc9a0c769 (Add copyright notices., 2005-04-07)
-
Configurer une ligne terminale see avec une commande pour montrer le sujet dâun commit qui est liĂ©, et montrer comment cela fonctionne :
$ cat msg.txt subject corps du message see: HEAD~2 $ cat ~/bin/glog-ref #!/bin/sh git log -1 --oneline --format="%h (%s)" --abbrev-commit --abbrev=14 $ git config trailer.see.key "See-also: " $ git config trailer.see.ifExists "replace" $ git config trailer.see.ifMissing "doNothing" $ git config trailer.see.cmd "glog-ref" $ git interpret-trailers --trailer=see <msg.txt subject corps du message See-also: fe3187489d69c4 (subject of related commit)
-
Configurer un modĂšle de commit avec quelques lignes terminales avec des valeurs vides (en utilisant sed pour afficher et conserver les espaces Ă la fin des lignes terminales), puis configurer un crochet commit-msg qui utilise git interpret-trailers pour supprimer les lignes terminales avec des valeurs vides et pour ajouter une ligne terminale git-version :
$ cat temp.txt ***subject*** ***message*** Fixes: Z Cc: Z Reviewed-by: Z Signed-off-by: Z $ sed -e 's/ Z$/ /' temp.txt > commit_template.txt $ git config commit.template commit_template.txt $ cat .git/hooks/commit-msg #!/bin/sh git interpret-trailers --trim-empty --trailer "git-version: \$(git describe)" "\$1" > "\$1.new" mv "\$1.new" "\$1" $ chmod +x .git/hooks/commit-msg
GIT
Fait partie de la suite git[1]
TRADUCTION
Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .