Comment fonctionne Git · Cartes mentales
Comment fonctionne Git. Une carte mentale modifiable avec des branches colorées, des idées secondaires et des liens. Les courbes montrent les liens; les flèches indiquent les relations où le sens compte.
Git est un système de contrôle de version basé sur des instantanés : chaque validation est une image complète du référentiel, liée à son parent, et les branches ne sont que des pointeurs qui se déplacent dans l'historique.
Comment fonctionne Git · Cartes mentales
Le canevas MindMap interactif de cette explication : chaque couloir, ligne et flèche ci-dessus appartient à un véritable diagramme QueryChart que vous pouvez ouvrir et modifier.
Comment lire cette carte mentale
- Commencez par le sujet central, puis suivez une branche colorée pour explorer ses idées.
- Les courbes montrent les liens; les flèches indiquent les relations où le sens compte.
Working tree
Cette branche rassemble “Developer edits files in the working directory”.
Stage
Cette branche rassemble “git add moves changes into the staging area”.
Commit history
Cette branche rassemble “A commit is a snapshot of the whole repository plus metadata — author, message, timestamp. Git only stores the delta against the parent, so history stays small.”, “Git stores the commit with a pointer to its parent”, “The branch pointer moves to the new commit”.
Share
Cette branche rassemble “The commit graph is what makes Git a distributed tool: everyone has the full history locally, and ‘push’ and ‘pull’ only exchange the missing pieces.”, “Remote repository records the new history”, “History is shared and up to date”.
Resolve conflicts
Cette branche rassemble “Git merges divergent histories automatically when the changes touch different files or lines. Only overlapping edits produce a conflict.”, “Merge conflict — developer resolves it manually”.
Liens entre les branches
Un commit est un instantané complet lié à son parent, ce qui fait de l'historique un graphique à ajout uniquement.
Une branche est un pointeur vers une validation, pas un conteneur de modifications : créer et changer de branche est bon marché pour cette raison.
La mise en scène est l'étape intermédiaire délibérée qui vous permet de choisir ce que contient un commit.
Git est distribué : tout le monde détient l'historique complet localement, et le push/pull n'échange que les pièces manquantes.
Les conflits sont l’exception, pas la règle, et lorsqu’ils surviennent, un humain les résout explicitement.
Relations et enseignements clés
- Un commit est un instantané complet lié à son parent, ce qui fait de l'historique un graphique à ajout uniquement.
- Une branche est un pointeur vers une validation, pas un conteneur de modifications : créer et changer de branche est bon marché pour cette raison.
- La mise en scène est l'étape intermédiaire délibérée qui vous permet de choisir ce que contient un commit.
- Git est distribué : tout le monde détient l'historique complet localement, et le push/pull n'échange que les pièces manquantes.
- Les conflits sont l’exception, pas la règle, et lorsqu’ils surviennent, un humain les résout explicitement.
Quand utiliser ce visuel
- Enseigner le modèle d'instantané à une équipe qui n'a jamais utilisé Git que comme séquence de commandes.
- Expliquer les branches, les fusions et les conflits via le modèle de pointeur plutôt que par des commandes mémorisées.
- Fonder un examen du flux de travail de validation et de branchement d'une équipe sur la façon dont l'historique est réellement structuré.
Comment cela fonctionne
Adapter le sujet central
Renommez le sujet pour votre projet ou votre cours.
Développer les branches
Modifiez les idées et ajoutez des exemples ou des notes.
Relier les idées
Reliez les branches; utilisez une flèche lorsque le sens est important.
Questions fréquentes
Qu’est-ce que Git et en quoi est-il différent des autres contrôles de version ?
Git est un système de contrôle de version distribué basé sur des instantanés. Chaque commit stocke une image complète du référentiel plus un pointeur vers son parent, plutôt qu'une simple liste de modifications de fichiers. Étant donné que chaque développeur dispose de l'historique complet localement, la plupart des opérations fonctionnent hors ligne et la collaboration consiste à échanger des validations avec des distants.
Qu’est-ce qu’une branche dans Git ?
Une branche est un pointeur mobile vers un commit. Lorsque vous effectuez une validation sur une branche, le pointeur avance vers la nouvelle validation ; le commit lui-même ne sait pas sur quelle branche il se trouve et ne se soucie pas de celle-ci. C'est pourquoi la création d'une branche est instantanée et pourquoi le basculement entre les branches ne modifie que l'instantané affiché par votre répertoire de travail.
Pourquoi Git a-t-il une zone de transit ?
La zone de préparation vous permet de créer délibérément un commit. Vous pouvez modifier plusieurs fichiers, transférer uniquement ceux qui vont ensemble et valider cette sélection, en laissant les travaux non liés non validés. Le répertoire de travail, la zone de préparation et le référentiel sont trois états distincts, qui correspondent exactement au pipeline dessiné par le visuel.
Comment Git résout-il les conflits de fusion ?
Lorsque deux branches modifient des fichiers différents ou des lignes différentes, Git les fusionne automatiquement. Lorsqu'ils modifient les mêmes lignes, Git ne peut pas deviner quelle version est la bonne, il marque donc le conflit et demande à un humain de choisir. Le conflit est une décision, pas un échec, c’est pourquoi le visuel le dirige vers une étape de résolution explicite avant que l’histoire ne soit partagée.
Modifier cette carte mentale dans QueryChart
Ouvrez cette carte mentale sur un espace modifiable. Déplacez les idées et ajoutez des branches et des liens.