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.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.35.1 â 2.42.4 no changes
-
2.35.0
2022-01-24
- 2.31.1 â 2.34.8 no changes
-
2.31.0
2021-03-15
- 2.27.1 â 2.30.9 no changes
-
2.27.0
2020-06-01
- 2.25.2 â 2.26.3 no changes
- 2.25.1 no changes
- 2.22.1 â 2.25.0 no changes
-
2.22.0
2019-06-07
- 2.14.6 â 2.21.4 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.7.6 â 2.8.6 no changes
-
2.6.7
2017-05-05
- 2.5.6 no changes
-
2.4.12
2017-05-05
- 2.1.4 â 2.3.10 no changes
-
2.0.5
2014-12-17
SYNOPSIS
git commit-tree <arbre> [(-p <parent>)âŠâ] git commit-tree [(-p <parent>)âŠâ] [-S[<id-clĂ©>]] [(-m <message>)âŠâ] [(-F <fichier>)âŠâ] <arbre>
DESCRIPTION
Ce nâest gĂ©nĂ©ralement pas ce quâun utilisateur final veut exĂ©cuter directement. Voir git-commit[1] Ă la place.
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.
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.
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.
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.
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é.
OPTIONS
- <arbre>
-
Un objet dâarbre existant.
- -p <parent>
-
Chaque
-p
indique lâid dâun objet commit parent. - -m <message>
-
Un paragraphe dans le message du journal de validation. Ceci peut ĂȘtre donnĂ© plus dâune fois et chaque <message> devient son propre paragraphe.
- -F <fichier>
-
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.
- -S[<idclé>]
- --gpg-sign[=<idclé>]
- --no-gpg-sign
-
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 tout--gpg-sign
précédent sur la ligne de commande.
Information de validation
Un commit encapsule :
-
tous les identifiants des objets parents
-
nom de lâauteur, courriel et date
-
le nom et lâadresse Ă©lectronique du validateur et la date du commit.
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.
FORMATS DE DATE
Les variables dâenvironnement GIT_AUTHOR_DATE
et GIT_COMMITTER_DATE
supportent les formats de date suivants :
- Format interne de Git
-
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
. - RFC 2822
-
Le standard de format de date tel que décrit par la RFC 2822, par exemple
Thu,
07
Apr
2005
22:13:13
+0200
. - ISO 8601
-
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ĂšreT
. Les parties fractionnelles dâune seconde seront ignorĂ©es, par exemple,2005-04-07T22:13:13.019
sera considéré comme étant2005-04-07T22:13:13
.NoteDe plus, la partie date est acceptée dans les formats suivants : AAAA.MM.JJ
,MM/JJ/AAAA
etJJ.MM.AAAA
.
Discussion
Git est dans une certaine mesure agnostique concernant lâencodage des caractĂšres.
-
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.
-
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 git-config[1]), gitignore[5], gitattributes[5] and gitmodules[5]).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.
-
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.).
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.
-
git
commit
etgit
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âavoiri18n.commitEncoding
dans.git/config
, comme ceci :[i18n] commitEncoding = ISO-8859-1
Les objets commit créés avec le réglage ci-dessus enregistrent la valeur de
i18n.commitEncoding
dans leur entĂȘte dâencodageencoding
. 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. -
Sauf indication contraire,
git
log
,git
show
,git
blame
et consort lisent lâentĂȘteencoding
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 aveci18n.logOutputEncoding
dans le fichier.git/config
, comme ceci :[i18n] logOutputEncoding = ISO-8859-1
Si vous nâavez pas changĂ© cette variable de configuration, câest la valeur de
i18n.commitEncoding
qui est utilisée.
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.
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 .