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.47.0 10/06/24
- 2.46.1 → 2.46.2 no changes
- 2.46.0 07/29/24
- 2.45.2 no changes
- 2.45.1 04/29/24
- 2.45.0 04/29/24
- 2.44.2 no changes
- 2.44.1 04/19/24
- 2.44.0 02/23/24
- 2.43.5 no changes
- 2.43.4 04/19/24
- 2.43.2 → 2.43.3 no changes
- 2.43.1 02/09/24
- 2.43.0 11/20/23
- 2.42.3 no changes
- 2.42.2 04/19/24
- 2.42.1 11/02/23
- 2.42.0 08/21/23
- 2.41.2 no changes
- 2.41.1 04/19/24
- 2.41.0 06/01/23
- 2.40.3 no changes
- 2.40.2 04/19/24
- 2.40.1 no changes
- 2.40.0 no changes
- 2.39.5 no changes
- 2.39.4 04/19/24
- 2.39.1 → 2.39.3 no changes
- 2.39.0 12/12/22
- 2.38.3 → 2.38.5 no changes
- 2.38.2 12/11/22
- 2.38.1 no changes
- 2.38.0 10/02/22
- 2.37.3 → 2.37.7 no changes
- 2.37.2 08/11/22
- 2.37.1 no changes
- 2.37.0 06/27/22
- 2.36.1 → 2.36.6 no changes
- 2.36.0 04/18/22
- 2.35.1 → 2.35.8 no changes
- 2.35.0 01/24/22
- 2.34.1 → 2.34.8 no changes
- 2.34.0 11/15/21
- 2.33.3 → 2.33.8 no changes
- 2.33.2 03/23/22
- 2.33.1 10/12/21
- 2.32.1 → 2.33.0 no changes
- 2.32.0 06/06/21
- 2.31.1 → 2.31.8 no changes
- 2.31.0 03/15/21
- 2.30.1 → 2.30.9 no changes
- 2.30.0 12/27/20
- 2.29.1 → 2.29.3 no changes
- 2.29.0 10/19/20
- 2.28.1 no changes
- 2.28.0 07/27/20
- 2.27.1 no changes
- 2.27.0 06/01/20
- 2.26.1 → 2.26.3 no changes
- 2.26.0 03/22/20
- 2.25.2 → 2.25.5 no changes
- 2.25.1 02/17/20
- 2.25.0 01/13/20
- 2.23.1 → 2.24.4 no changes
- 2.23.0 08/16/19
- 2.22.2 → 2.22.5 no changes
- 2.22.1 08/11/19
- 2.22.0 06/07/19
- 2.20.1 → 2.21.4 no changes
- 2.20.0 12/09/18
- 2.19.3 → 2.19.6 no changes
- 2.19.2 11/21/18
- 2.19.1 no changes
- 2.19.0 09/10/18
- 2.18.1 → 2.18.5 no changes
- 2.18.0 06/21/18
- 2.17.1 → 2.17.6 no changes
- 2.17.0 04/02/18
- 2.16.6 12/06/19
- 2.15.4 12/06/19
- 2.14.6 12/06/19
- 2.13.7 no changes
- 2.12.5 09/22/17
- 2.11.4 09/22/17
- 2.10.5 09/22/17
- 2.9.5 07/30/17
- 2.8.6 07/30/17
- 2.7.6 07/30/17
- 2.6.7 05/05/17
- 2.5.6 05/05/17
- 2.4.12 05/05/17
- 2.3.10 09/28/15
- 2.2.3 09/04/15
- 2.1.4 12/17/14
- 2.0.5 12/17/14
SYNOPSIS
git [-v | --version] [-h | --help] [-C <chemin>] [-c <nom>=<valeur>] [--exec-path[=<chemin>]] [--html-path] [--man-path] [--info-path] [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch] [--no-optional-locks] [--no-advice] [--bare] [--git-dir=<chemin>] [--work-tree=<chemin>] [--namespace=<nom>] [--config-env=<nom>=<var-env>] <commande> [<args>]
DESCRIPTION
Git est un système de gestion de révision rapide, extensible et distribué avec un ensemble de commandes inhabituellement riche qui fournit à la fois des opérations de haut niveau et un accès complet aux structures de bas niveau.
Voir gittutorial[7] pour démarrer, puis voir giteveryday[7] pour un ensemble minimal utile de commandes. Le manuel utilisateur de Git contient une introduction plus approfondie.
Aprs avoir maîtrisé les concepts de base, vous pouvez revenir à cette page pour apprendre les commandes que Git offre. Vous pouvez en apprendre plus sur chaque commande Git avec « git help command ». La page de manuel de gitcli[7] fournit un aperçu de la syntaxe de commande de la ligne de commande.
Une copie formatée et hyperliée de la dernière documentation de Git peut être visualisée à https://git.github.io/htmldocs/git.html ou à https://git-scm.com/docs.
OPTIONS
- -v
- --version
-
Afficher la version de la suite Git de laquelle le programme git provient.
Cette option est convertie en interne en
git version...
et accepte les mĂŞmes options que la commande git-version[1]. Si l’on--help
est donnée aussi , elle a préséance sur--version
. - -h
- --help
-
Afficher le synopsis et les liste des commandes les plus utilisĂ©es. Si l’option
--all
ou-a
est fournie alors toutes les commandes disponibles sont affichĂ©es. si une commande Git est fournie, cette option affiche la page de manuel pour cette commande.Les autres options sont disponibles pour contrĂ´ler comment la page de manuel est affichĂ©e. Voir git-help[1] pour plus d’information, parce que
git --help ...
est convertie en interne engit help ...
. - -C <chemin>
-
Démarrer comme si git était lancé depuis <chemin> au lieu du répertoire de travail actuel. Quand plusieurs options
-C
sont fournies, chaque-C <chemin>
non-absolu supplémentaire est interprété relativement au-C <chemin>
précédent. Si <chemin> est présent mais vide, c-à -d-C ""
, alors le répertoire de travail courant est laissé inchangé.Cette option affecte les options qui attendent de chemins comme
--git-dir
et--work-tree
en ce que leurs interprĂ©tations des noms de chemins seront relatives au rĂ©pertoire de travail dĂ©fini par l’option-C
. Par exemple, les invocations suivantes sont équivalentes :git --git-dir=a.git --work-tree=b -C c status git --git-dir=c/a.git --work-tree=c/b status
- -c <nom>=<valeur>
-
Passer un paramètre de configuration Ă la commande. La valeur fournie surchargera la valeur des fichiers des configuration. Le <nom> a le mĂŞme format que listĂ© par ‘git config’ (sous-clĂ©s sĂ©parĂ©es par des points).
Notez qu’omettre le
=
dansgit -c foo.bar ...
est permis et positionnefoo.bar
à la valeur booléenne true (de la même manière que le ferait[foo]bar
dans un fichier de configuration). Si le=
est inclus mais avec une valeur vide (commegit -c foo.bar= ...
), cela positionnefoo.bar
à la chaîne vide quegit config --type=bool
convertira enfalse
. - --config-env=<nom>=<var-env>
-
Ă€ l’instar de
-c <nom>=<valeur>
, donner une valeur Ă la variable de configuration <nom>, oĂą <envvar> est le nom d’une variable d’environnement depuis laquelle rĂ©cupĂ©rer la valeur. Contrairement Ă-c
il n’y a pas de raccourci pour dĂ©finir directement la valeur Ă une chaĂ®ne vide, la variable d’environnement elle-mĂŞme doit ĂŞtre dĂ©finie Ă la chaĂ®ne vide. Il s’agit d’une erreur si leenvvar
n’existe pas dans l’environnement.<envvar>
ne peut pas contenir un signe égal pour éviter toute ambiguïté avec<nom>
en contenant un.Ceci est utile pour les cas oĂą vous voulez passer des options de configuration transitoires Ă git, mais le faire sur les systèmes d’exploitation oĂą d’autres processus pourraient ĂŞtre en mesure de lire votre ligne de commande (par exemple
/proc/self/cmdline
), mais pas votre environnement (par exemple/proc/self/environ
). C’est le comportement par dĂ©faut sur Linux, mais peut ne pas l’ĂŞtre sur votre système.Notez que cela pourrait ajouter de la sĂ©curitĂ© pour des variables telles que
http.extraHeader
oĂą les informations sensibles font partie de la valeur, mais pas par exempleurl. <base>.insteadOf
où les informations sensibles peuvent faire partie de la clé. - --exec-path[=<chemin>]
-
Chemin dans lequel les programmes de base de Git sont installĂ©s. Cela peut aussie ĂŞtre gĂ©rĂ© en positionnant la variable d’environnement GIT_EXEC_PATH. Si aucun chemin n’est spĂ©cifiĂ©, git affichera la valeur actuelle, puis sortira.
- --html-path
-
Afficher le chemin, sans la barre finale, où la documentation HTML de Git est installé et sortir.
- --man-path
-
Afficher le chemin manpath (voir
man(1)
) pour les pages de manuel de cette version de Git et sortir. - --info-path
-
Afficher le chemin où sont installés les fichiers Info documentant cette version de Git et sortir.
- -p
- --paginate
-
Redirige toutes les sorties dans less (ou $PAGER, si positionné) si la sortie standard est un terminal. Cela surcharge les options de configuration
pager.<cmd>
(voir la section « Mécanisme de configuration » ci-dessous). - -P
- --no-pager
-
Ne pas rediriger la sortie de Git dans un pageur.
- --git-dir=<chemin>
-
Règle le chemin vers le dĂ©pĂ´t (rĂ©pertoire ".git"). Ceci peut aussi ĂŞtre contrĂ´lĂ© en rĂ©glant la variable d’environnement
GIT_DIR
. Ce peut ĂŞtre un chemin absolu ou relatif au rĂ©pertoire de travail actuel.SpĂ©cifier l’emplacement du rĂ©pertoire ".git" en utilisant cette option (ou la variable d’environnement
GIT_DIR
) dĂ©sactive la dĂ©couverte de dĂ©pĂ´t, qui tente de trouver un rĂ©pertoire avec un sous-rĂ©pertoire ".git" (ce qui est la façon dont le dĂ©pĂ´t et le niveau supĂ©rieur de l’arbre de travail sont dĂ©couverts), et indique Ă Git que vous ĂŞtes au niveau supĂ©rieur de l’arbre de travail. Si vous n’ĂŞtes pas dans le rĂ©pertoire de niveau supĂ©rieur de l’arbre de travail, vous devez dire Ă Git oĂą se trouve le niveau supĂ©rieur de l’arbre de travail, avec l’option--work-tree=<chemin> (ou la variable d'environnement`GIT_WORK_TREE
)Si vous voulez juste lancer git comme s’il Ă©tait dĂ©marrĂ© dans
<chemin>
, utilisezgit -C <chemin>
. - --work-tree=<chemin>
-
RĂ©gler le chemin du rĂ©pertoire de travail. Ce peut ĂŞtre un chemin absolu ou un chemin relatif au rĂ©pertoire de travail actuel. Ceci peut aussi ĂŞtre contrĂ´lĂ© en rĂ©glant la variable d’environnement GIT_WORK_TREE et la variable de configuration core.worktree (voir core.worktree dans git-config[1] pour une discussion plus dĂ©taillĂ©e).
- --namespace=<chemin>
-
RĂ©gler l’espace de nommage Git. Voir gitnamespaces[7] pour plus de dĂ©tails. Équivalent Ă rĂ©gler la variable d’environnement
GIT_NAMESPACE
. - --bare
-
Traiter le dĂ©pĂ´t comme un dĂ©pĂ´t nu. Si l’environnement
GIT_DIR
n’est pas dĂ©fini, alors il est dĂ©fini au rĂ©pertoire de travail actuel. - --no-replace-objects
-
Ne pas utiliser des refs de remplacement pour remplacer des objets Git. Voir git-replace[1] pour de plus amples informations. Ceci Ă©quivaut Ă l’exportation de la variable d’environnement
GIT_NO_REPLACE_OBJECTS
avec n’importe quelle valeur. Voir git-replace[1] pour de plus amples d’informations. - --no-lazy-fetch
-
Do not fetch missing objects from the promisor remote on demand. Useful together with
git cat-file -e <object>
to see if the object is locally available. This is equivalent to setting theGIT_NO_LAZY_FETCH
environment variable to1
. - --no-optional-locks
-
Ne pas effectuer des opérations optionnelles qui nécessitent des verrouillages. Ceci équivaut à mettre
GIT_OPTIONAL_LOCKS
Ă0
. - --no-advice
-
Disable all advice hints from being printed.
- --literal-pathspecs
-
Traier les spĂ©cificateurs de chemins littĂ©ralement (c-Ă -d sans jokers ni magie de pathspec). Ceci est Ă©quivalent Ă rĂ©gler la variable d’environnement
GIT_LITERAL_PATHSPECS
Ă1
. - --glob-pathspecs
-
Ajouter la magie « glob » Ă tous les spĂ©cificateurs de chemin. C’est Ă©quivalent Ă rĂ©gler la variable d’environnement
GIT_GLOB_PATHSPECS
Ă1
. La désactivation du traitement glob sur des spécificateurs de chemin spécifiques peut être réalisée en utilisant le préfixe magique ":(litera)" - --noglob-pathspecs
-
Ajouter la magie « literal » Ă tous les spĂ©cificateurs de chemin. C’est Ă©quivalent Ă rĂ©gler la variable d’environnement
GIT_NOGLOB_PATHSPECS
Ă1
. L’activation du traitement glob sur des spĂ©cificateurs de chemin spĂ©cifiques peut ĂŞtre rĂ©alisĂ©e en utilisant le prĂ©fixe magique ":(glob)" - --icase-pathspecs
-
Ajouter la magie « icase » Ă tous les spĂ©cificateurs de chemin. C’est Ă©quivalent Ă rĂ©gler la variable d’environnement
GIT_ICASE_PATHSPECS
Ă1
. - --list-cmds=<groupe>[,<groupe>…]
-
Liste les commandes par groupe. Il s’agit d’une option interne/expĂ©rimentale et peut changer ou ĂŞtre retirĂ©e Ă l’avenir. Les groupes pris en charge sont les suivants : builtins, parseopt (commandes intĂ©grĂ©es qui utilisent parse-options), main (toutes commandes dans le rĂ©pertoire libexec), autres (toutes autres commandes dans
$PATH
qui ont un préfixe git), list-<catégorie> (voir les catégories dans command-list.txt), nohelpers (exclure les commandes assistantes), alias et config (récupère la liste de commandes depuis la variable de configuration completion.commands) - --attr-source=<arbre-esque>
-
Lire les gitattributs depuis <arbre-esque> au lieu de l’arbre-de-travail. Voir gitattributes[5]. C’est Ă©quivalent Ă rĂ©gler la variable d’environnement
GIT_ATTR_SOURCE
.
COMMANDES GIT
Nous divisons Git entre les commandes de haut niveau ("porcelaine") et de bas niveau ("plomberie").
Commandes de haut niveau (porcelaine)
Nous séparerons les commandes de porcelaine entre commandes principales et quelques utilitaires auxiliaires.
Commandes Porcelaine Principales
- git-add[1]
-
Ajouter le contenu de fichiers Ă l’index.
- git-am[1]
-
Appliquer une série de rustines depuis des fichiers mailbox.
- git-archive[1]
-
Créer une archive des fichiers depuis un arbre nommé.
- git-bisect[1]
-
Trouver par recherche binaire la modification qui a introduit un bogue.
- git-branch[1]
-
Lister, créer ou supprimer des branches.
- git-bundle[1]
-
Déplacer les objets et références par archive.
- git-checkout[1]
-
Basculer de branche ou restaurer les fichiers des arbres de travail.
- git-cherry-pick[1]
-
Appliquer les modifications introduites par des commits existants.
- git-citool[1]
-
Alternative graphique Ă git-commit.
- git-clean[1]
-
Supprimer des fichiers non-suivis depuis un arbre de travail.
- git-clone[1]
-
Cloner un dépôt dans un nouveau répertoire.
- git-commit[1]
-
Enregistrer les modifications dans le dépôt.
- git-describe[1]
-
Baptiser un objet avec un nom lisible basé sur une référence disponible.
- git-diff[1]
-
Afficher les modifications entre les validations, entre validation et copie de travail, etc.
- git-fetch[1]
-
Télécharger les objets et références depuis un autre dépôt.
- git-format-patch[1]
-
Préparer les rustines pour soumission par courriel.
- git-gc[1]
-
Effacer les fichiers non-nécessaires et optimiser le dépôt local.
- git-grep[1]
-
Afficher les lignes correspondant Ă un motif.
- git-gui[1]
-
Une interface graphique portable pour Git.
- git-init[1]
-
Créer un dépôt Git vide ou réinitialise un dépôt existant.
- git-log[1]
-
Afficher l’historique des validations.
- git-maintenance[1]
-
Exécuter des tâches pour optimiser les données du dépôt Git.
- git-merge[1]
-
Fusionner deux ou plusieurs historiques de développement ensemble.
- git-mv[1]
-
Déplacer ou renommer un fichier, un répertoire, ou un lien symbolique.
- git-notes[1]
-
Ajouter ou inspecter les notes d’un objet.
- git-pull[1]
-
Rapatrier et intégrer un autre dépôt ou une branche locale.
- git-push[1]
-
Mettre à jour les références distantes ainsi que les objets associés.
- git-range-diff[1]
-
Comparer deux plages de commits (par exemple deux versions d’une branche).
- git-rebase[1]
-
RĂ©appliquet des commits sur le sommet de l’autre base.
- git-reset[1]
-
RĂ©initialiser la HEAD actuelle Ă l’Ă©tat spĂ©cifiĂ©.
- git-restore[1]
-
Corriger les fichiers de l’arbre de travail.
- git-revert[1]
-
Inverser des commits existants.
- git-rm[1]
-
Supprimer des fichiers d’un arbre de travail ou de l’index.
- git-shortlog[1]
-
RĂ©sumer la sortie de git log.
- git-show[1]
-
Afficher diffĂ©rents types d’objets.
- git-sparse-checkout[1]
-
RĂ©duire votre arbre de travail Ă un sous-ensemble de fichiers suivis.
- git-stash[1]
-
Remiser les modifications d’un rĂ©pertoire de travail sale.
- git-status[1]
-
Afficher l’Ă©tat de l’arbre de travail.
- git-submodule[1]
-
Initialiser, mettre Ă jour et inspecter les sous-modules.
- git-switch[1]
-
Basculer de branche.
- git-tag[1]
-
CrĂ©er, lister, supprimer ou vĂ©rifier un objet d’Ă©tiquette signĂ© avec GPG.
- git-worktree[1]
-
GĂ©rer des arbres de travail multiples.
- gitk[1]
-
Le navigateur de dépôt Git.
- scalar[1]
-
Un outil pour gérer les grands dépôts Git.
Commandes auxiliaires
Manipulateurs :
- git-config[1]
-
Voir et régler les options globales ou de dépôt.
- git-fast-export[1]
-
Exporteur de données Git.
- git-fast-import[1]
-
Moteur pour les importateurs rapides de données Git.
- git-filter-branch[1]
-
RĂ©Ă©crire les branches.
- git-mergetool[1]
-
Lancer les outils de résolution de conflit de fusion pour résoudre les conflits de fusion.
- git-pack-refs[1]
-
Empaqueter les têtes et les étiquettes pour un accès efficace au dépôt.
- git-prune[1]
-
Élaguer tous les objets non joignables de la base de donnĂ©es d’objets.
- git-reflog[1]
-
GĂ©rer l’information de reflog.
- git-refs[1]
-
Accès bas niveau aux refs.
- git-remote[1]
-
Gerer un ensemble de dépôts suivis.
- git-repack[1]
-
Empaqueter les objets non-empaquetés dans un dépôt.
- git-replace[1]
-
Créer, lister, supprimer des référence pour remplacer des objets.
Interrogateurs :
- git-annotate[1]
-
Annoter les lignes du fichier avec l’information de commit.
- git-blame[1]
-
Montrer la rĂ©vision et l’auteur qui ont modifiĂ© en dernier chaque ligne d’un fichier.
- git-bugreport[1]
-
Collecter des informations pour que l’utilisateur dépose un rapport de bogue.
- git-count-objects[1]
-
Compter le nombre non-empaquetĂ© d’objets et leur consommation d’espace disque.
- git-diagnose[1]
-
Générer une archive zip des informations de diagnostic.
- git-difftool[1]
-
Afficher les modifications en utilisant les outils habituels de diff.
- git-fsck[1]
-
Vérifie la connectivité et la validité des objets en base de données.
- git-help[1]
-
Afficher l’information d’aide Ă propos de Git.
- git-instaweb[1]
-
Naviguer instantanément votre dépôt de travail dans gitweb.
- git-merge-tree[1]
-
Effectuer la fusion sans toucher Ă l’index ou Ă l’arbre de travail.
- git-rerere[1]
-
Réutiliser une résolution enregistrée de fusions conflictuelles.
- git-show-branch[1]
-
Afficher les branches et leurs commits.
- git-verify-commit[1]
-
VĂ©rifier la signature GPG de commits.
- git-verify-tag[1]
-
VĂ©rifier la signature GPG d’Ă©tiquettes.
- git-version[1]
-
Afficher l’information de version Ă propos de Git.
- git-whatchanged[1]
-
Afficher les journaux avec les différences que chaque commit introduit.
- gitweb[1]
-
Interface web de Git (frontal web vers les dépôts Git).
Interaction avec d’autres dĂ©veloppeurs
Ces commandes permettent d’interagir avec autre SCM et avec d’autres personnes via rustines envoyĂ©es par courriel.
- git-archimport[1]
-
Importer dans Git un dépôt GNU Arch.
- git-cvsexportcommit[1]
-
Exporter un commit unique en extraction CVS.
- git-cvsimport[1]
-
Sauver vos donnĂ©es depuis un autre SCM qu’on aime haĂŻr.
- git-cvsserver[1]
-
Un Ă©mulateur de serveur CVS pour Git.
- git-imap-send[1]
-
Envoyer un ensemble de patchs depuis stdin vers un répertoire IMAP.
- git-p4[1]
-
Importer depuis et soumettre vers des dépôts Perforce.
- git-quiltimport[1]
-
Appliquer un patchset quilt sur la branche courante.
- git-request-pull[1]
-
Générer une résumé des modifications en attentes.
- git-send-email[1]
-
Envoyer un ensemble de rustines comme courriels.
- git-svn[1]
-
Opération Bidirectionnelle entre un dépôt Subversion et Git.
RĂ©initialiser, restaurer et revenir
Il y a trois commandes avec des noms similaires : git reset
, git restore
et git revert
.
-
git-revert[1] sert Ă faire un nouveau commit qui inverse les modifications apportĂ©es par d’autres commits.
-
git-restore[1] consiste Ă restaurer des fichiers dans l’arbre de travail Ă partir de l’index ou d’un autre commit. Cette commande ne met pas Ă jour votre branche. La commande peut Ă©galement ĂŞtre utilisĂ©e pour restaurer des fichiers dans l’index depuis un autre commit.
-
git-reset[1] consiste Ă mettre Ă jour votre branche, en dĂ©plaçant le sommet afin d’ajouter ou de supprimer des commits de la branche. Cette opĂ©ration modifie l’historique des commits.
git reset
peut Ă©galement ĂŞtre utilisĂ© pour restaurer l’index, Ă la manière degit restore
.
Commandes de bas niveau (plomberie)
Bien que Git comprend sa propre couche de porcelaine, ses commandes de bas niveau sont suffisantes pour développer de porcelaines alternatives. Les développeurs de ces porcelaines devraient commencer par la lecture de git-update-index[1] et git-read-tree[1].
L’interface (entrĂ©e, sortie, ensemble d’options et sĂ©mantique) Ă ces commandes de bas niveau est censĂ©e ĂŞtre beaucoup plus stable que les commandes de niveau Porcelaine, parce que ces commandes sont principalement destinĂ©es Ă une utilisation scriptĂ©e. L’interface des commandes Porcelaine en revanche est sujette Ă changement afin d’amĂ©liorer l’expĂ©rience de l’utilisateur final.
La description suivante divise les commandes de bas niveau en commandes qui manipulent les objets (dans le dĂ©pĂ´t, l’index et l’arbre de travail), celles qui interrogent et comparent les objets, et les commandes qui dĂ©placent les objets et les rĂ©fĂ©rences entre les dĂ©pĂ´ts.
Commandes de manipulation
- git-apply[1]
-
Appliquer un correctif Ă des fichiers et/ou Ă l’index.
- git-checkout-index[1]
-
Copier des fichiers depuis l’index dans l’arbre de travail.
- git-commit-graph[1]
-
Écrire et vérifier les fichiers de graphe de commit Git.
- git-commit-tree[1]
-
Créer un nouvel objet commit.
- git-hash-object[1]
-
Calculer l’ID d’objet et crĂ©er optionnellement un objet depuis un fichier.
- git-index-pack[1]
-
Construire un fichier d’index pack depuis une archive compactĂ©e existante.
- git-merge-file[1]
-
Lancer une fusion Ă 3 points.
- git-merge-index[1]
-
Lancer une fusion Ă 3 points pour les fichiers Ă fusionner.
- git-mktag[1]
-
Créer un objet étiquette avec une validation supplémentaire.
- git-mktree[1]
-
Construire un objet arbre depuis du texte au format ls-tree.
- git-multi-pack-index[1]
-
Écrire et vérifier les index multi-paquet.
- git-pack-objects[1]
-
CrĂ©er une archive compactĂ©e d’objets.
- git-prune-packed[1]
-
Éliminer les objets supplémentaires qui sont déjà présents dans les fichiers pack.
- git-read-tree[1]
-
Lire l’information d’arbre dans l’index.
- git-replay[1]
-
EXPÉRIMENTAL : Rejoue les commits sur une nouvelle base, travaille avec un dépôt nu aussi.
- git-symbolic-ref[1]
-
Lire, modifier et supprimer les références symboliques.
- git-unpack-objects[1]
-
Dépaqueter les objets depuis une archive empaquetée.
- git-update-index[1]
-
Enregistrer le contenu de fichiers de l’arbre de travail dans l’index.
- git-update-ref[1]
-
Mettre Ă jour le nom d’objet stockĂ© dans une rĂ©fĂ©rence en toute sĂ©curitĂ©.
- git-write-tree[1]
-
CrĂ©er un objet arbre depuis l’index courant.
Commandes d’interrogation
- git-cat-file[1]
-
Fournit le contenu ou les détails pour les objets du dépôt.
- git-cherry[1]
-
Trouver les commits Ă appliquer en amont.
- git-diff-files[1]
-
Comparer des fichiers dans l’arbre de travail et l’index.
- git-diff-index[1]
-
Comparer un arbre Ă l’arbre de travail ou l’index.
- git-diff-tree[1]
-
Compare le contenu et le mode des blobs trouvés via deux objets arbre.
- git-for-each-ref[1]
-
Afficher des informations sur chaque référence.
- git-for-each-repo[1]
-
Exécuter une commande Git sur une liste de dépôts.
- git-get-tar-commit-id[1]
-
Extraire l’ID du commit depuis une archive crĂ©Ă©e par git-archive.
- git-ls-files[1]
-
Afficher des informations sur les fichiers de l’index et de l’arbre de travail.
- git-ls-remote[1]
-
Lister les références dans un dépôt distant.
- git-ls-tree[1]
-
Afficher le contenu d’un objet arbre.
- git-merge-base[1]
-
Trouver un ancĂŞtre aussi bon que possible pour une fusion.
- git-name-rev[1]
-
Trouver les noms symboliques pour des révisions données.
- git-pack-redundant[1]
-
Trouver les fichiers pack redondants.
- git-rev-list[1]
-
Afficher les objets commit dans l’ordre chronologique inverse.
- git-rev-parse[1]
-
Analyser et préparer les paramètres.
- git-show-index[1]
-
Afficher l’index de l’archive empaquetĂ©e.
- git-show-ref[1]
-
Lister les références du dépôt local.
- git-unpack-file[1]
-
CrĂ©er un fichier temporaire avec le contenu d’un blob.
- git-var[1]
-
Afficher un variable logique de Git.
- git-verify-pack[1]
-
Valider des fichiers d’archive Git empaquetĂ©s.
En gĂ©nĂ©ral, les commandes d’interrogation ne modifient pas les fichiers dans l’arbre de travail.
Synchronisation des dépôts
- git-daemon[1]
-
Un serveur vraiment très simple pour les dépôts Git.
- git-fetch-pack[1]
-
Recevoir des objets manquants depuis un autre dépôt.
- git-http-backend[1]
-
Implantation côté serveur de Git sur HTTP.
- git-send-pack[1]
-
Pousser des objets sur le protocole Git sur un autre dépôt.
- git-update-server-info[1]
-
Mettre Ă jour le fichier d’informations auxiliaires pour aider les serveurs idiots.
Les commandes suivantes sont des utilitaires utilisés par celles ci-dessus ; les utilisateurs finaux ne les utilisent généralement pas directement.
- git-http-fetch[1]
-
Télécharger depuis un dépôt Git distant via HTTP.
- git-http-push[1]
-
Pousser des objets par HTTP/DAV vers un autre dépôt.
- git-receive-pack[1]
-
Recevoir ce qui est poussé dans un dépôt.
- git-shell[1]
-
Shell de login restreint pour un accès SSH vers Git seulement.
- git-upload-archive[1]
-
Renvoyer une archive dans git-archive.
- git-upload-pack[1]
-
Renvoyer des objets empaquetés dans git-fetch-pack.
Commandes assistantes internes
Ce sont des commandes assistantes internes utilisĂ©es par d’autres commandes ; les utilisateurs finaux ne les utilisent gĂ©nĂ©ralement pas directement.
- git-check-attr[1]
-
Afficher les informations de gitattributes.
- git-check-ignore[1]
-
DĂ©boguer gitignore / les fichiers d’exclusion.
- git-check-mailmap[1]
-
Afficher les noms canoniques et les adresses courriel des contacts.
- git-check-ref-format[1]
-
S’assurer qu’un nom de rĂ©fĂ©rence est bien formĂ©.
- git-column[1]
-
Afficher les données en colonnes.
- git-credential[1]
-
RĂ©cupĂ©rer et sauvegarder les certificats d’utilisateur.
- git-credential-cache[1]
-
Assistant pour maintenir temporairement en mémoire les mots de passe.
- git-credential-store[1]
-
Assistant pour sauvegarder les certificats sur disque.
- git-fmt-merge-msg[1]
-
Produire un message de validation de fusion.
- git-hook[1]
-
Lancer les crochets git.
- git-interpret-trailers[1]
-
Ajouter ou analyser l’information structurĂ©e dans les messages de validation.
- git-mailinfo[1]
-
Extraire la rustine et l’information de d’auteur depuis un simple message de courriel.
- git-mailsplit[1]
-
Programme simple de découpage de mbox UNIX.
- git-merge-one-file[1]
-
Le programme assistant standard Ă utiliser avec git-merge-index.
- git-patch-id[1]
-
Calculer l’ID unique d’une rustine.
- git-sh-i18n[1]
-
Le code d’initialisation i18n pour les scripts shell.
- git-sh-setup[1]
-
Le code d’initialisation commun aux scripts shell Git.
- git-stripspace[1]
-
Retirer les espaces inutiles.
Guides
Les pages de documentation suivantes sont des guides sur les concepts Git.
- gitcore-tutorial[7]
-
Un tutoriel de base sur Git pour les développeurs.
- gitcredentials[7]
-
Fournir des noms d’utilisateur et des mots de passe à Git.
- gitcvs-migration[7]
-
Git pour les utilisateurs de CVS.
- gitdiffcore[7]
-
Bricoler la sortie diff.
- giteveryday[7]
-
Un ensemble minimum de commandes utiles pour l’utilisation quotidienne de Git.
- gitfaq[7]
-
Foire aux questions sur l’utilisation de Git.
- gitglossary[7]
-
Un glossaire de Git.
- gitnamespaces[7]
-
Espaces de noms Git.
- gitremote-helpers[7]
-
Programmes assistants pour interagir avec les dépôts distants.
- gitsubmodules[7]
-
Montage d’un dĂ©pĂ´t Ă l’intĂ©rieur d’un autre.
- gittutorial[7]
-
Une introduction tutorielle Ă Git.
- gittutorial-2[7]
-
Une introduction tutorielle à Git : deuxième partie.
- gitworkflows[7]
-
Un aperçu des flux de travail recommandés avec Git.
Interfaces de dépôt, de commande et de fichiers
Cette documentation traite des interfaces de dépôt et de commande que les utilisateurs sont censés utiliser directement. Pour plus de détails sur les critères, consultez --user-formats
dans git-help[1].
- gitattributes[5]
-
DĂ©finir les attributs par chemin.
- gitcli[7]
-
Interface et conventions de la ligne de commande Git.
- githooks[5]
-
Crochets utilisés par Git.
- gitignore[5]
-
Spécifie les fichiers intentionnellement non suivis à ignorer.
- gitmailmap[5]
-
Fais correspondre les noms des auteurs/validateurs et/ou les adresses Ă©lectroniques.
- gitmodules[5]
-
Définition des propriétés des sous-modules.
- gitrepository-layout[5]
-
Disposition d’un dĂ©pĂ´t Git.
- gitrevisions[7]
-
Spécifier les révisions et les plages pour Git.
formats de fichiers, protocoles et interfaces de niveau développeur
Cette documentation traite des formats de fichiers, des protocoles de communication et d’autres interfaces pour les dĂ©veloppeur de git. Voir --developer-interfaces
dans git-help[1].
- gitformat-bundle[5]
-
Le format de fichier colis.
- gitformat-chunk[5]
-
Formats de fichiers basés sur des tronçons.
- gitformat-commit-graph[5]
-
Le format de graphe de commit de Git.
- gitformat-index[5]
-
Le format d’index Git.
- gitformat-pack[5]
-
Format interne de Git.
- gitformat-signature[5]
-
Formats de signature cryptographique Git.
- gitprotocol-capabilities[5]
-
Capacités des protocoles v0 et v1.
- gitprotocol-common[5]
-
Choses communes Ă divers protocoles.
- gitprotocol-http[5]
-
Protocoles Git basés sur HTTP.
- gitprotocol-pack[5]
-
Comment les paquets sont transférés dans les transmissions.
- gitprotocol-v2[5]
-
Protocole de transmission Git, Version 2.
MĂ©canisme de configuration
Git utilise un format texte simple pour stocker les personnalisations qui sont spĂ©cifique au dĂ©pĂ´t et Ă l’utilisateur. Un tel fichier de configuration peut ressembler Ă ceci :
# # Un caractère A '#' ou ';' indique un commentaire. # ; variables de base [core] ; ne pas faire confiance au mode des fichiers filemode = false ; identité de l'utilisateur [user] name = "Junio C Hamano" email = "gitster@pobox.com"
Diverses commandes lisent le fichier de configuration et modifient leur comportement en conséquence. Voir git-config[1] pour une liste et plus de détails sur le mécanisme de configuration.
Terminologie des identifiants
- <objet>
-
Indique le nom de l’objet pour tout type d’objet.
- <blob>
-
Indique un nom d’objet blob.
- <arbre>
-
Indique un nom d’objet d’arbre.
- <commit>
-
Indique un nom d’objet commit.
- <arbre-esque>
-
Indique un nom d’objet arbre, commit ou Ă©tiquette. Une commande qui prend un argument <arbre-esque> veut finalement opĂ©rer sur un objet <arbre> mais dĂ©rĂ©fĂ©rences automatiquement les objets <commit> et <Ă©tiquette> qui pointent sur un <arbre>.
- <commit-esque>
-
Indique un nom d’objet commit ou Ă©tiquette. Une commande qui prend un argument <commit-esque> veut ultimement opĂ©rer sur un objet <commit>, mais dĂ©rĂ©fĂ©rence automatiquement des objets <Ă©tiquette> qui pointent sur un <commit>.
- <type>
-
Indique qu’un type d’objet est requis. Actuellement, soit`blob`,
arbre
,commit
, ouétiquette
. - <fichier>
-
Indique un nom de fichier - presque toujours relatif Ă la racine de la structure de l’arbre que`GIT_INDEX_FILE` dĂ©crit.
Identificateurs symboliques
Toute commande Git acceptant n’importe quel <objet> peut Ă©galement utiliser la notation symbolique suivante :
Pour une liste plus complète des façons d’Ă©peler les noms d’objets, voir la section « SPÉCIFICATION DE RÉVISIONS" dans gitrevisions[7].
Structure de fichier/répertoire
Veuillez consulter le document gitrepository-layout[5].
Lire githooks[5] pour plus de détails sur chaque crochet.
Les SCM de niveau supérieur peuvent fournir et gérer des informations supplémentaires dans le $GIT_DIR
.
Terminologie
Veuillez consulter gitglossary[7].
Variables d’environnement
Diverses commandes Git sont sensibles aux variables d’environnement et modifient leur comportement. Les variables d’environnement marquĂ©es comme "BoolĂ©enne" prennent leurs valeurs de la mĂŞme manière que les variables de configuration Ă©valuĂ©es comme BoolĂ©enne, p.ex. "true", "yes", "on" et les chiffres positifs sont pris comme "yes".
Voici les variables :
Le dépôt Git
Ces variables d’environnement s’appliquent Ă toutes les commandes du cĹ“ur de Git. Nb : il est intĂ©ressant de noter qu’elles peuvent ĂŞtre utilisĂ©es/surchargĂ©es par les SCMS agissant par-dessus Git alors faites attention si vous utilisez un frontal externe.
-
GIT_INDEX_FILE
-
Cette variable d’environnement spĂ©cifie un fichier d’index alternatif. Si elle n’est pas spĂ©cifiĂ©e, la valeur par dĂ©faut
$GIT_DIR/index
est utilisée. -
GIT_INDEX_VERSION
-
Cette variable d’environnement spĂ©cifie quelle version index est utilisĂ©e lors de l’Ă©criture du fichier index. Il n’affectera pas les fichiers d’index existants. Par dĂ©faut index version 2 ou 3 est utilisĂ©. Voir git-update-index[1] pour plus d’informations.
-
GIT_OBJECT_DIRECTORY
-
Si le rĂ©pertoire de stockage d’objets est spĂ©cifiĂ© via cette variable d’environnement, alors les rĂ©pertoires sha1 sont crĂ©Ă©s dedans - sinon le rĂ©pertoire par dĂ©faut
$GIT_DIR/objects
est utilisé. -
GIT_ALTERNATE_OBJECT_DIRECTORIES
-
En raison de la nature immuable des objets Git, de vieux objets peuvent ĂŞtre archivĂ©s dans des rĂ©pertoires partagĂ©s en lecture seule. Cette variable spĂ©cifie une liste avec ":" pour sĂ©parateur (";" sur Windows) des rĂ©pertoires d’objets Git qui peuvent ĂŞtre utilisĂ©s pour rechercher des objets Git. Aucun nouvel objet ne sera Ă©crit dans ces rĂ©pertoires.
Les entrées qui commencent par
"
(double-guillemets) seront interprétées comme des chemins cités de type C, en éliminant les guillemets et les doubles guillemets et en respectant les échappements par barre oblique inverse. Par exemple, la valeur"chemin-avec-\"-et-:-a-l-interieur":chemin-simple
a deux chemins :chemin-avec-"-et-:-a-l-interieur
etchemin-simple
. -
GIT_DIR
-
Si la variable d’environnement
GIT_DIR' est définie, elle spécifie un chemin à utiliser au lieu de `.git
par dĂ©faut pour la base du dĂ©pĂ´t. L’option de ligne de commande--git-dir
définit également cette valeur. -
GIT_WORK_TREE
-
RĂ©gler le chemin vers la racine de l’arbre de travail. Cela peut Ă©galement ĂŞtre contrĂ´lĂ© par l’option de ligne de commande
--work-tree
et la variable de configuration de core.worktree. -
GIT_NAMESPACE
-
DĂ©finir l’espace de nom Git ; voir gitnamespaces[7] pour plus de dĂ©tails. L’option de ligne de commande
--namespace
définit également cette valeur. -
GIT_CEILING_DIRECTORIES
-
Cela devrait ĂŞtre une liste des chemins absolus sĂ©parĂ©s par des caractères deux point. Si elle est dĂ©finie, il s’agit d’une liste de rĂ©pertoires que Git ne devrait pas visiter pendant la recherche d’un rĂ©pertoire de dĂ©pĂ´t (utile pour exclure les rĂ©pertoires sur rĂ©seau lents). Elle n’exclura pas le rĂ©pertoire de travail actuel ou un GIT_DIR indiquĂ© sur la ligne de commande ou dans l’environnement. Normalement, Git doit lire les entrĂ©es dans cette liste et rĂ©soudre tout lien symbolique qui pourrait ĂŞtre prĂ©sent pour les comparer avec le rĂ©pertoire courant. Cependant, si mĂŞme cet accès est lent, vous pouvez ajouter une entrĂ©e vide Ă la liste pour dire Ă Git que les entrĂ©es subsĂ©quentes ne sont pas des liens symboliques et ne doivent pas ĂŞtre rĂ©solues ; par exemple,
GIT_CEILING_DIRECTORIES=/peutetre/symlink://non/symlink/mais/lent
. -
GIT_DISCOVERY_ACROSS_FILESYSTEM
-
Lorsque Git se trouve dans un rĂ©pertoire qui n’a pas de rĂ©pertoire ".git", Git tente de trouver un tel rĂ©pertoire dans les rĂ©pertoires parent pour trouver le sommet de l’arbre de travail, mais par dĂ©faut il ne dĂ©passe pas les limites du système de fichiers actuel. Cette variable d’environnement BoolĂ©enne peut ĂŞtre dĂ©finie Ă true pour dire Ă Git de ne pas s’arrĂŞter aux limites des systèmes de fichiers. Comme
GIT_CEILING_DIRECTORIES
, cela n’affectera pas un rĂ©pertoire de dĂ©pĂ´t explicite indiquĂ© viaGIT_DIR
ou sur la ligne de commande. -
GIT_COMMON_DIR
-
Si cette variable est dĂ©finie comme un chemin, les fichiers hos de l’arbre-de-travail qui sont normalement dans $GIT_DIR seront pris depuis ce chemin Ă la place. Les fichiers spĂ©cifiques Ă des arbres-de-travail tels que HEAD ou index sont extraits de $GIT_DIR. Voir gitrepository-layout[5] et git-worktree[1] pour plus de dĂ©tails. Cette variable a une prĂ©sĂ©ance infĂ©rieure Ă d’autres variables de chemin comme GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY…
-
GIT_DEFAULT_HASH
-
Si cette variable est dĂ©finie, l’algorithme d’empreinte par dĂ©faut pour les nouveaux dĂ©pĂ´ts sera dĂ©fini Ă cette valeur. Cette valeur est ignorĂ©e lors du clonage et le rĂ©glage du dĂ©pĂ´t distant est toujours utilisĂ©. La valeur par dĂ©faut est "sha1". Voir
--object-format
dans git-init[1]. -
GIT_DEFAULT_REF_FORMAT
-
Si cette variable est définie, le format du moteur de réferences par défaut pour les nouveaux dépôts sera défini à cette valeur. La valeur par défaut est "files". Voir
--ref-format
dans git-init[1].
Commits Git
-
GIT_AUTHOR_NAME
-
Le nom lisible utilisĂ© dans l’identitĂ© de l’auteur lors de la crĂ©ation d’objets de commit ou d’Ă©tiquette, ou lors de l’Ă©criture des reflogs. Surcharge les paramètres de configuration
user.name
etauthor.name
. -
GIT_AUTHOR_EMAIL
-
L’adresse courriel utilisĂ©e dans l’identitĂ© de l’auteur lors de la crĂ©ation d’objets commit ou Ă©tiquette, ou lors de l’Ă©criture de reflogs. Surcharge les paramètres de configuration
user.email
etauthor.email
. -
GIT_AUTHOR_DATE
-
La date utilisĂ©e pour l’identitĂ© de l’auteur lors de la crĂ©ation d’objets commit ou Ă©tiquette, ou lors de l’Ă©criture de reflogs. Voir git-commit[1] pour les formats valides.
-
GIT_COMMITTER_NAME
-
Le nom lisible utilisĂ© dans l’identitĂ© du validateur lors de la crĂ©ation d’objets commit ou Ă©tiquette, ou lors de l’Ă©criture de reflogs. Surcharge les paramètres de configuration
user.name
etcommitter.name
. -
GIT_COMMITTER_EMAIL
-
L’adresse courriel utilisĂ©e dans l’identitĂ© de l’auteur lors de la crĂ©ation d’objets commit ou Ă©tiquette, ou lors de l’Ă©criture de reflogs. Surcharge les paramètres de configuration
user.email
etcommitter.email
. -
GIT_COMMITTER_DATE
-
La date utilisĂ©e pour l’identitĂ© du validateur lors de la crĂ©ation d’objets commit ou Ă©tiquette, ou lors de l’Ă©criture de reflogs. Voir git-commit[1] pour les formats valides.
-
EMAIL
-
L’adresse de courriel utilisĂ©e dans les identitĂ©s de l’auteur et du validateur si aucune autre variable d’environnement ou configuration pertinente n’a Ă©tĂ© dĂ©finie.
Diffs Git
-
GIT_DIFF_OPTS
-
Seul le paramètre valide est "--unified=??" ou "-u??" pour dĂ©finir le nombre de lignes de contexte affichĂ©es lors de la crĂ©ation d’une diff unifiĂ©e. Cela a prĂ©sĂ©ance sur toute valeur d’option "-U" ou "--unified" passĂ©e sur la ligne de commande Git diff.
-
GIT_EXTERNAL_DIFF
-
Lorsque la variable d’environnement
GIT_EXTERNAL_DIFF
est dĂ©finie, le programme nommĂ© par elle est appelĂ© pour gĂ©nĂ©rer des diffs, et Git n’utilise pas sa machinerie de diff intĂ©grĂ©e. Pour un chemin qui est ajoutĂ©, enlevĂ© ou modifiĂ©,GIT_EXTERNAL_DIFF
est appelé avec 7 paramètres :chemin vieux-fichier vieux-hex vieux-mode nouveau-fichier nouveau-hex nouveau-mode
où :
- vieux-fichier et nouveau-fichier
-
sont des fichiers que GIT_EXTERNAL_DIFF peut utiliser pour lire le contenu de vieux et nouveau
- vieux-hex et nouveau-hex
-
sont les empreintes SHA-1 de 40 caractère hexadécimaux,
- vieux-mode et nouveau-mode
-
sont la représentation octale des modes de fichiers.
Les paramètres de fichier peuvent indiquer le fichier de travail de l’utilisateur (par exemple
nouveau-fichier
dans "git-diff-files"),/dev/null
(par exemplevieux-fichier
quand un nouveau fichier est ajouté), ou un fichier temporaire (par exemplevieux-fichier
dans l’index).GIT_EXTERNAL_DIFF
n’a pas Ă se soucier de supprimer le fichier temporaire --il le sera quandGIT_EXTERNAL_DIFF
se terminera.Pour un chemin qui n’est pas fusionnĂ©,
GIT_EXTERNAL_DIFF
est appelé avec 1 paramètre, <chemin>.Pour chaque chemin
GIT_EXTERNAL_DIFF
appelé, deux variables d`environnement,GIT_DIFF_PATH_COUNTER
etGIT_DIFF_PATH_TOTAL
sont définies. -
GIT_EXTERNAL_DIFF_TRUST_EXIT_CODE
-
If this Boolean environment variable is set to true then the
GIT_EXTERNAL_DIFF
command is expected to return exit code 0 if it considers the input files to be equal or 1 if it considers them to be different, likediff(1)
. If it is set to false, which is the default, then the command is expected to return exit code 0 regardless of equality. Any other exit code causes Git to report a fatal error. -
GIT_DIFF_PATH_COUNTER
-
Un compteur basĂ© sur 1 incrĂ©mentĂ© d’un pour chaque chemin.
-
GIT_DIFF_PATH_TOTAL
-
Le nombre total de chemins.
autre
-
GIT_MERGE_VERBOSITY
-
Un nombre contrôlant la quantité de production affichée par la stratégie de fusion récursive. Surcharge merge.verbosity. Voir git-merge[1]
-
GIT_PAGER
-
Cette variable d’environnement remplace
$PAGER
. Si elle est dĂ©finie Ă une chaĂ®ne vide ou Ă la valeur "cat", Git ne lancera pas de pager. Voir aussi l’optioncore.pager
dans git-config[1]. -
GIT_PROGRESS_DELAY
-
Un nombre qui contrĂ´le le nombre de secondes Ă retarder avant d’afficher des indicateurs de progrès optionnels. Valeur par dĂ©faut Ă 2.
-
GIT_EDITOR
-
Cette variable d’environnement remplace
$EDITOR
et$VISUAL
. Elle est utilisĂ©e par plusieurs commandes Git lorsque, en mode interactif, un Ă©diteur doit ĂŞtre lancĂ©. Voir aussi git-var[1] et l’optioncore.editor
dans git-config[1]. -
GIT_SEQUENCE_EDITOR
-
Cette variable d’environnement remplace l’Ă©diteur Git configurĂ© lors de l’Ă©dition de la liste de todo d’un rebasage interactif. Voir aussi git-rebase[1] et l’option
sequence.editor
dans git-config[1]. -
GIT_SSH
-
GIT_SSH_COMMAND
-
Si l’une de ces variables d’environnement est dĂ©finie, git fetch et git push utiliseront la commande spĂ©cifiĂ©e au lieu de ssh lorsqu’elles doivent se connecter Ă un système distant. Les paramètres de ligne de commande passĂ©s Ă la commande configurĂ©e sont dĂ©terminĂ©s par la variante de ssh. Voir l’option
ssh.variant
dans git-config[1] pour plus de détails.$GIT_SSH_COMMAND
a priorité sur$GIT_SSH
, et est interprĂ©tĂ© par le shell, ce qui permet d’inclure des arguments supplĂ©mentaires. ‘$GIT_SSH’ d’autre part doit ĂŞtre juste le chemin vers un programme (qui peut ĂŞtre un script shell d’emballage, si des arguments supplĂ©mentaires sont nĂ©cessaires).Habituellement, il est plus facile de configurer toutes les options souhaitĂ©es Ă travers votre fichier
.ssh/config
personnel. Veuillez consulter votre documentation pour plus de détails. -
GIT_SSH_VARIANT
-
Si cette variable d’environnement est dĂ©finie, elle remplace l’autodĂ©tection de Git pour dĂ©finir si
GIT_SSH
/GIT_SSH_COMMAND
/core.sshCommand
se réfère à OpenSSH, plink ou tortoiseplink. Cette variable remplace le paramètre de configurationssh.variant
qui sert le mĂŞme but. -
GIT_SSL_NO_VERIFY
-
RĂ©gler et exporter de cette variable d’environnement avec n’importe quelle valeur indique Ă Git de ne pas vĂ©rifier le certificat SSL lors de la rĂ©cupĂ©ration ou de la poussĂ©e sur HTTPS.
-
GIT_ATTR_SOURCE
-
DĂ©finit l’arbre-esque dont gitattributes sera lu.
-
GIT_ASKPASS
-
Si cette variable d’environnement est dĂ©finie, les commandes Git qui doivent acquĂ©rir des mots de passe ou des phrases de passe (p. ex. pour l’authentification HTTP ou IMAP) appellent ce programme avec un prompt appropriĂ© comme argument de ligne de commande et lisent le mot de passe de son STDOUT. Voir aussi l’option
core.askPass
dans git-config[1]. -
GIT_TERMINAL_PROMPT
-
Si cette variable d’environnement boolĂ©enne est dĂ©finie Ă false, git ne posera pas de questions sur le terminal (p. ex., lors de la demande d’authentification HTTP).
-
GIT_CONFIG_GLOBAL
-
GIT_CONFIG_SYSTEM
-
Prendre la configuration à partir des fichiers donnés au lieu des fichiers de configuration globaux ou au niveau système. Si
GIT_CONFIG_SYSTEM
est défini, le fichier de configuration du système défini au moment de la compilation (généralement/etc/gitconfig
) ne sera pas lu. De mĂŞme, siGIT_CONFIG_GLOBAL
est défini, ni$HOME/.gitconfig
ni$XDG_CONFIG_HOME/git/config
ne seront pas lus. Peut ĂŞtre dĂ©fini Ă/dev/null
pour sauter les fichiers de configuration du niveau correspondant. -
GIT_CONFIG_NOSYSTEM
-
Indique qu’il faut sauter la lecture des paramètres du fichier au niveau système
$(prefix)/etc/gitconfig
. Cette variable d’environnement boolĂ©enne peut ĂŞtre utilisĂ©e avec$HOME
et$XDG_CONFIG_HOME
pour crĂ©er un environnement prĂ©visible pour un script pointilleux, ou vous pouvez la dĂ©finir Ă true pour Ă©viter temporairement d’utiliser un fichier/etc/gitconfig
buggĂ© en attendant que quelqu’un avec suffisamment de permissions puisse le rĂ©parer. -
GIT_FLUSH
-
Si cette variable d’environnement est dĂ©finie Ă "1", alors les commande telles que git blame (en mode diffĂ©rentiel), git rev-list, git log, git check-attr et git check-ignore forceront un vidage du flux de sortie après que chaque enregistrement a Ă©tĂ© Ă©crit. Si cette variable est dĂ©finie Ă "0", la sortie de ces commandes sera faite en utilisant des E/S complètement tamponnĂ©s. Si cette variable d’environnement n’est pas rĂ©glĂ©e, Git choisira un vidage Ă chaque tampon ou Ă chaque enregistrement selon que stdout semble ĂŞtre redirigĂ© vers un fichier ou non.
-
GIT_TRACE
-
Active des messages gĂ©nĂ©raux de trace, comme par exemple l’expansion d’alias, l’exĂ©cution de commandes intĂ©grĂ©es et l’exĂ©cution de commandes externes.
Si cette variable est définie à "1, "2" ou "true" (la comparaison est insensible à la casse), les messages de trace seront imprimés sur stderr.
Si la variable est dĂ©finie Ă une valeur entière supĂ©rieure Ă 2 et infĂ©rieure Ă 10 (strictement) alors Git interprĂ©tera cette valeur comme un descripteur de fichier ouvert et tentera d’Ă©crire les messages de trace dans ce descripteur de fichier.
Sinon, si la variable est dĂ©finie Ă un chemin absolu (dĂ©marrant avec un caractère /), Git l’interprĂ©tera comme un chemin de fichier et tentera d’y ajouter les messages de trace.
Désinitialiser la variable, ou la définir à vide, "0" ou "false" (casse insensible) désactive les messages de trace.
-
GIT_TRACE_FSMONITOR
-
Permet de tracer des messages pour l’extension de moniteur du système de fichiers. Voir
GIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_PACK_ACCESS
-
Active la trace des messages pour tous les accès aux paquets. Pour chaque accès, le nom du fichier paquet et un décalage dans le paquet sont enregistrés. Cela peut être utile pour résoudre certains problèmes de performance liés aux paquets. Voir
GIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_PACKET
-
Active les messages de trace pour tous les paquets entrant ou sortant d’un programme donnĂ©. Cela peut aider Ă dĂ©boguer la nĂ©gociation d’objets ou d’autres questions de protocole. Le traçage est dĂ©sactivĂ© dans un paquet commençant par "PACK" (mais voir
GIT_TRACE_PACKFILE
ci-dessous). VoirGIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_PACKFILE
-
Active la trace des paquets envoyĂ©s ou reçus par un programme donnĂ©. Contrairement Ă d’autres sorties de trace, cette trace est verbatim : pas d’en-tĂŞtes, et pas de citation de donnĂ©es binaires. Vous voulez presque certainement diriger cette sortie dans un fichier (par exemple,
GIT_TRACE_PACKFILE=/tmp/mon.pack
) plutĂ´t que de l’afficher sur le terminal ou de le mĂ©langer avec d’autres sorties de trace.Notez que ce n’est actuellement mis en Ĺ“uvre que pour le cĂ´tĂ© client des clonages et des rĂ©cupurations.
-
GIT_TRACE_PERFORMANCE
-
Active les messages de trace liĂ©s Ă la performance, par exemple le temps d’exĂ©cution total de chaque commande Git. Voir
GIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_REFS
-
Active les messages de trace pour les opérations sur la base de données de références. Voir
GIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_SETUP
-
Active les messages de trace .git, l’arbre de travail et le rĂ©pertoire de travail courant après que Git a terminĂ© sa phase de configuration. Voir
GIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_SHALLOW
-
Active les messages de trace qui peuvent aider à déboguer des récupérations / clonage de dépôts superficiels. Voir
GIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_CURL
-
Permet un traçage complet par curl de toutes les données entrantes et sortantes, y compris les informations descriptives, du protocole de transport git. Ceci est similaire à faire du curl
--trace-ascii
sur la ligne de commande. VoirGIT_TRACE
pour les options de sortie de trace disponibles. -
GIT_TRACE_CURL_NO_DATA
-
Lorsqu’une trace de curl est activĂ©e (voir
GIT_TRACE_CURL
ci-dessus), ne pas dĂ©charger les donnĂ©es (c’est-Ă -dire que seules les lignes d’info et les en-tĂŞtes sont tracĂ©s). -
GIT_TRACE2
-
Active des messages de trace plus détaillés par la bibliothèque "trace2". La sortie de
GIT_TRACE2
est un simple format texte pour consommation humaine.Si cette variable est définie à "1, "2" ou "true" (la comparaison est insensible à la casse), les messages de trace seront imprimés sur stderr.
Si la variable est dĂ©finie Ă une valeur entière supĂ©rieure Ă 2 et infĂ©rieure Ă 10 (strictement) alors Git interprĂ©tera cette valeur comme un descripteur de fichier ouvert et tentera d’Ă©crire les messages de trace dans ce descripteur de fichier.
Sinon, si la variable est dĂ©finie Ă un chemin absolu (dĂ©marrant avec un caractère /), Git l’interprĂ©tera comme un chemin de fichier et tentera d’y ajouter les messages de trace. Si le chemin existe dĂ©jĂ et est un rĂ©pertoire, les messages de trace seront Ă©crits sur des fichiers (un par processus) dans ce rĂ©pertoire, nommĂ©s selon le dernier composant du SID et un compteur optionnel (pour Ă©viter les collisions de nom de fichier).
En outre, si la variable est dĂ©finie Ă
af_unix:[<type-de-socket>]<chemin-absolu>, Git va essayer d'ouvrir le chemin en tant que socket de domaine Unix. Le type de socket peut ĂŞtre soit `stream
oudgram
.Désinitialiser la variable, ou la définir à vide, "0" ou "false" (casse insensible) désactive les messages de trace.
Voir la documentation de Trace2 pour tous les détails.
-
GIT_TRACE2_EVENT
-
Ce rĂ©glage Ă©crit un format JSON adaptĂ© Ă l’interprĂ©tation automatique. Voir
GIT_TRACE2
pour les options de sortie de trace disponibles et la documentation de Trace2 pour tous les détails. -
GIT_TRACE2_PERF
-
En plus des messages texte disponibles dans
GIT_TRACE2
, ce paramètre écrit un format à colonne pour comprendre les régions de nidification. VoirGIT_TRACE2
pour les options de sortie de trace disponibles et la documentation de Trace2 pour tous les détails. -
GIT_TRACE_REDACT
-
Par dĂ©faut, lorsque le traçage est activĂ©, Git caviarde les valeurs des cookies, l’en-tĂŞte "Authorization:", l’en-tĂŞte "Proxy-Authorization:" et les URIs de paquets. DĂ©finissez cette variable d’environnement boolĂ©enne Ă false pour empĂŞcher ce caviardage.
-
GIT_NO_REPLACE_OBJECTS
-
RĂ©gler et exporter cette variable d’environnement indique Ă Git d’ignorer les rĂ©fs de remplacement et de ne pas remplacer les objets Git.
-
GIT_LITERAL_PATHSPECS
-
RĂ©gler cette variable d’environnement boolĂ©enne Ă true va forcer Git Ă traiter tous les spĂ©cificateurs de chemin littĂ©ralement, plutĂ´t que comme des motifs glob. Par exemple, exĂ©cuter
GIT_LITERAL_PATHSPECS=1 git log -- `\*.c
cherchera des commits qui touchent le chemin*.c
, pas des chemins auquels le glob*.c
correspond. Vous pourriez vouloir cela si vous fournissez des chemins littéraux vers Git (p. ex., des chemins précédemment donnés pargit ls-tree
,--raw
sortie diff, etc.). -
GIT_GLOB_PATHSPECS
-
RĂ©gler cette variable d’environnement boolĂ©enne Ă true va indiquer Ă Git de traiter tous les spĂ©cificateurs de chemin comme des motifs glob (aka magie "glob").
-
GIT_NOGLOB_PATHSPECS
-
RĂ©gler cette variable d’environnement boolĂ©enne Ă vrai indique Ă Git de traiter tous les spĂ©cificateurs de chemin comme littĂ©ral (aka magie "littĂ©rale").
-
GIT_ICASE_PATHSPECS
-
RĂ©gler cette variable d’environnement boolĂ©enne Ă true va indiquer Ă Git de traiter tous les spĂ©cificateurs de chemins comme insensibles Ă la casse.
-
GIT_NO_LAZY_FETCH
-
RĂ©gler cette variable d’environnement boolĂ©enne Ă true va indiquer Ă Git de ne pas rĂ©cupĂ©rer Ă la demande les objets manquants depuis le distant prometteur.
-
GIT_REFLOG_ACTION
-
Lorsqu’une rĂ©f est mis Ă jour, des entrĂ©es de reflog sont crĂ©Ă©es pour suivre la raison pour laquelle la rĂ©f a Ă©tĂ© mise Ă jour (ce qui est gĂ©nĂ©ralement le nom de la commande de haut niveau qui a mis Ă jour la rĂ©f), en plus des anciennes et nouvelles valeurs de la rĂ©f. Une commande scriptĂ©e de porcelaine peut utiliser la fonction set_reflog_action helper dans
git-sh-setup
pour dĂ©finir son nom Ă cette variable lorsqu’elle est invoquĂ©e comme commande de niveau supĂ©rieur par l’utilisateur final, pour l’enregistrer dans le corps du reflog. -
GIT_REF_PARANOIA
-
Si cette variable d’environnement boolĂ©enne est dĂ©finie Ă false, ignorer les rĂ©fs cassĂ©es ou mal nommĂ©es lors de l’itĂ©ration sur les listes de rĂ©fs. Habituellement, Git tentera d’inclure tous ces rĂ©fs, ce qui peut entraĂ®ner l’Ă©chec de certaines opĂ©rations. Cela est gĂ©nĂ©ralement prĂ©fĂ©rable, car il vaut mieux abandonner les opĂ©rations potentiellement destructrices (par exemple, git-prune[1]) plutĂ´t que d’ignorer les rĂ©fs cassĂ©es (et donc considĂ©rer l’histoire qu’elles pointent comme inutiles Ă sauver). La valeur par dĂ©faut est
1
(c’est-Ă -dire ĂŞtre paranoĂŻaque sur la dĂ©tection et abandon de toutes les opĂ©rations). Vous ne devriez normalement pas avoir besoin de dĂ©finir ceci Ă0
, mais ceci peut ĂŞtre utile quand vous essayez de sauver des donnĂ©es d’un dĂ©pĂ´t corrompu. -
GIT_COMMIT_GRAPH_PARANOIA
-
When loading a commit object from the commit-graph, Git performs an existence check on the object in the object database. This is done to avoid issues with stale commit-graphs that contain references to already-deleted commits, but comes with a performance penalty.
The default is "false", which disables the aforementioned behavior. Setting this to "true" enables the existence check so that stale commits will never be returned from the commit-graph at the cost of performance.
-
GIT_ALLOW_PROTOCOL
-
Si elle est définie comme une liste de protocoles séparés par des deux-points, se comporter comme si
protocol.allow
est dĂ©fini Ănever
, et définitprotocol.<nom>.allow
de chacun des protocoles Ă©numĂ©rĂ©s Ăalways
(ce qui surcharge toute configuration existante). Voir la description deprotocol.allow
dans git-config[1] pour plus de détails. -
GIT_PROTOCOL_FROM_USER
-
DĂ©finir cette variable d’environnement boolĂ©enne Ă false pour empĂŞcher les protocoles utilisĂ©s par fetch/push/clone qui sont configurĂ©s Ă l’Ă©tat
utilisateur
. Ceci est utile pour limiter l’initialisation rĂ©cursive des sous-modules Ă partir d’un dĂ©pĂ´t non fiable ou pour des programmes qui fournissentdes URLS potentiellement non fiables aux commandes git. Voir git-config[1] pour plus de dĂ©tails. -
GIT_PROTOCOL
-
Pour usage interne seulement. Utilisé pour établir la liaison en protocole filaire. Contient une liste séparée par deux-point : des clés avec des valeurs facultatives <clé>[=<valeur>]. La présence de clés et de valeurs inconnues doit être ignorée.
Notez que les serveurs peuvent devoir ĂŞtre configurĂ©s pour permettre Ă cette variable de passer sur certains transports. Elle sera propagĂ©e automatiquement lors de l’accès aux dĂ©pĂ´ts locaux (c’est-Ă -dire
file:// ' ou un chemin de système de fichiers), ainsi que via le protocole `git://
. Pour git-over-http, elle devrait fonctionner automatiquement dans la plupart des configurations, mais voir la discussion dans git-http-backend[1]. Pour git-over-ssh, le serveur ssh peut être configuré pour permettre aux clients de passer cette variable (par exemple, en utilisantAcceptEnv GIT_PROTOCOL
avec OpenSSH).Cette configuration est facultative. Si la variable n’est pas propagĂ©e, les clients retomberont sur le protocole original "v0" (mais ils peuvent manquer certaines amĂ©liorations ou caractĂ©ristiques de performance). Cette variable n’affecte actuellement que les clonages et les rĂ©cupĂ©rations ; elle n’est pas encore utilisĂ©e pour les poussĂ©es (mais peut-ĂŞtre Ă l’avenir).
-
GIT_OPTIONAL_LOCKS
-
Si cette variable d’environnement boolĂ©enne est dĂ©finie Ă false, Git effectuera toute opĂ©ration demandĂ©e sans effectuer de sous-opĂ©rations facultatives qui nĂ©cessitent un verrouillage. Par exemple, cela empĂŞchera
git status
de rafraĂ®chir l’index comme effet secondaire. Ceci est utile pour les processus fonctionnant en arrière-plan qui ne veulent pas provoquer la contention de verrouillage avec d’autres opĂ©rations sur le dĂ©pĂ´t. Par dĂ©faut Ă1
. -
GIT_REDIRECT_STDIN
-
GIT_REDIRECT_STDOUT
-
GIT_REDIRECT_STDERR
-
Windows seulement : permettre de rediriger les sockets standard d’entrĂ©e/sortie/erreur sur les chemins spĂ©cifiĂ©s par les variables d’environnement. Ceci est particulièrement utile dans les applications multithread oĂą le moyen canonique de passer les poignĂ©es standard via
CreateProcess()
n’est pas possible parce qu’il exigerait que les poignĂ©es soient hĂ©ritĂ©es (et par consĂ©quent *chaque processus dĂ©marrĂ© en hĂ©riterait, en bloquant Ă©ventuellement les opĂ©rations rĂ©gulières de Git). Le principal cas d’utilisation prĂ©vu est d’utiliser des tuyaux nommĂ©s pour la communication (par exemple\\.\pipe\mon-git-stdin-123
).Deux valeurs spéciales sont supportées :
off
va tout simplement fermer la poignée standard correspondante, et siGIT_REDIRECT_STDERR
est2>&1
, l’erreur standard sera redirigĂ©e vers la mĂŞme poignĂ©e que la sortie standard. -
GIT_PRINT_SHA1_ELLIPSIS
(obsolète) -
Si elle est dĂ©finie Ă
oui
, afficher une ellipse suivant une valeur SHA-1 (abrĂ©gĂ©e). Cela affecte les indications des HEAD dĂ©tachĂ©es (git-checkout[1]) et la sortie diff brute (git-diff[1]). L’impression d’une ellipse dans les cas mentionnĂ©s n’est plus considĂ©rĂ©e comme adĂ©quate et la gestion est susceptible d’ĂŞtre retirĂ©e dans un avenir prĂ©visible (ainsi que la variable). -
GIT_ADVICE
-
If set to
0
, then disable all advice messages. These messages are intended to provide hints to human users that may help them get out of problematic situations or take advantage of new features. Users can disable individual messages using theadvice.*
config keys. These messages may be disruptive to tools that execute Git processes, so this variable is available to disable the messages. (The--no-advice
global option is also available, but old Git versions may fail when this option is not understood. The environment variable will be ignored by Git versions that do not understand it.)
Discussion]
Plus de détails sur ce qui suit sont disponibles dans le chapitre des concepts Git du manuel utilisateur et gitcore-tutorial[7].
Un projet Git se compose normalement d’un rĂ©pertoire de travail avec un sous-rĂ©pertoire ".git" au niveau supĂ©rieur. Le rĂ©pertoire .git contient, entre autres, une base de donnĂ©es d’objets compressĂ©s reprĂ©sentant l’historique complet du projet, un fichier "index" qui relie l’historique au contenu actuel de l’arbre de travail, et des pointeurs nommĂ©s dans cet historique comme les Ă©tiquettes et les sommets de branche.
La base de donnĂ©es d’objets contient des objets de trois types principaux : les blobs, qui contiennent des donnĂ©es de fichiers ; les arbres, qui pointent vers des blobs et d’autres arbres pour construire des hiĂ©rarchies de rĂ©pertoires ; et les commits, qui rĂ©fĂ©rencent chacun un seul arbre et un certain nombre de commits parents.
Le commit, Ă©quivalent Ă ce que d’autres systèmes appellent un « changeset » ou une « version », reprĂ©sente une Ă©tape dans l’historique du projet, et chaque parent reprĂ©sente une Ă©tape immĂ©diatement antĂ©rieure. Les commits avec plus d’un parent reprĂ©sentent des fusions de lignes de dĂ©veloppement indĂ©pendantes.
Tous les objets sont nommĂ©s par l’empreinte SHA-1 de leur contenu, normalement Ă©crite comme une chaĂ®ne de 40 chiffres hexadĂ©cimaux. De tels noms sont uniques Ă chaque objet. Tout l’historique menant Ă un commit peut ĂŞtre validĂ© en signant seulement ce commit. Un quatrième type d’objet, l’Ă©tiquette, existe Ă cette fin.
Lors de la première crĂ©ation, les objets sont stockĂ©s dans des fichiers individuels, mais peuvent plus tard ĂŞtre compressĂ©s ensemble dans des « fichiers paquet » pour plus d’efficacitĂ© .
Les pointeurs nommĂ©s appelĂ©s rĂ©fs marquent des points intĂ©ressants dans l’historique. Une rĂ©f peut contenir le nom SHA-1 d’un objet ou le nom d’une autre rĂ©f (cette dernière est appelĂ©e une "rĂ©f symbolique"). Les rĂ©fs avec des noms commençant refs/head/
contiennent le nom SHA-1 du commit le plus rĂ©cent (ou "head") d’une branche en dĂ©veloppement. Les noms SHA-1 des Ă©tiquettes intĂ©ressantes sont stockĂ©s sous refs/tags/
. Une réf symbolique nommée HEAD
contient le nom de la branche actuellement extraite.
Le fichier index est initialisĂ© avec une liste de tous les chemins et, pour chaque chemin, un objet blob et un ensemble d’attributs. L’objet blob reprĂ©sente le contenu du fichier Ă la tĂŞte de la branche actuelle. Les attributs (dernière date de modification, taille, etc.) sont prĂ©levĂ©s sur le fichier correspondant de l’arbre de travail. Les modifications subsĂ©quentes Ă l’arbre de travail peuvent ĂŞtre trouvĂ©es en comparant ces attributs. L’index peut ĂŞtre mis Ă jour avec de nouveaux contenus, et de nouveaux commits peuvent ĂŞtre crĂ©Ă©s Ă partir du contenu stockĂ© dans l’index.
L’index est Ă©galement capable de stocker plusieurs entrĂ©es (appelĂ©es « Ă©tapes ») pour un nom de chemin donnĂ©. Ces Ă©tapes sont utilisĂ©es pour contenir les diffĂ©rentes versions non fusionnĂ©es d’un fichier lorsqu’une fusion est en cours.
SÉCURITÉ
Some configuration options and hook files may cause Git to run arbitrary shell commands. Because configuration and hooks are not copied using git clone
, it is generally safe to clone remote repositories with untrusted content, inspect them with git log
, and so on.
However, it is not safe to run Git commands in a .git
directory (or the working tree that surrounds it) when that .git
directory itself comes from an untrusted source. The commands in its config and hooks are executed in the usual way.
By default, Git will refuse to run when the repository is owned by someone other than the user running the command. See the entry for safe.directory
in git-config[1]. While this can help protect you in a multi-user environment, note that you can also acquire untrusted repositories that are owned by you (for example, if you extract a zip file or tarball from an untrusted source). In such cases, you’d need to "sanitize" the untrusted repository first.
If you have an untrusted .git
directory, you should first clone it with git clone --no-local
to obtain a clean copy. Git does restrict the set of options and hooks that will be run by upload-pack
, which handles the server side of a clone or fetch, but beware that the surface area for attack against upload-pack
is large, so this does carry some risk. The safest thing is to serve the repository as an unprivileged user (either via git-daemon[1], ssh, or using other tools to change user ids). See the discussion in the SECURITY
section of git-upload-pack[1].
DOCUMENTATION SUPPLÉMENTAIRE
Voir les références dans la section "description" pour commencer à utiliser Git. Ce qui suit est probablement plus détaillé que nécessaire pour un utilisateur débutant.
Le chapitre Concepts Git du manuel d’utilisateur and gitcore-tutorial[7] fournissent tout deux des introductions Ă l’architecture sous-jacente de Git.
Voir gitworkflows[7] pour un aperçu des modes de travail recommandés.
Voir aussi les documents de howto pour quelques exemples utiles.
Le fonctionnement interne est documentĂ© dans la documentation d’API de Git.
Les utilisateurs qui migrent depuis CVS peuvent Ă©galement vouloir lire gitcvs-migration[7].
Auteurs
Git a été initialement développé par Linus Torvalds, et est actuellement maintenu par Junio C Hamano. De nombreuses contributions proviennent de la liste de diffusion de Git <git@vger.kernel.org>. https://openhub.net/p/git/contributors/summary vous donne une liste plus complète des contributeurs.
Si vous avez un clone de git.git lui-même, la sortie de git-shortlog[1] et git-blame[1] peut vous montrer les auteurs pour des parties spécifiques du projet.
Signaler des bogues
Signaler des bogues Ă la liste de diffusion de Git <git@vger.kernel.org> oĂą le dĂ©veloppement et la maintenance sont principalement effectuĂ©s. Vous n’avez pas Ă ĂŞtre abonnĂ© Ă la liste pour y envoyer un message. Voir l’archive de la liste Ă l’adresse https://lore.kernel.org/git pour les prĂ©cĂ©dents rapports sur les bogues et autres dĂ©bats.
Les questions de sécurité pertinentes devraient être divulguées en privé à la liste de diffusion de Sécurité Git <git-security@googlegroups.com>.
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 .