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.52.0
2025-11-17
-
2.51.2
2025-10-27
-
2.51.1
2025-10-15
-
2.51.0
2025-08-18
- 2.50.1 no changes
-
2.50.0
2025-06-16
- 2.49.1 no changes
-
2.49.0
2025-03-14
- 2.48.2 no changes
-
2.48.1
2025-01-13
-
2.48.0
2025-01-10
- 2.47.3 no changes
-
2.47.2
2024-11-26
-
2.47.1
2024-11-25
-
2.47.0
2024-10-06
- 2.46.4 no changes
-
2.46.3
2024-11-26
-
2.46.2
2024-09-23
-
2.46.1
2024-09-13
-
2.46.0
2024-07-29
- 2.45.4 no changes
-
2.45.3
2024-11-26
- 2.45.1 → 2.45.2 no changes
-
2.45.0
2024-04-29
- 2.44.4 no changes
-
2.44.3
2024-11-26
- 2.44.1 → 2.44.2 no changes
-
2.44.0
2024-02-23
- 2.43.7 no changes
-
2.43.6
2024-11-26
- 2.43.2 → 2.43.5 no changes
-
2.43.1
2024-02-09
-
2.43.0
2023-11-20
-
2.42.4
2024-11-26
- 2.42.2 → 2.42.3 no changes
-
2.42.1
2023-11-02
-
2.42.0
2023-08-21
-
2.41.3
2024-11-26
- 2.41.1 → 2.41.2 no changes
-
2.41.0
2023-06-01
-
2.40.4
2024-11-26
- 2.40.1 → 2.40.3 no changes
-
2.40.0
2023-03-12
- 2.39.1 → 2.39.5 no changes
-
2.39.0
2022-12-12
- 2.38.3 → 2.38.5 no changes
-
2.38.2
2022-12-11
-
2.38.1
2022-10-07
-
2.38.0
2022-10-02
- 2.37.5 → 2.37.7 no changes
-
2.37.4
2022-10-06
- 2.37.3 no changes
-
2.37.2
2022-08-11
- 2.37.1 no changes
-
2.37.0
2022-06-27
- 2.36.4 → 2.36.6 no changes
-
2.36.3
2022-10-06
-
2.36.2
2022-06-23
- 2.36.1 no changes
-
2.36.0
2022-04-18
- 2.35.6 → 2.35.8 no changes
-
2.35.5
2022-10-06
-
2.35.4
2022-06-23
-
2.35.3
2022-04-13
-
2.35.2
2022-03-23
- 2.35.1 no changes
-
2.35.0
2022-01-24
- 2.34.6 → 2.34.8 no changes
-
2.34.5
2022-10-06
-
2.34.4
2022-06-23
-
2.34.3
2022-04-13
-
2.34.2
2022-03-23
- 2.34.1 no changes
-
2.34.0
2021-11-15
- 2.33.6 → 2.33.8 no changes
-
2.33.5
2022-10-06
-
2.33.4
2022-06-23
-
2.33.3
2022-04-13
-
2.33.2
2022-03-23
-
2.33.1
2021-10-12
-
2.33.0
2021-08-16
- 2.32.5 → 2.32.7 no changes
-
2.32.4
2022-10-06
-
2.32.3
2022-06-23
-
2.32.2
2022-04-13
-
2.32.1
2022-03-23
-
2.32.0
2021-06-06
- 2.31.6 → 2.31.8 no changes
-
2.31.5
2022-10-06
-
2.31.4
2022-06-23
-
2.31.3
2022-04-13
-
2.31.2
2022-03-23
-
2.31.1
2021-03-26
-
2.31.0
2021-03-15
- 2.30.7 → 2.30.9 no changes
-
2.30.6
2022-10-06
-
2.30.5
2022-06-23
-
2.30.4
2022-04-13
-
2.30.3
2022-03-23
- 2.30.2 no changes
-
2.30.1
2021-02-08
-
2.30.0
2020-12-27
- 2.29.1 → 2.29.3 no changes
-
2.29.0
2020-10-19
- 2.28.1 no changes
-
2.28.0
2020-07-27
- 2.27.1 no changes
-
2.27.0
2020-06-01
- 2.26.1 → 2.26.3 no changes
-
2.26.0
2020-03-22
- 2.25.3 → 2.25.5 no changes
-
2.25.2
2020-03-17
-
2.25.1
2020-02-17
-
2.25.0
2020-01-13
- 2.24.1 → 2.24.4 no changes
-
2.24.0
2019-11-04
- 2.23.1 → 2.23.4 no changes
-
2.23.0
2019-08-16
- 2.22.2 → 2.22.5 no changes
-
2.22.1
2019-08-11
-
2.22.0
2019-06-07
- 2.21.1 → 2.21.4 no changes
-
2.21.0
2019-02-24
- 2.20.1 → 2.20.5 no changes
-
2.20.0
2018-12-09
- 2.19.3 → 2.19.6 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.1 → 2.17.6 no changes
-
2.17.0
2018-04-02
-
2.16.6
2019-12-06
-
2.15.4
2019-12-06
-
2.14.6
2019-12-06
-
2.13.7
2018-05-22
-
2.12.5
2017-09-22
-
2.11.4
2017-09-22
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
-
2.5.6
2017-05-05
-
2.4.12
2017-05-05
-
2.3.10
2015-09-28
-
2.2.3
2015-09-04
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
SYNOPSIS
git config list [<option-de-fichier>] [<option-d-affichage>] [--includes] git config get [<option-de-fichier>] [<option-d-affichage>] [--includes] [--all] [--regexp] [--value=<motif>] [--fixed-value] [--default=<default>] [--url=<url>] <nom> git config set [<option-de-fichier>] [--type=<type>] [--all] [--value=<motif>] [--fixed-value] <nom> <valeur> git config unset [<option-de-fichier>] [--all] [--value=<motif>] [--fixed-value] <nom> git config rename-section [<option-de-fichier>] <ancien-nom> <nouveau-nom> git config remove-section [<option-de-fichier>] <nom> git config edit [<option-de-fichier>] git config [<option-de-fichier>] --get-colorbool <nom> [<stdout-est-tty>]
DESCRIPTION
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.
Plusieurs lignes peuvent être ajoutées à une option en utilisant l’option --append. Si vous voulez mettre à jour ou annuler une option qui peut se trouver sur plusieurs lignes, --value=<motif> (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.
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.
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).
Lors de l’écriture, la nouvelle valeur est écrite dans le fichier de configuration local du dépôt 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).
Cette commande échouera avec un statut non nul en cas d’erreur. Certains codes de sortie sont :
-
La section ou la clé n’est pas valide (ret=1),
-
aucune section ou nom n’a été fourni (ret=2),
-
le fichier de configuration est invalide (ret=3),
-
le fichier de configuration ne peut pas être écrit (ret=4),
-
vous essayez d’annuler une option qui n’existe pas (ret=5),
-
vous essayez de désactiver/définir une option pour laquelle plusieurs lignes correspondent (ret=5), ou
-
vous essayez d’utiliser une expression rationnelle non valide (ret=6).
En cas de succès, la commande renvoie le code de sortie 0.
Une liste de toutes les variables de configuration disponibles peut être obtenue en utilisant la commande git help --config.
COMMANDES
- list
-
Lister toutes les variables définies dans le fichier de configuration, avec leurs valeurs.
- get
-
Émet la valeur de la clé spécifiée. Si la clé est présente plusieurs fois dans la configuration, émet la dernière valeur. Si
--allest spécifié, émet toutes les valeurs associées à la clé. Retourne le code d’erreur 1 si la clé n’est pas présente. - set
-
Définir la valeur pour une ou plusieurs options de configuration. Par défaut, cette commande refuse d’écrire des options de configuration multi-valeur. Passer
--allremplacera toutes les options de configuration multi-valeur avec la nouvelle valeur, alors que--value=remplacera toutes les options de configuration dont les valeurs correspondent au modèle donné. - unset
-
Valeur désinitialisée pour une ou plusieurs options de configuration. Par défaut, cette commande refuse de désactiver les clés multi-valeurs. Passer
--alldé-enregistrera toutes les options de configuration multi-valeur, alors que--valuedé-enregistrera toutes les options de configuration dont les valeurs correspondent au modèle donné. - rename-section
-
Renommer la section donnée avec un nouveau nom.
- remove-section
-
Supprimer la section indiquée du fichier de configuration.
- edit
-
Ouvrir un éditeur pour modifier le fichier de configuration spécifié ; soit
--system,--global,--local(par défaut),--worktreeou--file<fichier-config>.
OPTIONS
- --replace-all
-
Le comportement par défaut est de remplacer au maximum une ligne. Ceci remplace toutes les lignes correspondant à la clé (et facultativement
--value=<motif>). - --append
-
Ajoute une nouvelle ligne à l’option sans modifier les valeurs existantes. C’est la même chose que de fournir
--value=^$àset. - --comment <message>
-
Ajouter un commentaire à la fin des lignes nouvelles ou modifiées.
Si <message> commence avec un ou plusieurs espaces blancs suivis par "", il est utilisé tel quel. S’il commence par "", un espace est préfixé avant qu’il ne soit utilisé. Sinon, une chaîne " # " (un espace suivi d’un dièse suivi d’un espace) est préfixée à elle. Et la chaîne résultante est placée immédiatement après la valeur définie pour la variable. Le _ <message>_ ne doit pas contenir de caractères retour-chariot (les commentaires multi-lignes ne sont pas permis).
- --all
-
Avec
get, renvoyer toutes les valeurs pour une clé à valeurs multiples. - --regexp
-
avec
get, interpréter le nom comme une expression régulière. 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. - --url=<URL>
-
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.
- --global
-
Pour l’écriture des options : écrire dans le fichier global
~/.gitconfigplutôt que dans le.git/configdu dépôt, écrire dans le fichier$XDG_CONFIG_HOME/git/configsi ce fichier existe et que le fichier~/.gitconfign’existe pas.Pour les options de lecture : lire uniquement depuis le
~/.gitconfigglobal et depuis$XDG_CONFIG_HOME/git/configplutôt que depuis tous les fichiers disponibles.Voir aussi FICHIERS.
- --system
-
Pour l’écriture des options : écrire dans le
$(prefix)/etc/gitconfigniveau système plutôt que dans le.git/configdu dépôt.Pour la lecture des options : lire seulement à partir de
$(prefix)/etc/gitconfigniveau système plutôt qu’à partir de tous les fichiers disponibles.Voir aussi FICHIERS.
- --local
-
Pour l’écriture des options : écrire dans le fichier
.git/configdu dépôt. C’est le comportement par défaut.Pour la lecture des options : lire uniquement depuis le
.git/configdu dépôt plutôt que depuis tous les fichiers disponibles.Voir aussi FICHIERS.
- --worktree
-
Similaire à
--localsauf que$GIT_DIR/config.worktreeest lu ou écrit siextensions.worktreeConfigest activé. Sinon, c’est la même chose que--local. Notez que$GIT_DIRest égal à$GIT_COMMON_DIRpour l’arbre-de-travail principal, mais est de la forme$GIT_DIR/worktrees/<id>/pour les autres arbres-de-travail. Voir git-worktree[1] pour savoir comment activerextensions.worktreeConfig. - -f <fichier-de-config>
- --file <fichier-de-config>
-
Pour l’écriture des options : écrire dans le fichier spécifié plutôt que dans le
.git/configdu dépôt.Pour la lecture des options : lire uniquement à partir du fichier spécifié plutôt qu’à partir de tous les fichiers disponibles.
Voir aussi FICHIERS.
- --blob <blob>
-
Similaire à
--filemais utiliser le blob donné au lieu d’un fichier. Par exemple, vous pouvez utiliser master:.gitmodules pour lire les valeurs du fichier .gitmodules dans la branche master. Voir la section "SPECIFICATION DE REVISIONS" dans gitrevisions[7] pour une liste plus complète des façons d’épeler les noms de blob. -
--value=<motif> -
--no-value -
Avec
get,set, andunset, ne recherche le correspondance qu’avec <motif>. Le motif est une expression régulière étendue à moins que--fixed-valuene soit donné.Utiliser
--no-valuepour annuler la défintion de <motif>. - --fixed-value
-
Lorsqu’utilisé avec
--value=<motif>, traiter <motif> comme une chaîne exacte au lieu d’une expression régulière. Cela limitera les paires nom/valeur qui correspondent uniquement à celles dont la valeur est exactement égale à <motif>. - --type <type>
-
git config s’assurera que toute entrée ou sortie est valide sous la ou les contraintes de type fournies, et canonisera les valeurs sortantes dans la forme canonique de <type>.
Les « <type> » valides comprennent :
-
bool : canonicaliser les valeurs
true,yes,on, et les nombres positifs commetrue, et les valeursfalse,no,offet0commefalse. -
int : canoniser les valeurs sous forme de nombres décimaux simples. Un suffixe facultatif de k, m ou g entraînera la multiplication de la valeur par 1024, 1048576 ou 1073741824 lors de la lecture.
-
bool-ou-int : canoniser selon bool ou int, comme décrit ci-dessus.
-
path : canonise en ajoutant un
~à la valeur de$HOMEet~userau répertoire personnel de l’utilisateur spécifié. Ce spécificateur n’a aucun effet lors de la définition de la valeur (mais vous pouvez utilisergitconfigsection.variable~/depuis la ligne de commande pour laisser votre shell faire l’expansion). -
expiry-date' : canonisation en convertissant une chaîne de date fixe ou relative en un horodatage. Ce spécificateur n’a aucun effet lors de la définition de la valeur.
-
color : Lors de l’obtention d’une valeur, la canoniser en la convertissant en une séquence d’échappement de couleur ANSI. Lors de la définition d’une valeur, un contrôle de sanité est effectué pour s’assurer que la valeur donnée peut être canonisée en tant que couleur ANSI, mais elle est écrite telle quelle.
-
- --bool
- --int
- --bool-or-int
- --path
- --expiry-date
-
Options historiques pour la sélection d’un spécificateur de type. Préférez plutôt
--type(voir ci-dessus). - --no-type
-
Défait le spécificateur de type précédemment défini (s’il y en avait un). Cette option demande à git config de ne pas canoniser la variable récupérée.
--no-typen’a aucun effet sans--type=<type> ou--<type>. - -z
- --null
-
Pour toutes les options qui produisent des valeurs et/ou des clés, terminer toujours les valeurs par le caractère nul (au lieu d’une nouvelle ligne). Utiliser plutôt le saut de ligne comme délimiteur entre la clé et la valeur. Cela permet une analyse sûre de la sortie sans être confondu, par exemple, avec des valeurs qui contiennent des sauts de ligne.
- --name-only
-
Afficher seulement les noms des variables de configuration pour
listouget. -
--show-names -
--no-show-names -
Avec
get, afficher les clés de configuration en plus de leurs valeurs. La valeur par défaut est--no-show-namesà moins que--urlne soit donnée et qu’il n’y ait pas de sous-section dans <nom>. - --show-origin
-
Augmenter la sortie de toutes les options de configuration interrogées avec le type d’origine (fichier, entrée standard, blob, ligne de commande) et l’origine réelle (chemin du fichier de configuration, ref, ou identifiant du blob si applicable).
- --show-scope
-
Similaire à
--show-originen ce qu’il augmente la sortie de toutes les options de configuration interrogées avec la portée de cette valeur (arbre-de-travail, locale, globale, système, commande). - --get-colorbool <nom> [<stdout-est-tty>]
-
Trouver le paramètre de couleur pour <nom> (par exemple,
color.diff) et affiche "true" ou "false". <stdout-est-tty> devrait être soit "true" soit "false", et est pris en compte lorsque la configuration est "auto". Si <stdout-est-tty> est absent, alors vérifier la sortie standard de la commande elle-même, et sortir avec le statut 0 si la couleur doit être utilisée, ou sortir avec le statut 1 sinon. Lorsque le paramètre de couleur pour <nom> est indéfini, la commande utilisecolor.uicomme solution de repli. - --includes
- --no-includes
-
Respecter les directives
include.*dans les fichiers de configuration lors de la recherche de valeurs. La valeur par défaut estofflorsqu’un fichier spécifique est donné (par exemple, en utilisant--file,--global, etc) etonlorsqu’on cherche dans tous les fichiers de configuration. - --default <valeur>
-
Lors de l’utilisation de
get, et que la variable demandée n’est pas trouvée, se comporter comme si <valeur> était la valeur assignée à cette variable.
MODES OBSOLÈTES
Les modes suivants ont été dépréciés en faveur des sous-commandes. Il est recommandé de migrer vers la nouvelle syntaxe.
- git config <nom>
-
Remplacé par
gitconfigget<nom>. - git config <nom> [<motif-de-valeur>]
-
Remplacé par
gitconfigset[--value=<motif>] <nom> <valeur>. - -l
- --list
-
Remplacé par`git config list`.
- --get <nom> [<motif-de-valeur>]
-
Remplacé par
gitconfigget[--value=<motif>] <nom>. - --get-all <nom> [<motif-de-valeur>]
-
Remplacé par
gitconfigget[--value=<motif>]--all<nom>. - --get-regexp <regexp-de-nom>
-
Remplacé par
gitconfigget--all--show-names--regexp<regexp-de-nom>. - --get-urlmatch <nom> <URL>
-
Remplacé par
gitconfigget--all--show-names--url=<URL> <nom>. - --get-color <nom> [<défaut>]
-
Remplacé par
gitconfigget--type=color[--default=<défaut>] <nom>. - --add <nom> <valeur>
-
Remplacé par
gitconfigset--append<nom> <valeur>. - --unset <nom> [<motif-de-valeur>]
-
Remplacé par
gitconfigunset[--value=<motif>] <nom>. - --unset-all <nom> [<motif-de-valeur>]
-
Remplacé par
gitconfigunset[--value=<motif>]--all<nom>. - --rename-section <ancien-nom> <nouveau-nom>
-
Remplacé par
gitconfigrename-section<ancien-nom> <nouveau-nom>. - --remove-section <nom>
-
Remplacé par
gitconfigremove-section<nom>. - -e
- --edit
-
Remplacé par
gitconfigedit.
CONFIGURATION
pager.config n’est respecté que lors de l’énumération de la configuration, c’est-à-dire lors de l’utilisation de list ou de l’un des get qui peuvent retourner plusieurs résultats. Le défaut est d’utiliser un pager.
FICHIERS
Par défaut, git config lira les options de configuration à partir de plusieurs fichiers :
- $(prefix)/etc/gitconfig
-
Fichier de configuration au niveau système.
- $XDG_CONFIG_HOME/git/config
- ~/.gitconfig
-
Fichiers de configuration spécifiques à l’utilisateur. Lorsque la variable d’environnement XDG_CONFIG_HOME n’est pas définie ou est vide, $HOME/.config/ est utilisé comme $XDG_CONFIG_HOME.
Ces fichiers sont également appelés fichiers de configuration "globaux". Si les deux fichiers existent, ils sont lus dans l’ordre donné ci-dessus.
- $GIT_DIR/config
-
Fichier de configuration spécifique au dépôt.
- $GIT_DIR/config.worktree
-
Ceci est optionnel et n’est recherché que si
extensions.worktreeConfigest présent dans $GIT_DIR/config.
Vous pouvez aussi fournir des paramètres de configuration additionnels lorsque vous exécutez une commande git en utilisant l’option -c. Voir git[1] pour plus de détails.
Les options seront lues depuis tous ces fichiers lorsqu’ils sont disponibles. Si le fichier de configuration global ou le fichier de configuration du système sont manquants ou illisibles, ils seront ignorés. Si le fichier de configuration du dépôt est manquant ou illisible, git config se terminera avec un code d’erreur non nul. Un message d’erreur sera produit si le fichier n’est pas lisible, mais pas s’il est manquant.
Les fichiers sont lus dans l’ordre indiqué ci-dessus, la dernière valeur trouvée étant prioritaire sur les valeurs lues précédemment. Lorsque plusieurs valeurs peuvent être concaténées, toutes les valeurs d’une clé dans tous les fichiers seront utilisées.
Par défaut, les options sont seulement écrites dans le fichier de configuration spécifique au dépôt. Notez que cela affecte également les options comme set et unset. git config ne modifiera jamais qu’un seul fichier à la fois.
Vous pouvez limiter les sources de configuration qui sont lues ou écrites en spécifiant le chemin d’un fichier avec l’option --file, ou en spécifiant une portée de configuration avec --system, --global, --local, ou --worktree. Pour en savoir plus, voir OPTIONS ci-dessus.
PORTÉES
Chaque source de configuration relève d’une portée de configuration. Les portées sont les suivantes :
- système
-
$(prefix)/etc/gitconfig
- global
-
$XDG_CONFIG_HOME/git/config
~/.gitconfig
- local
-
$GIT_DIR/config
- arbre-de-travail
-
$GIT_DIR/config.worktree
- commande
-
variables d’environnement GIT_CONFIG_{COUNT,KEY,VALUE} (voir ENVIRONNEMENT ci-dessous)
l’option
-c
À l’exception de commande, chaque portée correspond à une option de ligne de commande : --system, --global, --local, --worktree.
Lors de la lecture d’options, la spécification d’une portée ne lira que les options des fichiers de cette portée. Lors de l’écriture d’options, la spécification d’une portée écrira dans les fichiers de cette portée (au lieu du fichier de configuration spécifique au dépôt). Voir OPTIONS ci-dessus pour une description complète.
La plupart des options de configuration sont respectées quelle que soit la portée dans laquelle elles sont définies, mais certaines options ne sont respectées que dans certaines portées. Consultez la documentation de l’option concernée pour plus de détails.
Configuration protégée
La configuration protégée fait référence aux portées système, global et commande. Pour des raisons de sécurité, certaines options ne sont respectées que lorsqu’elles sont spécifiées en configuration protégée, et ignorées dans le cas contraire.
Git traite ces portées comme si elles étaient contrôlées par l’utilisateur ou un administrateur de confiance. Ceci est dû au fait qu’un attaquant qui contrôle ces portées peut causer des dommages substantiels sans utiliser Git, il est donc supposé que l’environnement de l’utilisateur protège ces portées contre les attaquants.
ENVIRONNEMENT
- GIT_CONFIG_GLOBAL
- GIT_CONFIG_SYSTEM
-
Prendre la configuration à partir des fichiers donnés au lieu de la configuration globale ou au niveau du système. Voir git[1] pour plus de détails.
- GIT_CONFIG_NOSYSTEM
-
Si l’on veut éviter de lire les paramètres du fichier $(prefix)/etc/gitconfig du système. Voir git[1] pour plus de détails.
Voir aussi FICHIERS.
- GIT_CONFIG_COUNT
- GIT_CONFIG_KEY_<n>
- GIT_CONFIG_VALUE_<n>
-
Si GIT_CONFIG_COUNT est défini comme un nombre positif, toutes les paires d’environnement GIT_CONFIG_KEY_<n> et GIT_CONFIG_VALUE_<n> jusqu’à ce nombre seront ajoutées à la configuration d’exécution du processus. Les paires de configurations sont indexées à zéro. Toute clé ou valeur manquante est traitée comme une erreur. Un GIT_CONFIG_COUNT vide est traité de la même manière que GIT_CONFIG_COUNT=0, c’est-à-dire qu’aucune paire n’est traitée. Ces variables d’environnement remplaceront les valeurs dans les fichiers de configuration, mais seront remplacées par toute option explicite passée via
git-c.C’est utile dans les cas où vous voulez lancer plusieurs commandes git avec une configuration commune mais ne pouvez pas dépendre d’un fichier de configuration, par exemple lorsque vous écrivez des scripts.
- GIT_CONFIG
-
Si aucune option
--filen’est fournie àgitconfig, utiliser le fichier donné parGIT_CONFIGcomme s’il était fourni via--file. Cette variable n’a aucun effet sur les autres commandes Git, et est surtout destinée à assurer une compatibilité historique ; il n’y a généralement aucune raison de l’utiliser à la place de l’option--file.
EXEMPLES
Avec un .git/config comme ceci :
# # C'est le fichier de configuration, et # un caractère '#' ou ';' indique # un commentaire # ; variables de base [core] ; ne pas faire confiance au mode des fichiers filemode = false ; Notre algorithme de diff [diff] external = /usr/local/bin/diff-wrapper renames = true ; paramètres du proxy [core] gitproxy=proxy-command for kernel.org gitproxy=default-proxy ; pour tout le reste ; HTTP [http] sslVerify [http "https://weak.example.com"] sslVerify = false cookieFile = /tmp/cookie.txt
vous pouvez mettre le filemode à true avec
% git config set core.filemode true
Les entrées hypothétiques de la commande proxy ont en fait un postfix pour discerner l’URL à laquelle elles s’appliquent. Voici comment changer l’entrée pour kernel.org en "ssh".
% git config set --value='for kernel.org$' core.gitproxy '"ssh" for kernel.org'
Cela permet de s’assurer que seule la paire clé/valeur de kernel.org est remplacée.
Pour supprimer l’entrée pour les renommages, faites
% git config unset diff.renames
Si vous voulez supprimer une entrée pour un multivar (comme core.gitproxy ci-dessus), vous devez fournir une regex correspondant à la valeur d’exactement une ligne.
Pour demander la valeur d’une clef donnée, faites
% git config get core.filemode
ou, pour interroger un multivar :
% git config get --value="for kernel.org$" core.gitproxy
Si vous voulez connaître toutes les valeurs d’un multivar, faites :
% git config get --all --show-names core.gitproxy
Si vous aimez vivre dangereusement, vous pouvez remplacer tout core.gitproxy par une nouvelle valeur avec
% git config set --all core.gitproxy ssh
Cependant, si vous voulez seulement remplacer la ligne pour le proxy par défaut, c’est-à-dire celui sans postfixe "for …", faites quelque chose comme ceci :
% git config set --value='! for ' core.gitproxy ssh
Pour ne faire correspondre que les valeurs comportant un point d’exclamation, vous devez
% git config set --value='[!]' section.key value
Pour ajouter un nouveau proxy, sans modifier aucun des proxy existants, utilisez
% git config set --append core.gitproxy '"proxy-command" for exemple.com'
Un exemple d’utilisation de la couleur personnalisée de la configuration dans votre script :
#!/bin/sh
WS=$(git config get --type=color --default="blue reverse" color.diff.whitespace)
RESET=$(git config get --type=color --default="reset" "")
echo "${WS}votre color d'espace et bleu sont échangées${RESET}"
Pour les URLs dans https://weak.example.com, http.sslVerify est mis à false, alors qu’il est mis à true pour toutes les autres :
% git config get --type=bool --url=https://bon.exemple.com http.sslverify true % git config get --type=bool --url=https://faible.exemple.com http.sslverify false % git config get --url=https://weak.example.com http http.cookieFile /tmp/cookie.txt http.sslverify false
FICHIER DE CONFIGURATION
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 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.
Les variables de configuration sont utilisées à la fois par la plomberie Git et les commandes de porcelaine. 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.
Syntaxe
La syntaxe est assez souple et permissive. Les caractères d’espaces blancs, qui dans ce contexte sont les caractères espace (SP) et les tabulations horizontales (HT) sont généralement ignorés. Les caractères # et ; commencent les commentaires à la fin de la ligne. Les lignes blanches sont ignorées.
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.
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 :
[section "sous-section"]
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.
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.
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.
Les caractères d’espace blanc entourant le nom, = et valeur sont supprimés. Les caractères internes de l’espace blanc dans la valeur sont conservés verbatim. Les commentaires commençant par # ou ; et s’étendant jusqu’à la fin de la ligne sont supprimés. Une ligne qui définit une valeur peut être poursuivie jusqu’à la ligne suivante en la finissant avec un backslash (\) ; les caractères backslash et de fin de ligne sont supprimés.
Si <valeur> doit contenir des caractères d’espace blancs au début ou à la fin, elle doit être citée en double guillemet (" ). À l ' intérieur des doubles guillemets, les caractères guillemet (") et barre inversée (\) doivent être échappés : utilisez \" pour " et \\ pour \.
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.
Inclusions
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.
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.
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.
Inclusions conditionnelles
Vous pouvez inclure conditionnellement un fichier de configuration provenant d’un autre fichier en définissant une variable includeIf.<condition>.path au nom du fichier à inclure.
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 :
-
gitdir -
Les données qui suivent le mot-clé gitdir`et deux points 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.
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 du .git sera l’emplacement final où se trouve le répertoire .git, et non pas où le fichier .git est.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 gitignore[5] pour plus de détails. Pour plus de commodité :-
Si le motif commence par
~/,~sera remplacé par le contenu de la variable d’environnementHOME. -
Si le motif commence par '
./, il est remplacé par le répertoire contenant le fichier de configuration actuel. -
Si le motif ne commence pas par
~/,./ou/,**/sera automatiquement ajouté en préfixe. Par exemple, le motiffoo/bardevient**/foo/baret correspondra àtout/chemin/vers/foo/bar. -
Si le motif se termine par
/,**sera automatiquement ajouté. Par exemple, le motiffoo/devientfoo/**. En d’autres termes, il correspond àfooet à tout ce qui se trouve à l’intérieur, de manière récursive.
-
-
gitdir/i -
C’est la même chose que
gitdirsauf que la correspondance se fait sans tenir compte de la casse (par exemple sur les systèmes de fichiers insensibles à la casse) -
onbranch -
Les données qui suivent le mot-clé
onbranchet deux points 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.Si le motif se termine par
/,**sera automatiquement ajouté. Par exemple, le motiffoo/devientfoo/**. En d’autres termes, il correspond à toutes les branches qui commencent parfoo/. 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. -
hasconfig:remote.*.url -
Les données qui suivent ce mot-clé et deux points sont considérées comme un motif avec des jokers standard et deux autres,
**/et/**, qui peuvent correspondre à plusieurs composants. La première fois que ce mot-clé est vu, le reste des fichiers de configuration sera analysé pour trouver des URL distants (sans appliquer aucune valeur). S’il exist au moins une URL distante qui correspond au motif, la condition d’inclusion est remplie.Les fichiers inclus par cette option (directement ou indirectement) ne sont pas autorisés à contenir des URL distants.
Notez que contrairement aux autres conditions includeIf, la résolution de cette condition repose sur des informations qui ne sont pas encore connues au moment de la lecture de la condition. Un cas d’utilisation typique est que cette option est présente dans une configuration de niveau système ou global, et que l’URL distante se trouve dans une configuration de niveau local ; d’où la nécessité d’effectuer un balayage préalable lors de la résolution de cette condition. Afin d’éviter le problème de la poule et de l’œuf, dans lequel les fichiers potentiellement inclus peuvent affecter le fait que ces fichiers soient potentiellement inclus ou non, Git brise le cycle en interdisant à ces fichiers d’affecter la résolution de ces conditions (donc en leur interdisant de déclarer des URL distantes).
Quant au nom de ce mot-clé, c’est pour des raisons de compatibilité avec un schéma de nommage qui supporte des conditions d’inclusion plus basées sur des variables, mais actuellement Git ne supporte que le mot-clé exact décrit ci-dessus.
Quelques notes supplémentaires sur la correspondance via gitdir et gitdir/i :
-
Les liens symboliques dans
$GIT_DIRne sont pas résolus avant la correspondance. -
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:~/gitetgitdir:/mnt/stockage/gitcorrespondront tous deux.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.
-
Notez que "../" n’est pas spécial et correspondra littéralement, ce qui est peu probablement ce que vous voulez.
Exemple
# Variables core [core] ; Ne pas se fier au modes des fichiers filemode = false # Notre algorithme de diff [diff] external = /usr/local/bin/diff-wrapper renames = true [branch "devel"] remote = origin merge = refs/heads/devel # Réglages proxy [core] gitProxy="ssh" for "kernel.org" gitProxy=default-proxy ;pour le reste [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` ; inclure si $GIT_DIR est /chemin/vers/foo/.git [includeIf "gitdir:/chemin/vers/foo/.git"] path = /chemin/vers/foo.inc ; inclure tous les dépôts dans /chemin/vers/groupe [includeIf "gitdir:/chemin/vers/groupe"] path = /chemin/vers/foo.inc ; inclure pour tous les dépôts à l'intérieur de $HOME/vers/groupe [includeIf "gitdir:~/vers/groupe/"] path = /chemin/vers/foo.inc 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 ; n'inclure que si nous sommes dans un arbre de travail où foo-branch ; actuellement extrait [includeIf "onbranch:foo-branch"] path = foo.inc ; inclure seulement si un fichier distant avec l'URL donnée existe (note ; qu'une telle URL peut être fournie plus tard dans un fichier ou dans un fichier ; ou dans un fichier lu après la lecture de ce fichier, comme dans cet exemple). [includeIf "hasconfig:remote.*.url:https://example.com/**"] path = foo.inc [remote "origin"] url = https://example.com/git
Valeurs
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.
- booléen
-
Lorsqu’une variable prend une valeur booléenne, de nombreux synonymes sont acceptés pour vrai et faux ; ils sont tous insensibles à la casse.
- true
-
Les littéraux booléens pour vrai sont
yes,on,trueet1. De plus, une variable définie sans=<valeur> est considérée comme vraie. - faux
-
Les littéraux booléens faux sont
no,off,false,0et la chaîne vide.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).
- Entier
-
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. - color
-
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.
Les couleurs de base acceptées sont
normal,black,red,green,yellow,blue,magenta,cyan,whiteetdefault. La première couleur donnée est le premier plan ; la seconde est l’arrière-plan. Toutes les couleurs de base, sauf la couleurnormaletdefault, ont une variante claire qui peut être spécifiée en préfixant la couleur parbright, commebrightred.La couleur
normalne modifie pas la couleur. C’est la même chose qu’une chaîne vide, mais elle peut être utilisée comme couleur de premier plan lorsqu’on spécifie une couleur d’arrière-plan seule (par exemple, "normal red").La couleur
defaultréinitialise explicitement la couleur par défaut du terminal, par exemple pour spécifier un fond clair. Bien que cela varie d’un terminal à l’autre, ce n’est généralement pas la même chose que de définir un "blanc noir".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, ou des valeurs RGB de 12 bits comme#f1b, qui est équivalent à la couleur 24 bits#ff11bb.Les attributs acceptés sont
bold,dim,ul,blink,reverse,italic, etstrike(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 parnoouno-(par exemple,noreverse,no-ul, etc.).Le pseudo-attribut
resetréinitialise toutes les couleurs et tous les attributs avant d’appliquer la coloration spécifiée. Par exemple,resetgreenaura pour résultat un avant-plan vert et un arrière-plan par défaut sans aucun attribut actif.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.
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àblackpeindra le nom de cette branche en un simpleblack, 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 delog--decorate) est mise à être peinte avecboldou 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. - nom-de-chemin
-
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é.Si un chemin commence par
%(prefix)/, le reste est interprété comme un chemin relatif au "préfixe d’exécution" de Git, c’est-à-dire relatif à l’emplacement où Git lui-même a été installé. Par exemple,%(prefix)/bin/fait référence au répertoire dans lequel se trouve l’exécutable Git lui-même. Si Git a été compilé sans le support des préfixes d’exécution, le préfixe compilé sera substitué à la place. Dans le cas peu probable où un chemin littéral doit être spécifié et ne doit pas être étendu, il doit être préfixé par./, comme ceci : ./%(préfixe)/bin.Si la variable de configuration est préfixée avec ``:(optionnel)`, elle est traitée comme si elle n’existe pas, si le chemin nommé n’existe pas.
Variables
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.
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.
-
add.ignoreErrors -
add.ignore-errors(obsolète) -
Indique à
gitaddde continuer à ajouter des fichiers lorsque certains fichiers ne peuvent pas être ajoutés en raison d’erreurs d’indexation. Équivalent à l’option--ignore-errorsde git-add[1].add.ignore-errorsest obsolète, car il ne suit pas la convention de nom habituelle pour les variables de configuration.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
clone.defaultRemoteName -
Le nom du distant à créer lors du clonage d’un dépôt. Par défaut
origin. Il peut être surchargé en passant l’option de ligne de commande--originà git-clone[1]. -
clone.rejectShallow -
Rejeter le clonage d’un dépôt s’il s’agit d’un dépôt superficiel ; cela peut être surchargé en passant l’option
--reject-shallowsur la ligne de commande. Voir git-clone[1] -
clone.filterSubmodules -
Si un filtre de clone partiel est fourni (voir
--filterdans git-rev-list[1]) et--recurse-submodulesest utilisé, appliquer également le filtre aux sous-modules.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
commit.cleanup -
Ce paramètre surcharge la valeur par défaut de l’option
--cleanupdansgitcommit. See git-commit[1] for details. Changer la valeur par défaut peut être utile lorsque vous voulez toujours garder des lignes qui commencent par le caractère de commentaire (core.commentChar, par défaut#) dans votre message de journal, auquel cas vous feriezgitconfigcommit.cleanupwhitespace(notez que vous devrez supprimer les lignes d’aide qui commencent par le caractère de commentaire dans le modèle de journal de commit vous-même, si vous le faites). -
commit.gpgSign -
Un booléen pour spécifier si tous les commits doivent être signés GPG. L’utilisation de cette option lors d’opérations telles que le rebasage peut entraîner un grand nombre de signature de commits. Il peut être pratique d’utiliser un agent pour éviter de taper votre mot de passe GPG plusieurs fois.
-
commit.status -
Un booléen pour activer/désactiver l’inclusion d’information de status dans le modèle de message de validation lors de l’utilisation d’un éditeur pour préparer le message de validation. Valeur par défaut à
true. -
commit.template -
Spécifier le nom de chemin d’un fichier à utiliser comme modèle pour de nouveaux messages de commit.
-
commit.verbose -
Un booléen ou un int pour préciser le niveau de verbosité avec
gitcommit. See git-commit[1] for details.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
diff.autoRefreshIndex -
Lors de l’utilisation de
gitdiffpour comparer avec les fichiers d’arbres de travail, ne pas considérer les modifications des statistiques seulement comme modifiées. Au lieu de cela, lancer silencieusementgitupdate-index--refreshpour mettre à jour l’information de stat cachée pour les chemins dont le contenu dans l’arbre de travail correspond au contenu dans l’index. Cette option est par défaut vraie. Notez que cela n’affecte que la commande porcelainegitdiff, et pas les commandesdiffde niveau inférieur commegitdiff-files. -
diff.dirstat -
Une liste séparée par virgules des paramètres
--dirstatspécifiant le comportement par défaut de l’option--dirstatpour git-diff[1] et compagnie. Les valeurs par défaut peuvent être surchargées sur la ligne de commande (en utilisant--dirstat=<param>,...). Les valeurs par défaut (lorsqu’elles ne sont pas modifiée pardiff.dirstat) sontchanges,noncumulative,3. Les paramètres suivants sont disponibles :-
changes -
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.
-
lines -
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
--dirstatplus onéreux que le comportementchanges, 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. -
files -
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
--dirstatle moins cher en termes de calcul, puisqu’il n’a pas du tout besoin d’analyser le contenu du fichier. -
cumulative -
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ètrenoncumulative. - <limite>
-
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.
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. -
-
diff.statNameWidth -
Limiter la largeur de la partie nom de fichier dans la sortie de
--stat. Si défini, s’applique à toutes les commandes générant une sortie--statsaufformat-patch. -
diff.statGraphWidth -
Limiter la largeur de la partie graphique dans la sortie
--stat. Si défini, s’applique à toutes les commandes générant une sortie--statsaufformat-patch. -
diff.context -
Générer des diffs avec <n> lignes de contexte au lieu des trois par défaut. Cette valeur est surchargée par l’option
-U. -
diff.interHunkContext -
Afficher le contexte entre des sections de diff, jusqu’au nombre spécifié de lignes, fusionnant de ce fait les sections qui sont proches. Cette valeur sert de valeur par défaut pour l’option de ligne de commande
--inter-hunk-context. -
diff.external -
Si cette variable de configuration est définie, la génération diff n’est pas effectuée en utilisant la machinerie de diff interne, mais en utilisant la commande donnée. Peut être remplacé par la variable d’environnement
GIT_EXTERNAL_DIFF. La commande est appelée avec des paramètres décrits sous "Diffs git" dans git[1]. Remarque : si vous voulez utiliser un programme de diff externe uniquement sur un sous-ensemble de vos fichiers, vous pouvez utiliser gitattributes[5]. -
diff.trustExitCode -
Si cette valeur booléenne est définie à
truealors la commandediff.externaldevrait retourner le code de sortie 0 si elle considère que les fichiers d’entrée sont égaux ou 1 si elle les juge différents, commediff(1). Si la valeur est définie àfalse, qui est la valeur par défaut, alors la commande est censée retourner le code de sortie0indépendamment de l’égalité. Tout autre code de sortie fait que Git signale une erreur fatale. -
diff.ignoreSubmodules -
Définit la valeur par défaut de
--ignore-submodules. Notez que cela n’affecte que la commande porcelainegitdiff, et pas les commandesdiffde niveau inférieur commegitdiff-files.gitcheckoutetgitswitchhonorent également ce réglage lors de l’affichage des modifications non enregistrées. Le régler àalldésactive le résumé par sous-module affiché pargitcommitetgitstatusquandstatus.submoduleSummaryest réglé à moins qu’il soit surchargé en utilisant l’option de ligne de commande--ignore-submodules. Les commandesgitsubmodulene sont pas affectées par ce paramètre. Par défaut, ce paramètre vautuntrackedpour que tous les sous-modules non suivis soient ignorés. -
diff.mnemonicPrefix -
Si elle est définie,
gitdiffutilise une paire de préfixes qui est différente de la normea/etb/selon ce qui est comparé. Lorsque cette configuration est en vigueur, la sortie diff inversée échange également l’ordre des préfixes :-
gitdiff -
compare l'()index et l’abre de travail (w) ;
-
gitdiffHEAD -
compare un (c)ommit avec un arbre de travail ((w)ork tree) ;
-
gitdiff--cached -
compare un (c)ommit et l'(i)ndex ;
-
gitdiffHEAD:<fichier1> <fichier2> -
compare un (o)bjet et une entité arbre de travail((w)ork tree) ;
-
gitdiff--no-index<a> <b> -
compare deux choses non git <a> et <b>.
-
-
diff.noPrefix -
Si défini,
gitdiffne montre aucun préfixe source ou destination. -
diff.srcPrefix -
Si défini,
gitdiffutilise ce préfixe de source. Par défaut,a/. -
diff.dstPrefix -
Si défini,
gitdiffutilise ce préfixe de destination. Par défautb/. -
diff.relative -
Si l’option est définie à
true,gitdiffn’affiche pas les modifications à l’extérieur du répertoire et indique les noms de chemin par rapport au répertoire courant. -
diff.orderFile -
Fichier indiquant comment ordonner des fichiers dans une diff. Voir l’option
-Ode git-diff[1] pour plus de détails. Sidiff.orderFileest un nom de chemin relatif, il est traité comme relatif au sommet de l’arbre de travail. -
diff.renameLimit -
Le nombre de fichiers à considérer dans la partie exhaustive de la détection de copie/renommage ; équivalent à l’option
-ldegitdiff. Si elle n’est pas définie, la valeur par défaut est actuellement 1000. Ce réglage n’a aucun effet si la détection de renommage est désactivée. -
diff.renames -
Quand et comment Git détecte des renommages. Si défini à
false, la détection de renommage est désactivée. Si défini àtrue, la détection de renommage de base est activée . Si défini àcopiesoucopy, Git détectera également les copies. Par défaut àtrue. Notez que cela affecte seulement la porcelainegitdiffcomme git-diff[1] et git-log[1], et non les commandes de niveau inférieur comme git-diff-files[1]. -
diff.suppressBlankEmpty -
Un booléen pour inhiber le comportement standard de l’impression d’un espace avant chaque ligne de sortie vide. Par défaut à
false. -
diff.submodule -
Spécifier le format dans lequel les différences dans les sous-modules sont affichées. 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. Le formatlogliste les commits dans la plage comme le faitsummaryde git-submodule[1]. Le formatdiffaffiche une diff en ligne des modifications dans le sous-module. Vaut par défautshort. -
diff.wordRegex -
Un expression rationnelle étendue POSIX utilisée pour déterminer ce qui est un « mot » lors de l’exécution de calculs de différence mot par mot. Les séquences de caractères qui correspondent à l’expression régulière sont des "mots", tous les autres caractères sont des espaces blancs ignorables.
-
diff.<pilote>.command -
La commande personnalisée de pilote de diff. Voir gitattributes[5] pour plus de détails.
-
diff.<pilote>.trustExitCode -
Si cette valeur booléenne est définie à
true, la commandediff.<pilote>.commanddevrait retourner le code de sortie0si elle considère que les fichiers d’entrée sont égaux ou 1 si elle les considère différents, commediff(1). Si la valeur est définie àfalse, qui est la valeur par défaut, alors la commande est censée retourner le code de sortie0indépendamment de l’égalité. Tout autre code de sortie fait que Git signale une erreur fatale. -
diff.<pilote>.xfuncname -
L’expression rationnelle que le pilote de diff devra utiliser pour reconnaître l’en-tête d’une section. Un motif pré-intégré peut également être utilisé. Voir gitattributes[5] pour les détails.
-
diff.<pilote>.binary -
Réglez cette option à
truepour indiquer au pilote de diff de traiter les fichiers comme binaires. Voir gitattributes[5] pour plus de détails. -
diff.<pilote>.textconv -
La commande que le pilote de diff devra appeler pour générer la version textuelle d’un fichier. Le résultat de la conversion est utilisé pour générer un diff humainement lisible. Voir gitattributes[5] pour les détails.
-
diff.<pilote>.wordRegex -
L’expression rationnelle que le pilote de diff devrait utiliser pour séparer les mots dans une ligne. Voir gitattributes[5] pour plus de détails.
-
diff.<pilote>.cachetextconv -
Réglez cette option à
truepour indiquer au pilote de diff de mettre en les sorties de conversion en texte. Voir gitattributes[5] pour plus de détails. -
diff.indentHeuristic -
Réglez cette option à
false(faux) pour désactiver l’heuristique par défaut qui décale les limites des sections de diff pour rendre les rustines plus faciles à lire. -
diff.algorithm -
Choisir un algorithme de diff. Les variantes sont comme suit :
-
default -
myers -
L’algorithme de diff avide. C’est actuellement celui par défaut.
-
minimal -
Passer plus de temps pour s’assurer que le diff le plus petit possible est produit.
-
patience -
Utiliser l’algorithme « patience diff » pour la génération de rustine.
-
histogram -
Cet algorithme étend l’algorithme patience pour « supporter les éléments communs de faible fréquence ».
-
-
diff.wsErrorHighlight -
Surligner les erreurs d’espace dans les lignes
context(contexte),old(ancien) etnew(nouveau) du diff. Des valeurs multiples sont séparées par des virgules,noneréinitialise les valeurs précédentes,defaultréinitialise la liste ànewetallest un raccourci pourold,new,context. Les erreurs d’espace sont colorés aveccolor.diff.whitespace. L’option de la ligne de commande--ws-error-highlight=<type> surcharge ce réglage. -
diff.colorMoved -
S’il est réglé à un <mode> valide ou à
true, les lignes déplacées dans une diff sont colorées différemment. Pour les détails des modes valides voir--color-moveddans git-diff[1]. S’il est défini simplementtruele mode de couleur par défaut sera utilisé. Quand la valeur estfalse, les lignes déplacées ne sont pas colorées. -
diff.colorMovedWS -
Lorsque les lignes déplacées sont colorées en utilisant par exemple le réglage
diff.colorMoved, cette option contrôle le mode de traitement des espaces. Pour les détails sur les modes valides voir--color-moved-wsdans git-diff[1].
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
init.templateDir -
Spécifier le répertoire depuis lequel les modèles vont être copiés. (See the "TEMPLATE DIRECTORY" section of git-init[1].)
-
init.defaultBranch -
Permet de remplacer le nom de la branche par défaut, par exemple lors de l’initialisation d’un nouveau dépôt.
-
init.defaultObjectFormat -
Permet de remplacer le format par défaut pour les nouveaux dépôts. Voir
--object-format=dans git-init[1]. Tant l’option de ligne de commande que la variable d’environnement `GIT_DEFAULT_HASH ont préséance sur cette configuration. -
init.defaultRefFormat -
Permet de remplacer le format de stockage par défaut pour les nouveaux dépôts. Voir
--ref-format=dans git-init[1]. Tant l’option de ligne de commande que la variable d’environnementGIT_DEFAULT_REF_FORMATont préséance sur cette configuration.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
merge.conflictStyle -
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========. Le style "merge" tend à produire des régions de conflit plus petites que diff3, à la fois à cause de l’exclusion du texte original, et parce que lorsqu’un sous-ensemble de lignes correspondent des deux côtés, elles sont simplement retirées de la région de conflit. Un autre style alternatif, "zdiff3" est similaire à diff3 mais supprime les lignes correspondantes des deux côtés de la région de conflit lorsque ces lignes correspondantes apparaissent près du début ou de la fin d’une région de conflit. -
merge.defaultToUpstream -
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>.mergequi nomment les branches distantes nommées parbranch.<branche-courante>.remotesont consultées, puis elles sont mappées viaremote.<distant>.fetchvers 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. -
merge.ff -
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-ffde 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-onlydepuis la ligne de commande). -
merge.verifySignatures -
Si vrai, c’est équivalent à l’option de ligne de commande
--verify-signatures. Voir git-merge[1] pour plus de détails. -
merge.branchdesc -
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).
-
merge.log -
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. -
merge.suppressDest -
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.
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.suppressDestn’est définie, la valeur par défaut demasterest utilisée par rétrocompatibilité.
-
merge.renameLimit -
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 nimerge.renameLimitnidiff.renameLimitne 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. -
merge.renames -
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. -
merge.directoryRenames -
Que Git détecte les renommages de répertoire, affectant ce qui arrive au moment de la 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. Les valeurs possibles sont :
-
false -
La détection de renommage de répertoire est désactivée, ce qui signifie que ces nouveaux fichiers seront abandonnés dans l’ancien répertoire.
-
true -
La détection de renommage de répertoire est activée, ce qui signifie que ces nouveaux fichiers seront déplacés dans le nouveau répertoire.
-
conflict -
Un conflit sera signalé pour de tels chemins.
Si
merge.renamesestfalse, merge.directoryRenames ` est ignoré et traité comme `faux . Vaut par défautconflict. -
-
merge.renormalize -
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, pour chaque fichier où une fusion à trois branche est nécessaire, 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 gitattributes[5].
-
merge.stat -
Ce qu’il faut afficher entre
ORIG_HEADet le résultat de la fusion à la fin de la fusion, si cela existe. Les valeurs possibles sont :mais toute valeur non reconnue (p. ex., une valeur ajoutée par une future version de Git) est considérée comme
trueau lieu de déclencher une erreur. Par défaut àtrue. -
merge.autoStash -
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-autostashet--autostashde git-merge[1]. La valeur par défaut estfalse. -
merge.tool -
Contrôle quel outil de fusion est utilisé par 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>.cmdcorrespondante soit définie. -
merge.guitool -
Contrôle quel outil de fusion est utilisé par git-mergetool[1] lorsque le drapeau
-g/--guiest 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 variablemergetool.<outilgraphique>.cmdcorrespondante soit définie.
|
Warning
|
Missing See original version for this content. |
-
merge.verbosity -
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. -
merge.<pilote>.name -
Définit un nom lisible par l’homme pour un pilote de fusion personnalisé de bas niveau. Voir gitattributes[5] pour plus de détails.
-
merge.<pilote>.driver -
Définit la commande qui met en œuvre un pilote de fusion de bas niveau personnalisé. Voir gitattributes[5] pour plus de détails.
-
merge.<pilote>.recursive -
Nomme un pilote de fusion de bas niveau à utiliser lors d’une fusion interne entre des ancêtres communs. Voir gitattributes[5] pour plus de détails.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
BOGUES
Lors de l’utilisation de la syntaxe dépréciée [section.sous-section], la modification d’une valeur entraînera l’ajout d’une clé multi-lignes au lieu d’une modification, si la sous-section est donnée avec au moins un caractère majuscule. Par exemple, lorsque la configuration ressemble à
[section.sous-section]
clé = valeur1
et l’exécution de git config section.sous-section.clé valeur2 donnera comme résultat
[section.sous-section]
clé = valeur1
clé = valeur2
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 .