FAQ Git : retrouvez les meilleures réponses à vos questions pour apprendre Git, de niveau débutant à expert
FAQ Git : retrouvez les meilleures réponses à vos questions pour apprendre Git, de niveau débutant à expertConsultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 110, dernière mise à jour : 19 juin 2021
- Qu’est ce que Git ?
- Que signifie Git ?
- Où trouver de la documentation pour Git ?
- Où trouver le code source de Git ?
- Quelles sont les différences entre un SCM centralisé comme Subversion et un SCM décentralisé comme Git ?
- Qu’est-ce qu’un dépôt (repository) Git ?
- Qu’est-ce qu’dépôt distant (remote) ?
- Que désignent les termes upstream et downstream ?
Git est un système de contrôle de révision décentralisé et rapide.
Il a été écrit en 2005 à l’initiative de Linus Torvalds pour gérer les sources du kernel Linux.
Il n’y a pas de réponses précises, on ne sait pas s’il s’agit d’un acronyme ou d’un mot. Le nom date de la toute première livraison du projet.
Le fichier README du projet contient quelques explications.
En argot britannique il s’agit également d’une insulte.
Le site officiel est disponible à l’adresse https://git-scm.com/. La documentation est hébergée au même endroit.
Un miroir du code du projet est hébergé sur GitHub.
Elles sont trop nombreuses pour être listées dans une FAQ, mais d’une manière générale :
- pas d’autorité centrale obligatoire ;
- un utilisateur clonant un projet dispose de la totalité de l’historique sur sa machine ;
- tout est fait hors-ligne ;
- il n’y a pas besoin d’un serveur central pour partager du code entre deux développeurs.
Il s’agit d’un répertoire versionné par Git. Ce répertoire contient à sa racine un répertoire .git incluant toutes les données liées à ce dépôt.
Un dépôt Git est donc autoporté via ce répertoire et peut être déplacé depuis le répertoire racine (pour backup ou autre).
Aucune information nécessaire à l’usage du dépôt n’est stockée à l’extérieur.
Un dépôt Git correspond généralement à un projet unique, mais ce n’est pas forcément le cas.
Certaines organisations utilisent un dépôt unique pour gérer les codes sources de tous leurs projets.
Cette stratégie est nommée la « monorepo strategy ».
C’est notamment le cas de Google qui a expliqué en détail sa stratégie lors d’une conférence en 2015.
Un dépôt est donc composé d’un répertoire .git et du répertoire de travail.
Le répertoire .git contient toutes les meta-données du dépôt.
Le répertoire de travail (le répertoire courant) reflète l’état actuel checkout par Git (un commit, une branche ou un tag).
Il est à noter qu’un dépôt Git peut être utilisé entièrement en local et cela même s’il n’est pas partagé et que vous êtes le seul utilisateur.
Il s’agit d’un dépôt nu (bare repository en anglais) servant d’espace de partage.
Il peut être local (si vous exposez vos sources depuis votre propre machine) ou distant.
Il est généralement accompagné d’un client web pour fournir une solution de gestion de projet intégrée (GitHub, GitLab, Gitblit…).
Ces termes sont souvent employés dans les conversations en anglais à propos de Git et également dans sa documentation officielle.
Upstream désigne le dépôt distant depuis lequel vous tirez des informations vers votre dépôt local (clone, pull, fetch…) ou vers lequel vous poussez des informations (push). Par conséquent, c’est la centralisation du travail de tous les contributeurs.
Downstream désigne tous les dépôts qui dépendent d’un upstream pour leur synchronisation.
Si par exemple vous avez un projet hébergé sur un site comme GitHub ou GitLab, le dépôt sur ce site est l’upstream, le dépôt officiel du projet, et chaque dépôt cloné depuis l’upstream est un downstream.