> ## Documentation Index
> Fetch the complete documentation index at: https://smartac-justin-client-exports.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Notions essentielles de Git pour l'éditeur

> Comprenez les concepts de contrôle de version Git derrière l'éditeur Mintlify : branches, commits, pull requests et workflows de fusion.

Git vous permet de contrôler et de suivre les modifications apportées aux fichiers. C'est le système de contrôle de version qui sous-tend les workflows basés sur des branches, où vous gérez votre contenu de la même manière que n'importe quelle autre base de code.

L'éditeur web gère les opérations Git à votre place. Comprendre quelques concepts clés vous aide à tirer le meilleur parti de l'éditeur et à collaborer efficacement avec votre équipe.

<div id="what-git-does-for-your-content">
  ## Ce que Git fait pour votre contenu
</div>

Git suit chaque modification apportée à votre contenu. Il enregistre ce qui a changé, qui l'a modifié, quand et pourquoi. Cela vous permet de :

* Voir l'historique complet de n'importe quelle page.
* Annuler des modifications en revenant à une version précédente.
* Travailler sur des mises à jour sans affecter votre site en production.
* Examiner les modifications avant leur mise en ligne.

Votre référentiel est l'ensemble des fichiers et de leur historique qui composent votre site. L'éditeur se connecte à ce référentiel pour synchroniser et publier votre contenu.

<div id="key-concepts">
  ## Concepts clés
</div>

Voici les concepts Git que vous rencontrerez le plus souvent en utilisant l'éditeur web.

<AccordionGroup>
  <Accordion title="Commit">
    Une capture enregistrée de vos modifications à un moment précis. Chaque commit inclut un message décrivant ce qui a changé et crée un enregistrement permanent dans l'historique de votre projet.

    Lorsque vous publiez des modifications, l'éditeur web crée un commit dans votre référentiel Git.
  </Accordion>

  <Accordion title="Branche">
    Une ligne de travail distincte dans votre référentiel. Parfois appelée **feature branch**.

    Votre site en production est généré à partir d'une **branche de déploiement**, généralement appelée `main`. Les autres branches vous permettent de travailler sur des modifications de manière indépendante, sans affecter votre site en production. Rien sur une branche n'est mis en ligne avant que vous ne la fusionniez dans votre branche de déploiement via une pull request.

    Basculez entre les branches à l'aide de la liste déroulante des branches dans la barre d'outils de l'éditeur. Si vous avez des modifications non publiées, l'éditeur vous permet de les transférer vers la nouvelle branche ou de les laisser sur votre branche actuelle.
  </Accordion>

  <Accordion title="Branche de déploiement">
    La branche qui génère votre site en production, généralement appelée `main`. Les modifications fusionnées dans cette branche sont automatiquement déployées sur votre site.
  </Accordion>

  <Accordion title="Pull request">
    Une proposition de fusionner des modifications d'une branche dans une autre. Les pull requests permettent à votre équipe d'examiner et de discuter les changements avant leur mise en production.

    Lorsque vous publiez des modifications sur une feature branch (ou lorsque votre référentiel exige des pull requests), l'éditeur web crée une pull request. Votre équipe examine et fusionne la pull request dans votre fournisseur Git (GitHub ou GitLab).
  </Accordion>

  <Accordion title="Fusion">
    Combinaison des modifications d'une branche dans une autre. Après qu'une pull request a été examinée et approuvée par votre équipe, la fusion de la branche intègre vos modifications dans la branche de déploiement et les publie.
  </Accordion>

  <Accordion title="Conflit">
    Se produit lorsque deux branches comportent des modifications incompatibles sur les mêmes fichiers. L'éditeur vous aide à résoudre les conflits lorsqu'ils surviennent.
  </Accordion>

  <Accordion title="Diff">
    Une comparaison montrant les différences entre deux versions d'un fichier. L'éditeur affiche un diff visuel de vos modifications en attente avant la publication, afin que vous puissiez vérifier exactement ce qui sera validé.
  </Accordion>
</AccordionGroup>

<div id="how-the-editor-maps-to-git">
  ## Correspondance entre l'éditeur et Git
</div>

Chaque action dans l'éditeur web correspond à une opération Git. Voici la référence complète :

| Action dans l'éditeur                    | Opération Git                                                                                            |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Modifier une page                        | Les modifications sont enregistrées automatiquement sur les serveurs Mintlify. Pas encore de commit Git. |
| Publier sur votre branche de déploiement | `git commit` et `git push`. Déclenche un déploiement.                                                    |
| Save in branch                           | `git commit` sur la branche de fonctionnalité actuelle.                                                  |
| Create pull request                      | `git push` et ouvre une pull request vers votre branche de déploiement.                                  |
| Merge and publish                        | Fusionne la pull request et déclenche un déploiement.                                                    |
| Créer une branche                        | `git checkout -b <branch-name>`                                                                          |
| Changer de branche                       | `git checkout <branch-name>`                                                                             |
| Push externe ou mise à jour via la CLI   | Les modifications entrantes sont synchronisées automatiquement dans l'éditeur via un three-way merge.    |
