Section courante

A propos

Section administrative du site

git

Client git
Linux Externe

Syntaxe

git [--version] [--help] [-C path] [-c name=value] [--exec-path[=path]] [--html-path] [--man-path] [--info-path] [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare] [--git-dir=path] [--work-tree=path] [--namespace=name] [--super-prefix=path] command [args]

Paramètres

Nom Description
--bare Ce paramètre permet de traiter le référentiel comme un référentiel vide. Si la variable d'environnement GIT_DIR n'est pas défini, il utilise le répertoire de travail actuel.
-C path Ce paramètre permet d'exécuter la commande comme si git avait été démarré dans le chemin spécifié (path) au lieu du répertoire de travail courant. Lorsque plusieurs paramètres -C sont spécifiées, chaque chemin «-C path» non absolu est interprété par rapport au chemin «-C path». Ce paramètre permet d'affecter les paramètres attendant un nom de chemin tel que --git-dir et --work-tree en ce sens que leurs interprétations des noms de chemin seraient relatives au répertoire de travail provoqué par le paramètre -C. Par exemple, les appels suivantes sont équivalentes :
git --git-dir=a.git --work-tree=b -C c status
git --git-dir=c/a.git --work-tree=c/b status
-c name=value Ce paramètre permet de passer un paramètre de configuration à la commande. La valeur spécifiée remplacera les valeurs des fichiers de configuration. Le name est attendu dans le même format que celui indiqué par git config (sous-clefs séparées par des points). Notez que l'omission de = dans «git -c exemple.bar ...» est autorisée et définit «exemple.bar» sur la valeur booléenne vraie (comme le ferait [exemple] dans un fichier de configuration). Cette situation comprend également les symboles d'égalités mais avec une valeur vide (comme «git -c exemple.bar = ...») définit exemple.bar sur la chaîne de caractères vide que git config --type = bool convertira en false.
--exec-path[=path] Ce paramètre permet d'indiquer le chemin d'accès où installer vos programmes Git de base. Ceci peut également être contrôlé en définissant la variable d'environnement GIT_EXEC_PATH. Si aucun chemin n'est spécifié, git affichera le paramètre actuel puis quittera immédiatement.
--git-dir=path Ce paramètre permet de définir le chemin d'accès au référentiel. IL peut également être contrôlé en définissant la variable d'environnement GIT_DIR. Il peut s'agir d'un chemin absolu ou relatif vers le répertoire de travail actuel.
--glob-pathspecs Ce paramètre permet d'ajouter la magie «glob» à toutes les pathspec. Ce paramètre est un équivalant de la variable d'environnement GIT_GLOB_PATHSPECS avec la valeur 1. La désactivation de la segmentation sur des pathspecs individuels peut être effectuée à l'aide de pathspec magique «: (literal)».
--help Ce paramètre permet d'afficher le synopsis et une liste des commandes les plus utilisées. Si l'option --all ou -a est spécifiée, toutes les commandes disponibles sont affichées. Si une commande Git est spécifiée, ce paramètre affichera la page de manuel de cette commande. D'autres paramètres sont disponibles pour contrôler le mode d'affichage des pages du manuel. Ainsi vous devriez voir git-help pour plus d'informations, car git --help ... est converti de manière interne en git help.
--html-path Ce paramètre permet d'afficher le chemin, sans barre de fin, où la documentation HTML de Git est installée et quitte.
--icase-pathspecs Ce paramètre permet d'ajouter la magie «icase» à toutes les pathspec. Ce paramètre est un équivalant de la variable d'environnement GIT_ICASE_PATHSPECS avec la valeur 1.
--info-path Ce paramètre permet d'afficher le chemin où sont installés les fichiers d'information documentant cette version de Git et quitte immédiatement.
--list-cmds=group[,group...] Ce paramètre permet d'indiquer la liste des commandes par groupe. Ce paramètre permet d'indiquer un paramètre interne/expérimentale et peut changer ou être supprimé dans le futur. Les groupes pris en charge sont : builtins, parseopt (commandes intégrées utilisant des parse-options), main (toutes les commandes du répertoire libexec), les autres (toutes les autres commandes de $PATH ayant le préfixe «git-»), «list-category» (voir les catégories dans command-list.txt), nohelpers (excluant les commandes d'assistance), alias et config (demandant la liste des commandes de la variable de configuration completion.commands).
--literal-pathspecs Ce paramètre permet de traiter les pathspec au pied de la lettre (c'est-à-dire pas de magie de pathspec). Ce paramètre est un équivalant de la variable d'environnement GIT_LITERAL_PATHSPECS avec la valeur 1.
--man-path Ce paramètre permet d'afficher le manpath (voir man) pour les pages de manuel de cette version de Git et quitte immédiatement.
--namespace=path Ce paramètre permet de définir l'espace de noms Git. Voir gitnamespaces pour plus de détails. C'est l'équivalent de la variable d'environnement GIT_NAMESPACE.
--no-optional-locks Ce paramètre permet de pas exécuter d'opérations facultatives nécessitant des verrous. Ce paramètre est un équivalant de la variable d'environnement GIT_OPTIONAL_LOCKS avec la valeur 0.
--noglob-pathspecs Ce paramètre permet d'ajouter la magie «literal» à toutes les pathspec. Ce paramètre est un équivalant de la variable d'environnement GIT_NOGLOB_PATHSPECS avec la valeur 1. L'activation de la segmentation sur des pathspecs individuels peut être effectuée à l'aide de pathspec magique «: (glob)».
--no-pager Ce paramètre permet de ne pas envoyer Git vers une paginateur (il n'y a pas de pagination).
--no-replace-objects Ce paramètre permet de ne pas utiliser de références de remplacement pour remplacer les objets Git. Voir git-replace pour plus d'informations.
-P Ce paramètre permet de ne pas envoyer Git vers une paginateur (il n'y a pas de pagination).
-p Ce paramètre permet de transformer toutes les sorties dans less (ou, si défini, $PAGER) si la sortie standard est un terminal. Ce paramètre remplace les paramètres de configuration du paginateur.
--paginate Ce paramètre permet de transformer toutes les sorties dans less (ou, si défini, $PAGER) si la sortie standard est un terminal. Ce paramètre remplace les paramètres de configuration du paginateur.
--super-prefix=path Ce paramètre permet de définir un préfixe donnant un chemin depuis le dessus d'un référentiel jusqu'à sa racine. Son utilisation consiste à donner un contexte aux sous-modules concernant le superprojet l'ayant appelé. Actuellement pour usage interne seulement.
--version Ce paramètre permet d'afficher la version de la suite Git utilisé et termine immédiatement après.
--work-tree=path Ce paramètre permet de définir le chemin d'accès à l'arbre de travail. Il peut s'agir d'un chemin absolu ou d'un chemin relatif au répertoire de travail actuel. Il peut également être contrôlé en définissant la variable d'environnement GIT_WORK_TREE et la variable de configuration core.worktree.

Description

Cette commande permet d'effectuer la gestion de référentiel de version git sur une poste de travail ou sur un serveur. Git est un système de contrôle de révision distribué, rapide, évolutif et doté d'un jeu de commandes particulièrement riche fournissant à la fois des opérations de haut niveau et un accès complet aux ressources internes.

Remarques

Liste des commandes de haut-niveau

Voici la liste des commandes de haut-niveau utilisable avec la commande git :

Nom Description
git-add Cette commande permet d'ajouter le contenu du fichier à l'index.
git-am Cette commande permet d'appliquer une série de correctifs à partir d'une boîte aux lettres.
git-archive Cette commande permet de créer une archive de fichiers à partir d'une arborescence spécifiée.
git-bisect Cette commande permet d'utiliser la recherche binaire pour trouver le commit ayant introduit un bogue.
git-branch Cette commande permet d'afficher la liste, de créer ou de supprimer des branches.
git-bundle Cette commande permet de déplacer des objets et des références par archive.
git-checkout Cette commande permet de changer de branche ou de restaurer des fichiers d'arbre de travail.
git-cherry-pick Cette commande permet d'appliquer les modifications introduites par certains commit existants.
git-citool Cette commande contient une alternative graphique à git-commit.
git-clean Cette commande permet de supprimer les fichiers non suivis de l'arbre de travail.
git-clone Cette commande permet de cloner un référentiel dans un nouveau répertoire.
git-commit Cette commande permet d'enregistrer les modifications dans le référentiel.
git-describe Cette commande permet d'attribuer à un objet un nom lisible par l'homme en fonction d'une référence disponible.
git-diff Cette commande permet d'afficher les modifications entre les commit, le commit et l'arborescence.
git-fetch Cette commande permet de télécharger des objets et des références depuis un autre référentiel.
git-format-patch Cette commande permet de préparer les correctifs pour la soumission par courrier électronique.
git-gc Cette commande permet de nettoyer les fichiers inutiles et optimisez le référentiel local.
git-grep Cette commande permet d'afficher des lignes correspondant à un motif de recherche.
git-gui Cette commande permet d'utiliser une interface graphique portable pour Git.
git-init Cette commande permet de créer un référentiel Git vide ou réinitialiser un référentiel existant.
git-log Cette commande permet d'afficher le journal de bord des commit.
git-merge Cette commande permet de joindre deux ou plusieurs historiques de développement ensemble.
git-mv Cette commande permet de déplacer ou renommer un fichier, un répertoire ou un lien symbolique.
git-notes Cette commande permet d'ajouter ou inspecter des notes d'objet.
git-pull Cette commande permet de récupérer depuis un certain emplacement et intégrer avec un autre référentiel ou une branche locale.
git-push Cette commande permet de mettre à jour les références distantes avec les objets associés.
git-range-diff Cette commande permet de comparer deux plages de commit (par exemple, deux versions d'une branche).
git-rebase Cette commande permet de réappliquer les commit sur le dessus d'une autre pointe.
git-reset Cette commande permet de réinitialiser la tête actuelle à l'état spécifié.
git-revert Cette commande permet de rétablir des commit existants.
git-rm Cette commande permet de supprimer des fichiers de l'arbre de travail et de l'index.
git-shortlog Cette commande permet de résumer la sortie du journal de bord de git.
git-show Cette commande permet de montrer différents types d'objets.
git-stash Cette commande permet de ranger les modifications dans un répertoire de travail impropre.
git-status Cette commande permet d'afficher l'état de l'arbre de travail.
git-submodule Cette commande permet d'initialiser, mettre à jour ou inspecter les sous-modules.
git-tag Cette commande permet de créer, de répertorier, supprimer ou vérifier un objet de balise signé avec GPG.
git-worktree Cette commande permet de gérer plusieurs arbres de travail.
gitk Cette commande permet d'utiliser le navigateur de référentiel Git.

Liste des commandes auxiliaires

Voici la liste des commandes auxiliaires pour les manipulateurs :

Nom Description
git-config Cette commande permet de demander et définir des paramètres référentiel ou globales.
git-fast-export Cette commande permet d'effectuer l'exportation de données Git.
git-fast-import Cette commande permet d'accéder à l'administration de l'importateur rapides de données Git.
git-filter-branch Cette commande permet de réécrire les branches.
git-mergetool Cette commande permet d'exécuter les outils de résolution des conflits de fusion pour résoudre les conflits de fusion.
git-pack-refs Cette commande permet de compacter les entêtes et les balises pour un accès efficace au référentiel.
git-prune Cette commande permet d'élaguer tous les objets inaccessibles de la base de données d'objets.
git-reflog Cette commande permet de gérer les informations de reflog.
git-remote Cette commande permet de gérer un ensemble de référentiels suivis.
git-repack Cette commande permet de compresser les objets décompressés dans un référentiel.
git-replace Cette commande permet de créer, afficher la liste ou supprimer des références pour remplacer des objets.
Interrogateurs:
git-annotate Cette commande permet d'effectuer une annotation des lignes de fichier avec les informations de validation.
git-blame Cette commande permet d'afficher quelle révision et quel auteur a modifié en dernier chaque ligne d'un fichier.
git-count-objects Cette commande permet de compter le nombre d'objets décompressés et leur consommation de disque.
git-difftool Cette commande permet d'afficher les modifications à l'aide des outils de comparaison courants.
git-fsck Cette commande permet de vérifier la connectivité et la validité des objets de la base de données.
git-help Cette commande permet d'afficher les informations d'aide sur Git.
git-instaweb Cette commande permet de parcourir instantanément votre référentiel de travail dans gitweb.
git-merge-tree Cette commande permet d'afficher la fusion à trois voies sans toucher à l'index.
git-rerere Cette commande permet de réutiliser la résolution enregistrée des fusions en conflit.
git-show-branch Cette commande permet d'afficher les branches et leurs commit.
git-verify-commit Cette commande permet de vérifier la signature GPG des commit.
git-verify-tag Cette commande permet de vérifier la signature GPG des balises.
git-whatchanged Cette commande permet d'afficher les journaux avec une différence introduite par chaque commit.
gitweb Cette commande permet d'utiliser l'Interface Web Git (interface Web vers les référentiels Git).

Liste des commandes d'interaction

Voici la liste des commandes permettant d'interagir avec GDS étrangers et avec d'autres personnes via un correctif véhiculé par courriel :

Nom Description
git-archimport Cette commande permet d'importer un référentiel GNU Arch dans Git.
git-cvsexportcommit Cette commande permet d'exporter un seul commit vers un checkout de CVS.
git-cvsimport Cette commande permet de récupérer vos données d'un autre SCM que les gens adorent détester.
git-cvsserver Cette commande permet d'indiquer l'émulateur de serveur CSV pour Git.
git-imap-send Cette commande permet d'envoyer une collection de correctifs de l'entrée standard (stdin) dans un dossier IMAP.
git-p4 Cette commande permet d'importer depuis l'endroit spécifié et de soumettre à des référentiels Perforce.
git-quiltimport Cette commande permet d'appliquer un patchset de quilt sur la branche courante.
git-request-pull Cette commande permet de générer un résumé des modifications en attente.
git-send-email Cette commande permet d'envoyer une collection de correctifs sous forme de courriels.
git-svn Cette commande permet d'effectuer une opération bidirectionnelle entre un référentiel Subversion et Git.

Liste des commandes de bas niveau

Bien que Git inclue sa propre couche de Porcelain, ses commandes de bas niveau sont suffisantes pour soutenir le développement de Porcelain alternatives. Les développeurs de telles porcelaines pourraient commencer par se renseigner sur git-update-index et git-read-tree. L'interface (entrée, sortie, ensemble de paramètres et sémantique) de ces commandes de bas niveau se veut beaucoup plus stable que les commandes de niveau Porcelain, car ces commandes sont principalement destinées à une utilisation scriptée. En revanche, l'interface avec les commandes de Porcelain est sujette à modification afin d'améliorer l'expérience de l'utilisateur final. La description suivante divise les commandes de bas niveau en commandes manipulant des objets (dans le référentiel, l'index et l'arborescence de travail), des commandes interrogeant et comparant des objets et des commandes déplaçant des objets et des références entre les référentiels :

Nom Description
git-apply Cette commande permet d'appliquer un correctif aux fichiers et/ou à l'index.
git-checkout-index Cette commande permet de copier les fichiers de l'index dans l'arbre de travail.
git-commit-graph Cette commande permet d'écrire et vérifier les fichiers de validation graphique de Git.
git-commit-tree Cette commande permet de créer un nouvel objet commit.
git-hash-object Cette commande permet de calculer l'identificateur d'objet et crée éventuellement un blob à partir d'un fichier.
git-index-pack Cette commande permet de créer un fichier d'indexation de paquet pour une archive compactée existante.
git-merge-file Cette commande permet d'exécuter une fusion de fichiers à trois voies.
git-merge-index Cette commande permet d'exécuter une fusion pour les fichiers nécessitant une fusion.
git-mktag Cette commande permet de créer un objet de balise.
git-mktree Cette commande permet de construire un objet-arbre à partir du texte mis en forme par ls-tree.
git-multi-pack-index Cette commande permet d'écrire et vérifier des index multi-paquets.
git-pack-objects Cette commande permet de créer une archive d'objets compacte.
git-prune-packed Cette commande permet de supprimer les objets supplémentaires étant déjà dans les fichiers de paquet.
git-read-tree Cette commande permet de lire les informations de l'arbre dans l'index.
git-symbolic-ref Cette commande permet de lire, modifier et supprimer des références symboliques.
git-unpack-objects Cette commande permet de décompresser les objets d'une archive compactée.
git-update-index Cette commande permet d'enregistrer le contenu du fichier dans l'arborescence de travail de l'index.
git-update-ref Cette commande permet de mettre à jour le nom de l'objet entreposé dans une référence en toute sécurité.
git-write-tree Cette commande permet de créer un objet d'arborescence à partir de l'index actuel.

Liste des commandes d'interrogation

Voici la liste des commandes d'interrogation :

Nom Description
git-cat-file Cette commande permet de fournir des informations sur le contenu ou le type et la taille des objets du référentiel.
git-cherry Cette commande permet de rechercher les commit non encore appliqués en amont.
git-diff-files Cette commande permet de comparer les fichiers dans l'arborescence de travail et l'index.
git-diff-index Cette commande permet de comparer un arbre à l'arbre de travail ou à l'index.
git-diff-tree Cette commande permet de comparer le contenu et le mode des blobs trouvés via deux objets d'arborescence.
git-for-each-ref Cette commande permet de demander les informations de sortie sur chaque référentiel.
git-get-tar-commit-id Cette commande permet d'extraire l'identificateur de validation à partir d'une archive créée à l'aide de git-archive.
git-ls-files Cette commande permet d'afficher des informations sur les fichiers de l'index et de l'arborescence de travail.
git-ls-remote Cette commande permet d'afficher la liste des références dans un référentiel à distance.
git-ls-tree Cette commande permet d'afficher la liste des contenus d'un objet d'arborescence.
git-merge-base Cette commande permet de trouver des ancêtres communs aussi bons que possible pour une fusion.
git-name-rev Cette commande permet de trouver des noms symboliques pour des révisions spécifiés.
git-pack-redundant Cette commande permet de trouver des fichiers de paquet redondants.
git-rev-list Cette commande permet d'afficher les listes engagent des objets dans l'ordre chronologique inverse.
git-rev-parse Cette commande permet de choisir et masser les paramètres.
git-show-index Cette commande permet d'afficher l'index des archives compressées.
git-show-ref Cette commande permet d'afficher la liste des références dans un référentiel local.
git-unpack-file Cette commande permet de créer un fichier temporaire avec le contenu d'un blob.
git-var Cette commande permet d'afficher une variable logique Git.
git-verify-pack Cette commande permet de valider les fichiers d'archive Git compressés.

En général, les commandes d'interrogation ne touchent pas les fichiers de l'arborescence de travail.

Liste des commandes de synchronisation des référentiels

Voici la liste des commandes de synchronisation des référentiels :

Nom Description
git-daemon Cette commande permet de gérer un serveur très simple pour les référentiels Git.
git-fetch-pack Cette commande permet de recevoir des objets manquants d'un autre référentiel.
git-http-backend Cette commande permet d'intégrer le Git sur un HTTP côté serveur.
git-send-pack Cette commande permet de transférer des objets via le protocole Git vers un autre référentiel.
git-update-server-info Cette commande permet de mettre à jour le fichier d'informations auxiliaire pour aider les serveurs silencieux.
Voici les commandes d'assistance utilisées par ce qui précède, les utilisateurs finaux ne les utilisent généralement pas directement.
git-http-fetch Cette commande permet de télécharger depuis un référentiel Git distant via HTTP.
git-http-push Cette commande permet de transférer des objets via HTTP/DAV vers un autre référentiel.
git-parse-remote Cette commande contient les routines facilitant l'analyse des paramètres d'accès au référentiel à distance.
git-receive-pack Cette commande permet de recevez ce qui est poussé dans le référentiel.
git-shell Cette commande contient l'interpréteur de commande de connexion restreint pour l'accès SSH de Git seulement.
git-upload-archive Cette commande permet d'envoyer les archives à git-archive.
git-upload-pack Cette commande permet d'envoyer les objets dans git-fetch-pack.

Liste des commandes d'assistance interne

Ce sont des commandes d'assistance internes utilisées par d'autres commandes; les utilisateurs finaux ne les utilisent généralement pas directement.

Nom Description
git-check-attr Cette commande permet d'afficher les informations gitattributes.
git-check-ignore Cette commande permet de déboguer des fichiers gitignore et d'exclusion.
git-check-mailmap Cette commande permet d'afficher les noms canoniques et les adresses électroniques des contacts.
git-check-ref-format Cette commande permet de s'assurer qu'un nom de référence est bien formé.
git-column Cette commande permet d'afficher les données en colonnes.
git-credential Cette commande permet de récupérer et entreposer les informations d'identification de l'utilisateur.
git-credential-cache Cette commande permet d'aider pour l'entreposage temporairement des mots de passe en mémoire.
git-credential-store Cette commande permet d'aider pour l'entreposage des informations d'identification sur le disque.
git-fmt-merge-msg Cette commande permet de produire un message de fusion.
git-interpret-trailers Cette commande permet d'ajouter ou analyser des informations structurées dans les messages de validation.
git-mailinfo Cette commande permet d'extraire le correctif et la paternité d'un message électronique unique.
git-mailsplit Cette commande contient un programme de fractionnement UNIX mbox simple.
git-merge-one-file Cette commande contient un programme d'aide standard à utiliser avec git-merge-index.
git-patch-id Cette commande permet de calculer un identifiant unique pour un correctif.
git-sh-i18n Cette commande contient le code de configuration international de Git pour les scripts de l'interpréteur de commande.
git-sh-setup Cette commande contient le code d'installation du script d'interpréteur de commande Git commun.
git-stripspace Cette commande permet de supprimer les espaces inutiles.

Mécanisme de configuration

La client Git utilise un format de texte simple pour entreposer les personnalisations par référentiel et par utilisateur. Un tel fichier de configuration peut ressembler à ceci :

#
# Les caractères «#» ou «;» indique un commentaire.
#

; variables de base
[core]
   ; Ne faites pas confiance aux modes de fichiers
   filemode = false

; identité de l'utilisateur
[user]
   name = "Sylvain Maltais"
   email = "gitster@nomdedomaine.com"

Terminologie de l'identificateur

Nom Description
<object> Cet identifiant permet d'indiquer un nom d'objet blob pour n'importe quel type d'objet.
<blob> Cet identifiant permet d'indiquer un nom d'objet blob.
<tree> Cet identifiant permet d'indiquer un nom d'objet d'arborescence.
<commit> Cet identifiant permet d'indiquer un nom d'objet de validation.
<tree-ish> Cet identifiant permet d'indiquer un nom d'objet d'arborescence, de validation ou de balise. Une commande prenant un paramètre <tree-ish> veut finalement opérer sur un objet <tree> mais déréférence automatiquement les objets <commit> et <tag> pointant sur un <tree>.
<commit-ish> Cet identifiant permet d'indiquer un nom d'objet commit ou de tag. Une commande prenant un paramètre <commit-ish> veut finalement opérer sur un objet <commit> mais déréférence automatiquement les objets <tag> pointant sur un <commit>.
<type> Cet identifiant permet d'indiquer qu'un type d'objet est requis. Actuellement l'un des éléments suivants: blob, tree, commit ou tag.
<file> Cet identifiant permet d'indiquer n nom de fichier - presque toujours relatif à la racine de l'arborescence décrite par GIT_INDEX_FILE.

Identifiants symboliques

Toute commande Git acceptant n'importe quel <objet> peut également utiliser la notation symbolique suivante :

Nom Description
HEAD Cet identifiant permet d'indiquer la tête dans la branche courante.
<tag> Cet identifiant permet d'indiquer un nom de tag valide (c'est-à-dire une référence refs/tags/<tag>).
<head> Cet identifiant permet d'indiquer un nom de tête valide (c'est-à-dire une référence refs/heads/<head>).

Variables d'environnements

Diverses commandes Git utilisent les variables d'environnement suivantes :

Nom Description
Le référentiel Git : Ces variables d'environnement s'appliquent à toutes les commandes Git de base.
GIT_INDEX_FILE Cette variable d'environnement permet d'indiquer la spécification d'un fichier d'index alternatif. Si cette variable d'environnement n'est pas spécifié, la valeur par défaut de «$GIT_DIR/index» est utilisée.
GIT_INDEX_VERSION Cette variable d'environnement permet d'indiquer la spécification d'une version d'index pour les nouveaux référentiels. Elle n'affectera pas les fichiers d'index existants. Par défaut, la version 2 ou 3 du fichier d'index est utilisée. Voir git-update-index.
GIT_OBJECT_DIRECTORY Cette variable d'environnement permet d'indiquer si le répertoire d'entreposage d'objets est spécifié via cette variable d'environnement, les répertoires sha1 sont créés en dessous. Sinon, le répertoire par défaut «$GIT_DIR/objects» est utilisé.
GIT_ALTERNATE_OBJECT_DIRECTORIES Cette variable d'environnement permet d'indiquer une liste de répertoires séparée par «:» sous Linux ou par «;» sous Windows d'objets Git pouvant être utilisés pour rechercher des objets Git. Les nouveaux objets ne seront pas écrits dans ces répertoires.
GIT_DIR Cette variable d'environnement permet d'indiquer si la variable d'environnement GIT_DIR est définie, un chemin à utiliser à la place du fichier .git par défaut pour la base du référentiel. Le paramètre de ligne de commande --git-dir définit également cette valeur.
GIT_WORK_TREE Cette variable d'environnement permet de définir le chemin d'accès à la racine de l'arbre de travail. Elle peut également être contrôlé par le paramètre de ligne de commande --work-tree et la variable de configuration core.worktree.
GIT_NAMESPACE Cette variable d'environnement permet de définir l'espace de noms Git; voir gitnamespaces. Le paramètre de ligne de commande --namespace définit également cette valeur.
GIT_CEILING_DIRECTORIES Cette variable d'environnement permet d'indiquer une liste de chemins absolus séparés par deux points. Si la variable d'environnement est défini, il s'agit d'une liste de répertoires dans lesquels Git ne devrait pas chercher dans un répertoire de référentiel (utile pour exclure les répertoires réseau à chargement lent). Elle n'exclura pas le répertoire de travail actuel ni un GIT_DIR défini sur la ligne de commande ou dans l'environnement. Normalement, Git doit lire les entrées de cette liste et résoudre tout lien symbolique éventuellement présent afin de les comparer au répertoire actuel. Toutefois, même si cet accès est lent, vous pouvez ajouter une entrée vide à la liste pour indiquer à Git que les entrées suivantes ne sont pas des liens symboliques et ne doivent pas être résolues. Par exemple, «GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/».
GIT_DISCOVERY_ACROSS_FILESYSTEM Cette variable d'environnement permet d'indiquer si Git ne peut pas s'arrêter aux limites du système de fichiers. Lorsqu'il est exécuté dans un répertoire n'ayant pas de répertoire de référentiel «.git», Git essaie de trouver un tel répertoire dans les répertoires parents pour trouver le haut de l'arborescence de travail, mais par défaut, il ne traverse pas les limites du système de fichiers.
GIT_COMMON_DIR Cette variable d'environnement permet d'indiquer si cette variable est définie sur un chemin, les fichiers autres que des arbres de construction normalement situés dans $GIT_DIR seront extraits de ce chemin. Les fichiers spécifiques aux arbres de travail tels que HEAD ou index sont extraits de $GIT_DIR. Voir gitrepository-layout et git-worktree pour plus de détails.
Différences avec Git
GIT_DIFF_OPTS Cette variable d'environnement permet d'indiquer le nombre de lignes de contexte affichées lors de la création d'un diff unifié.
GIT_EXTERNAL_DIFF Cette variable d'environnement permet d'indiquer le nom du programme externe à utiliser par Git pour effectuer les comparaisons de différence s'il est définit.
Les autres variables
GIT_MERGE_VERBOSITY Cette variable d'environnement permet d'indiquer le nombre contrôlant la quantité de sortie affichée par la stratégie de fusion récursive. Remplace la merge.verbosity.. Voir git-merge.
GIT_PAGER Cette variable d'environnement permet de remplacer $PAGER. S'il est défini sur une chaîne de caractères vide ou sur la valeur «cat», git ne lancera pas de pagination. Voir aussi le paramètre core.pager dans git-config(1).
GIT_SSH Cette variable d'environnement permet d'indiquer qu'il faut utiliser git fetch et git push utiliseront cette commande au lieu de ssh lorsqu'ils devront se connecter à un système à distance.
GIT_FLUSH Cette variable d'environnement permet d'indiquer s'il est vaut 1, que git blame (en mode incrémentiel), git rev-list, git log et git whatchanged forceront un vidage du flux de sortie après chaque enregistrement orienté sur la validation.
GIT_TRACE Cette variable d'environnement permet d'indiquer s'il est vaut 1, 2 ou true, que a comparaison ne tient pas compte des différences entre majuscules et minuscules et git affichera une trace.

Voir également

Articles - SVN vs Git
Système d'exploitation - Linux - Références de commandes et de programmes - «svn»

Dernière mise à jour : Vendredi, le 30 novembre 2018